ci(ENG-3243): move action pins off the deprecated Node 20 runtime
Merged
EL
1mo ago+4+4+0123456789-4-4-0123456789
Summary
Moves every JavaScript action in this repo's workflows that declares the Node 20 (or older) runtime to a release that runs on Node 24, removing the "Node.js 20 is deprecated" annotations GitHub adds to every job that uses one. Part of ENG-3243, which has done the same across the org.
| Action | From | To | Pins |
|---|---|---|---|
actions/checkout | v2.7.0, v3.6.0 | v5.0.0 (08c6903) | 2 |
actions/setup-node | v1.4.6, v3.9.1 | v6.3.0 (53b8394) | 2 |
Compatibility
- checkout v6 stores the persisted credential under
$RUNNER_TEMPinstead of.git/config;gitcommands keep working. Workflows here that push (git push/tag, create-pull-request, release tooling) take v5 instead, which is Node 24 but keeps the credential in.git/config, so their push path is unchanged. - setup-node v5/v6 auto-enables caching only when
package.jsondeclares an npmpackageManager; none does here, and steps that cache already setcache:. - The remaining bumps are same-major or majors whose only breaking change is Node 24 itself. All need runner v2.327.1+, which GitHub-hosted and WarpBuild runners already meet.
Testing
Workflow-only change. Steps that only run on push, release, deploy or schedule aren't exercised by this PR's CI and will first run on merge.
🤖 Generated with Claude Code
Summary by cubic
Moves the actions/checkout and actions/setup-node pins in build.yml and release.yml to releases that run on Node 24, clearing GitHub's "Node.js 20 is deprecated" job annotations.
Compatibility
actions/checkoutgoes to v5 (not v6) so workflows that push keep credentials in.git/config; v6 stores them under$RUNNER_TEMP.actions/setup-nodev6 auto-enables caching only whenpackage.jsondeclares an npmpackageManager; that isn't the case here.- Workflow-only change: steps that run only on push, release, deploy, or schedule aren't exercised by this PR's CI.