Skip to content

ci: bump actions off the deprecated Node 20 runtime - #318

Open
mosherBT wants to merge 2 commits into
masterfrom
chore/ci-node24-actions
Open

ci: bump actions off the deprecated Node 20 runtime#318
mosherBT wants to merge 2 commits into
masterfrom
chore/ci-node24-actions

Conversation

@mosherBT

@mosherBT mosherBT commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Why

Every Actions run is annotated with Node.js 20 is deprecated — runners force node20 actions onto Node 24 today, but the runtime is being retired. checkout (v6) and cache (v5) were already current; setup-node, upload-artifact, download-artifact and docker/login-action were not.

What Changed

  • actions/setup-node: v4 → v7 (v5 is the first node24 release)
  • actions/upload-artifact: v4 → v7 (v5 was preliminary node24 and still defaulted to node20; v6 is the first real fix)
  • actions/download-artifact: v4 → v8 (same — v6 preliminary, v7 is the real fix)
  • docker/login-action: v3 → v4 (still node20; only runs in release.yml, so it would have warned on the next release)
  • setup-pnpm* composites: added package-manager-cache: falsesetup-node v5+ auto-caches when package.json declares a packageManager (pnpm here), but these composites run setup-node before pnpm is installed and already cache the store via actions/cache

How to Test

CI on this PR should run clean with no Node 20 annotations. release.yml is only exercised on tag push.

  • Tested
  • Docs / README updated (if public API changed)

Notes

  • Breaking change
  • Requires release

GitHub is retiring node20 on Actions runners, which annotates every job
using setup-node@v4, upload-artifact@v4 and download-artifact@v4.
checkout and cache were already current; these were missed.

upload-artifact v5 and download-artifact v6 only had preliminary node24
support and still defaulted to node20, so v6/v7 respectively are the
first releases that actually clear the warning. Bumped to latest.

setup-node v5 auto-enables package-manager caching when package.json
declares a packageManager, which is pnpm here. The setup-pnpm* composites
run setup-node before pnpm exists and already cache the store themselves,
so caching is disabled explicitly rather than relying on v6 having
narrowed auto-detection to npm.

docker/login-action is also still node20 and would have warned on the
next release run.
@mosherBT mosherBT self-assigned this Aug 17, 2026
@mosherBT
mosherBT marked this pull request as ready for review August 17, 2026 19:13
@mosherBT
mosherBT requested review from a team as code owners August 17, 2026 19:13
@mosherBT
mosherBT requested a review from FranckGarnier August 17, 2026 19:13
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.

1 participant