What
Every CI run logs ~9 un-dismissable deprecation warnings. They come from the GitHub Actions runner's Node runtime, not from jetpack itself — jetpack has no Node (no package.json, no setup-node, the Dockerfile is just debian:trixie-slim + the binary). The runner now defaults to Node 24 and warns about actions still built on Node 20.
The actual warnings (from run 27831976272)
-
actions/checkout@v4 — built on Node 20, so the runner forces it to Node 24 and warns, on every build-matrix job (the bulk of the "9"):
##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4
-
Swatinem/rust-cache@v2 — emits Node's punycode deprecation:
(node:…) [DEP0040] DeprecationWarning: The \punycode` module is deprecated.`
Ref: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Fix
Jetpack's workflows don't need a setup-node step — the fix is to bump the offending actions to versions built on Node 22+/24:
Acceptance
- A CI run on the branch shows zero Node-deprecation warnings in the summary.
- All jobs still pass.
Note: the runner is already on Node 24; "22.x" is the floor — any action built on ≥ 22/24 clears the warnings. No setup-node is needed because jetpack executes no Node itself.
What
Every CI run logs ~9 un-dismissable deprecation warnings. They come from the GitHub Actions runner's Node runtime, not from jetpack itself — jetpack has no Node (no
package.json, nosetup-node, the Dockerfile is justdebian:trixie-slim+ the binary). The runner now defaults to Node 24 and warns about actions still built on Node 20.The actual warnings (from run 27831976272)
actions/checkout@v4— built on Node 20, so the runner forces it to Node 24 and warns, on every build-matrix job (the bulk of the "9"):Swatinem/rust-cache@v2— emits Node'spunycodedeprecation:Ref: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Fix
Jetpack's workflows don't need a
setup-nodestep — the fix is to bump the offending actions to versions built on Node 22+/24:actions/checkout@v4→actions/checkout@v5(Node 24 runtime) acrossci.yml,release.yml,pages.yml.Swatinem/rust-cache@v2→ latest release (clears thepunycodewarning).peaceiris/actions-hugo@v3(unmaintained — consider the official route orhugomods),actions/upload-pages-artifact@v3→@v4,dtolnay/rust-toolchain@stable(pin a release tag rather than the movingstable), and thedocker/*+actions/*@v4set.Acceptance
Note: the runner is already on Node 24; "22.x" is the floor — any action built on ≥ 22/24 clears the warnings. No
setup-nodeis needed because jetpack executes no Node itself.