Skip to content

chore(ci): upgrade Node 20 to Node 24 - #272

Open
slvinittomar wants to merge 4 commits into
mainfrom
chore/upgrade-node-24
Open

slvinittomar wants to merge 4 commits into
mainfrom
chore/upgrade-node-24

Conversation

@slvinittomar

@slvinittomar slvinittomar commented Sep 15, 2026

Copy link
Copy Markdown

What this PR changes

Node version

  • node-version: 20.x24.x

Deprecated 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 declares node24 — chosen over "latest" to clear the warning with the smallest behavioral change.

Action From To Refs
actions/checkout v4 v5 22
docker/build-push-action v5 v7 8
docker/setup-buildx-action v3 v4 8
actions/setup-java v4 v5 6
softprops/action-gh-release v2 v3 4
actions/setup-dotnet v4 v5 3
actions/setup-python v5 v6 3
actions/setup-node v4 v5 2
android-actions/setup-android v3 v4 2
crazy-max/ghaction-import-gpg v6 v7 1

Additional change

android-actions/setup-android@v4 raises its default cmdline-tools-version to 20.0, which no longer ships the obsolete tools package, so its unchanged packages: 'tools platform-tools' default fails. espresso-build.yml and espresso-release.yml now request packages: '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.yml

Scope

CI configuration only. package.json, Dockerfiles and dependency versions are unchanged.

🤖 Generated with Claude Code

slvinittomar and others added 2 commits September 14, 2026 14:45
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>
@slvinittomar

Copy link
Copy Markdown
Author

Added: deprecated Actions runtime bumps

A 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:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24

This commit bumps 59 pinned action ref(s) in this repo to the lowest major that declares runs.using: node24 — chosen deliberately over "latest" to clear the warning with the least behavioral change (e.g. actions/checkout@v4@v5, not @v7).

Every target was verified by reading that version's own action.yml, not assumed.

🤖 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>
Comment thread .github/workflows/js-build.yml Outdated
Comment thread .github/workflows/js-release.yml Outdated
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants