Skip to content

Declare the node24 runtime - #5

Merged
Michal-Kucera merged 2 commits into
mainfrom
chore/node24-runtime
Oct 15, 2026
Merged

Michal-Kucera merged 2 commits into
mainfrom
chore/node24-runtime

Conversation

@Michal-Kucera

@Michal-Kucera Michal-Kucera commented Oct 13, 2026 •

Copy link
Copy Markdown

Description

Declares the node24 runtime instead of node20 in action.yml, restore/action.yml and save/action.yml. dist/ is untouched.

Motivation and Context

Every job using this action warns:

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

The runner already forces this exact bundle onto Node 24, and it works there. Declaring node24 makes the manifest say what actually runs and silences the warning. It does not change behaviour.

This deliberately does not rebase onto upstream actions/cache v5. That would mean re-syncing the customised github-actions-toolkit local-cache backend (see finmid-README.md), which is a much bigger change.

How Has This Been Tested?

Ran all four bundles (dist/{restore,save,restore-only,save-only}/index.js) under Node v24.18.0. Each loads its full module graph and falls back gracefully with no cache backend (cache-hit=false), the same as on Node 20.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)

Not rolled out. Consumers pin this action by SHA (backend/build, frontend workflows), so nothing changes until a tag (suggest 1.0.2) and a pin bump. finmid/actions backend/build follows separately.

CI fix (second commit)

Tests, Check dist/ and Licensed had been red since the fork (the March PR too): @actions/cache resolves to ./github-actions-toolkit/packages/cache, which CI never checked out.

  • New .github/actions/setup-toolkit checks out finmid/github-actions-toolkit at local-cache-3.2.4 (21ead9f: upstream @actions/cache 3.2.4 + the local cache client commit). This reproduces dist/ byte for byte. The toolkit's local-cache branch can't be used: its Dec 2025 merge from main doesn't compile and would add a v2 code path that bypasses the local client.
  • Tests: Jest ignores the toolkit's own suites. The e2e save→restore runs in one job, because the local backend stores archives under /cache on the runner. The proxy e2e jobs are dropped because the local backend makes no network calls.
  • Check dist/ and Licensed are inlined instead of using the upstream reusable workflows, so they can build the toolkit first. .licenses regenerated with licensed 5.1.0.

🤖 Generated with Claude Code

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
`@actions/cache` resolves to ./github-actions-toolkit/packages/cache, which CI
never checked out, so Tests, Check dist/ and Licensed have been red since the
fork. A shared setup-toolkit step now checks out finmid/github-actions-toolkit
at local-cache-3.2.4 (upstream cache 3.2.4 + the local cache client), which
rebuilds dist/ byte for byte.

- Tests: unit tests ignore the toolkit's own suites; e2e save/restore runs in
  one job, since the local backend keeps archives under /cache on the runner;
  proxy jobs dropped (the local backend makes no network calls)
- Check dist/ and Licensed: inlined so they can build the toolkit first
- .licenses regenerated with licensed 5.1.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Michal-Kucera
Michal-Kucera merged commit f6d0508 into main Oct 15, 2026
9 checks passed
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