Skip to content

ci: move the actions off the deprecated node20 runtime - #26

Merged
Hugoer merged 1 commit into
mainfrom
ci/action-runtime-node24
Sep 4, 2026
Merged

ci: move the actions off the deprecated node20 runtime#26
Hugoer merged 1 commit into
mainfrom
ci/action-runtime-node24

Conversation

@Hugoer

@Hugoer Hugoer commented Sep 4, 2026

Copy link
Copy Markdown
Owner

Closes #25.

Every CI job printed:

Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable.

actions/checkout@v4 and actions/setup-node@v4 declare runs.using: node20 in their action.yml. GitHub force-runs those on Node 24 and emits the notice. github/codeql-action@v4 was already on node24 and is untouched.

Behaviour changes

None for the package. The bumped runtime is the Node the runner uses to execute an action's own JavaScript — it is unrelated to matrix.node-version and to engines. test.yml still runs the suite on Node 22 and 24, and engines still says >=22.19; neither line is in the diff.

The only visible change is that the deprecation notice stops appearing in job logs.

Breaking changes in the skipped majors

Each was checked against these workflows:

Change Applies here?
checkout v7 blocks fork-PR checkout under pull_request_target / workflow_run No — all four workflows trigger on pull_request
checkout v6 persists credentials to a separate file No — nothing pushes from CI; types.yml only runs git diff
setup-node v6 limits automatic caching to npm No — every job already sets cache: npm explicitly

Verification

npm run lint, npm test (581 passed), npm run generate-types, npm run check-types all pass. The real check is this PR's own CI run: the four jobs should be green with no deprecation notice.

Not included

.github/skills/ci-cd-and-automation/SKILL.md still shows @v4 in its example snippets. It is vendored plugin documentation rather than CI, so it emits no warning — but it will keep suggesting the deprecated versions. There is also no .github/dependabot.yml, so nothing will catch the next runtime deprecation automatically. Both are separate changes.

actions/checkout@v4 and actions/setup-node@v4 declare runs.using: node20,
so every job printed the Node 20 deprecation notice while GitHub force-ran
them on Node 24 anyway. Both current majors declare node24.

This is the runtime the runner uses to execute an action's own JavaScript.
It is unrelated to matrix.node-version and to engines: the Node the package
is tested on is unchanged.

Nothing here trips the majors' breaking changes. checkout v7 blocks fork-PR
checkout under pull_request_target and workflow_run, and all four workflows
trigger on pull_request. checkout v6 persists credentials to a separate
file, and nothing pushes from CI. setup-node v6 limits automatic caching to
npm, and every job already sets cache: npm explicitly.

Closes #25
@Hugoer
Hugoer merged commit e82582e into main Sep 4, 2026
6 checks passed
@Hugoer
Hugoer deleted the ci/action-runtime-node24 branch September 4, 2026 08:19
@Hugoer
Hugoer restored the ci/action-runtime-node24 branch September 4, 2026 08:20
@Hugoer
Hugoer deleted the ci/action-runtime-node24 branch September 4, 2026 08:20
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.

CI: bump actions/checkout and actions/setup-node off the deprecated node20 runtime

1 participant