ci(ENG-3243): move action pins off the deprecated Node 20 runtime

Merged
EL
1mo ago
+4-4

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.

ActionFromToPins
actions/checkoutv2.7.0, v3.6.0v5.0.0 (08c6903)2
actions/setup-nodev1.4.6, v3.9.1v6.3.0 (53b8394)2

Compatibility

  • checkout v6 stores the persisted credential under $RUNNER_TEMP instead of .git/config; git commands 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.json declares an npm packageManager; none does here, and steps that cache already set cache:.
  • 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/checkout goes to v5 (not v6) so workflows that push keep credentials in .git/config; v6 stores them under $RUNNER_TEMP.
  • actions/setup-node v6 auto-enables caching only when package.json declares an npm packageManager; 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.