ci: move actions off the deprecated Node 20 runtime - #108
Merged
Conversation
Every action pin was old enough that the runner was already
force-migrating it to Node 24 and 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
checkout v4->v7, setup-node v4->v7, configure-pages v5->v6,
upload-pages-artifact v3->v5, deploy-pages v4->v5.
Two silent behaviour changes in these majors were checked against
this repo rather than assumed:
- setup-node v5 auto-caches when package.json has a packageManager
field, on top of an explicit cache: input. This repo has no such
field, so no package-manager-cache: false is needed.
- upload-pages-artifact v4 stopped including dotfiles by default.
A built dist/ has none, so include-hidden-files is not needed.
upload-pages-artifact and deploy-pages are a matched pair and move
together. No new permissions scopes are required.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 3cf40db0-fafb-4793-92c6-3fe2b92d70bd
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Every action in both workflows was pinned old enough that the runner was already force-migrating it and warning on every single run:
I only noticed because I read the annotations on a CI run rather than the green check.
actions/checkoutactions/setup-nodeactions/configure-pagesactions/upload-pages-artifactactions/deploy-pagesThe two changes that could have broken things quietly
These majors contain two behaviour changes that fail silently rather than loudly, so I checked both against this repo instead of assuming:
setup-nodev5 auto-caches off apackageManagerfield inpackage.json, in addition to an explicitcache:input — so you can end up with two cache cycles. This repo has nopackageManagerfield, sopackage-manager-cache: falseisn't needed.upload-pages-artifactv4 stopped bundling dotfiles by default. Ifdist/contained a.nojekyll, it would have vanished from the artifact and Jekyll would start eating underscore-prefixed paths. A builtdist/here has no dotfiles at all, soinclude-hidden-filesisn't needed.upload-pages-artifactanddeploy-pagesare a matched pair and move together. No newpermissions:scopes are required — the existingcontents: read/pages: write/id-token: writecovers all five.Not affected
checkoutv7's headline change blocks fork checkouts underpull_request_targetandworkflow_run. Neither workflow uses those triggers.Verification
npm run buildclean, both workflows still parse, and the real test is this PR's own CI run — it exercises the newcheckoutandsetup-nodeon thecijob. The Pages-specific three only run on push tomain, so those get exercised on merge.