Skip to content

Bump the GitHub Actions pinned to Node 20 runtimes - #2

Merged
AviAvni merged 1 commit into
masterfrom
chore/bump-actions
Jul 28, 2026
Merged

Bump the GitHub Actions pinned to Node 20 runtimes#2
AviAvni merged 1 commit into
masterfrom
chore/bump-actions

Conversation

@AviAvni

@AviAvni AviAvni commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Follow-up to #1, which surfaced this warning on every run:

##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are
being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4
action from to
actions/checkout v4 v7
actions/cache v4 v6
actions/upload-pages-artifact v3 v5
actions/deploy-pages v4 v5

Unchanged, because they are already on their current major and were not in the deprecation warning: taiki-e/install-action@v2, baptiste0928/cargo-install@v3, dtolnay/rust-toolchain@stable (a moving tag is that action's documented usage).

Behaviour changes handled

I read the release notes rather than bumping blind. Three mattered:

  • upload-pages-artifact@v4 stopped including dotfiles. The book contains .nojekyll (mdbook writes it) plus stray .gitignore files that src = "." drags in. Set include-hidden-files: true so this bump publishes byte-identically to before rather than quietly changing a live site. Pages deployed via Actions never runs Jekyll, so .nojekyll is almost certainly inert here — but demonstrating that is a separate change from bumping a version. Verified against the action definition that this input excludes .git/.github regardless, so it cannot over-share.
  • deploy-pages has resolved artifacts by id since v4 and documents actions: read as required. It works without it today, but that is undocumented behaviour to lean on, so the deploy job now requests that one read-only scope.
  • checkout@v7 blocks fork-PR checkout for pull_request_target and workflow_run. Neither is used here — these workflows trigger on pull_request — so it does not apply.

checkout@v5+ and cache@v5+ require runner ≥ 2.327.1; ubuntu-latest is well past it.

Test plan

The workflows test themselves. What to look for:

🤖 Generated with Claude Code

The verify run warned that actions/cache@v4 and actions/checkout@v4 target
Node.js 20 and were being forced onto Node 24. Bumped to current majors, and
took the two Pages actions along since they were behind as well:

  actions/checkout                v4 -> v7
  actions/cache                   v4 -> v6
  actions/upload-pages-artifact   v3 -> v5
  actions/deploy-pages            v4 -> v5

Left alone because they are already on their current major and were not in the
deprecation warning: taiki-e/install-action@v2, baptiste0928/cargo-install@v3,
and dtolnay/rust-toolchain@stable (a moving tag is that action's documented
usage).

Release notes read rather than bumped blind; two behaviour changes needed
handling, and one did not apply:

- upload-pages-artifact@v4 stopped including dotfiles. Set
  include-hidden-files: true so this bump publishes byte-identically to before
  instead of quietly changing a live site — mdbook emits .nojekyll, and src="."
  drags stray .gitignore files in. (Actions-based Pages never runs Jekyll, so
  .nojekyll is almost certainly inert; proving that is a separate change.) The
  input excludes .git and .github regardless, so it cannot over-share.
- deploy-pages has resolved artifacts by id since v4 and documents actions:read
  as required. It works without it today, but that is undocumented behaviour to
  be leaning on, so the deploy job now asks for that one read-only scope.
- checkout@v7 blocks fork-PR checkout for pull_request_target and workflow_run.
  Neither is used here; this repo's workflows trigger on pull_request.

checkout@v5+ and cache@v5+ need runner >= 2.327.1, which ubuntu-latest is well
past.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@AviAvni
AviAvni merged commit 4e94936 into master Jul 28, 2026
4 checks passed
@AviAvni
AviAvni deleted the chore/bump-actions branch July 28, 2026 15:14
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