Skip to content

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

Merged
diemol merged 3 commits into
mainfrom
chore/upgrade-node-24
Sep 23, 2026
Merged

diemol merged 3 commits into
mainfrom
chore/upgrade-node-24

Conversation

@slvinittomar

@slvinittomar slvinittomar commented Sep 15, 2026 •

Copy link
Copy Markdown
Contributor

What this PR changes

Node version

  • node-version: '22.x' → '24.x'
  • node-version: 20 → 24
  • node-version: 22.x → 24.x

Deprecated action runtimes — 38 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
nick-invision/retry v3.0.2 v4 14
actions/checkout v4 v5 10
actions/setup-node v4 v5 4
actions/cache v4 v5 2
actions/setup-java v4 v5 2
stCarolas/setup-maven v5 v5.1 2
JamesIves/github-pages-deploy-action v4.7.3 v4.9.0 1
actions/setup-dotnet v4 v5 1
actions/setup-python v5 v6 1
peter-evans/create-pull-request v7 v8 1

Files changed

  • .github/workflows/calibreapp-image-actions.yml
  • .github/workflows/deploy-on-push-to-main.yml
  • .github/workflows/dotnet-tips.yml
  • .github/workflows/java-tips.yml
  • .github/workflows/javascript-tips.yml
  • .github/workflows/python-tips.yml
  • .github/workflows/ruby-tips.yml
  • .github/workflows/selenide-tips.yml
  • .github/workflows/serenity-js-tips.yml
  • .github/workflows/test-build.yml

Scope

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

🤖 Generated with Claude Code

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>
@netlify

netlify Bot commented Sep 15, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for elementalselenium canceled.

Name Link
🔨 Latest commit 222b74b
🔍 Latest deploy log https://app.netlify.com/projects/elementalselenium/deploys/6aaa597a6a08c50008c454d5

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
Contributor 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 38 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

test-build.yml and deploy-on-push-to-main.yml still pinned Node 22.x while
javascript-tips.yml and serenity-js-tips.yml were moved to 24 earlier in
this PR, leaving the repo split across two majors.

This repo has no .nvmrc, so each workflow carries its own pin and they can
drift independently. Align all four on Node 24.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@slvinittomar

Copy link
Copy Markdown
Contributor Author

Added: remaining workflows normalized to Node 24

A third commit was pushed to this branch.

This repo has no .nvmrc, so every workflow carries its own pin and they drift independently. The original Node 20 sweep only touched the two files that were actually on 20, leaving the repo split across two majors:

Workflow Before After
javascript-tips.yml 20 → 24 (earlier commit) 24
serenity-js-tips.yml 20 → 24 (earlier commit) 24
test-build.yml 22.x 24.x
deploy-on-push-to-main.yml '22.x' '24.x'

All four now target Node 24. The 22.x pins were pre-existing on main, not introduced by this PR — they were simply outside a scan that looked for major version 20.

🤖 Generated with Claude Code

@diemol
diemol merged commit 7913a71 into main Sep 23, 2026
5 checks passed
@diemol
diemol deleted the chore/upgrade-node-24 branch September 23, 2026 08:32
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