chore(ci): upgrade Node 20 to Node 24 - #272
Open
slvinittomar wants to merge 4 commits into
Open
slvinittomar wants to merge 4 commits into
slvinittomar wants to merge 4 commits into
Conversation
Node 20 reached end-of-life in April 2026. This moves GitHub Actions configuration to Node 24, the active LTS (supported until April 2028). Scope is CI configuration only: package.json engines, Dockerfiles and dependency versions are unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub is deprecating the node20 Actions runtime and already force-runs these actions on Node 24, emitting a deprecation warning on every run: "Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24" Each action is moved to the LOWEST major version that declares runs.using: node24, to clear the warning with the smallest possible behavioral change rather than jumping to latest. Not bumped (no node24 release exists upstream): - FedericoCarboni/setup-ffmpeg@v3 - saucelabs/sauce-connect-action@v2 / @V3 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Author
Added: deprecated Actions runtime bumpsA second commit was pushed to this branch, widening scope beyond the Node version bump. GitHub already force-runs node20 actions on Node 24 and warns on every run:
This commit bumps 59 pinned action ref(s) in this repo to the lowest major that declares Every target was verified by reading that version's own 🤖 Generated with Claude Code |
setup-android@v4 raises its default cmdline-tools-version from 12266719 to 14742923 (cmdline-tools 20.0), which no longer ships the obsolete 'tools' package. The action's unchanged default of 'tools platform-tools' therefore fails: Warning: Failed to find package 'tools' Error: The process '.../sdkmanager' failed with exit code 1 Request only 'platform-tools' explicitly. Preferred over pinning the old cmdline-tools or reverting to @V3, both of which would keep the repo on the deprecated node20 runtime. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
sahil-mishra-sl
requested changes
Sep 16, 2026
js-build.yml and js-release.yml still labelled their setup-node step "Setup Node 20" after node-version moved to 24.x, so the GitHub Actions UI reported a version the step no longer installs. Name only — no behavioural change. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR changes
Node version
node-version:20.x→24.xDeprecated action runtimes — 59 ref(s)
These actions declare
runs.using: node20, which GitHub has deprecated and now force-runs on Node 24 with a warning on every run. Each moves to the lowest major that declaresnode24— chosen over "latest" to clear the warning with the smallest behavioral change.actions/checkoutv4v5docker/build-push-actionv5v7docker/setup-buildx-actionv3v4actions/setup-javav4v5softprops/action-gh-releasev2v3actions/setup-dotnetv4v5actions/setup-pythonv5v6actions/setup-nodev4v5android-actions/setup-androidv3v4crazy-max/ghaction-import-gpgv6v7Additional change
android-actions/setup-android@v4raises its defaultcmdline-tools-versionto 20.0, which no longer ships the obsoletetoolspackage, so its unchangedpackages: 'tools platform-tools'default fails.espresso-build.ymlandespresso-release.ymlnow requestpackages: 'platform-tools'explicitly.Files changed
.github/workflows/cypress-integration.yml.github/workflows/dotnet-build.yml.github/workflows/dotnet-release.yml.github/workflows/espresso-build.yml.github/workflows/espresso-release.yml.github/workflows/java-build.yml.github/workflows/java-release.yml.github/workflows/js-build.yml.github/workflows/js-release.yml.github/workflows/nightwatch-integration.yml.github/workflows/playwright-integration.yml.github/workflows/python-build.yml.github/workflows/python-release.yml.github/workflows/storybook-integration.yml.github/workflows/wdio-integration.ymlScope
CI configuration only.
package.json, Dockerfiles and dependency versions are unchanged.🤖 Generated with Claude Code