Skip to content

ci: Move remaining Node 20 actions to their Node 24 releases - #2813

Merged
krlmlr merged 1 commit into
mainfrom
claude/node-20-revdep2-actions-i2h18b
Aug 5, 2026
Merged

ci: Move remaining Node 20 actions to their Node 24 releases#2813
krlmlr merged 1 commit into
mainfrom
claude/node-20-revdep2-actions-i2h18b

Conversation

@krlmlr

@krlmlr krlmlr commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

GitHub is retiring the Node 20 action runtime,
so every action we pin needs a release that declares runs.using: node24.

Version numbers are a poor proxy for that,
so the runtime of each pinned action was read from its upstream action.yml.
That turned up the main surprise:
actions/upload-artifact@v5 and actions/download-artifact@v6,
which this repository had already adopted,
are still Node 20 actions.
Their first Node 24 majors are v6 and v7.

Changes

Action Before After Workflows
actions/upload-artifact v5 v6 revdep2, revdep, R-CMD-check, check, commit, covr
actions/download-artifact v6 v7 revdep2, commit-suggest
actions/cache, actions/cache/restore v4 v5 revdep2
actions/checkout v3 (Node 16) v6 update-citation-cff
nick-fields/retry v3.0.2 v4.0.0 pkgdown-deploy

Each action moves to the first Node 24 major rather than the newest tag.
upload-artifact@v7 changes upload semantics
(archive: false, artifact name taken from the uploaded filename),
and download-artifact@v8 turns digest mismatches into hard errors
and stops unzipping based on the Content-Type header.
Neither buys anything here.

The update-citation-cff checkout moves to v6
to match every other workflow in the repository.

Not changed

thollander/actions-comment-pull-request in commit-suggest is Node 20,
and has no Node 24 release yet — even main still declares node20
so its pin stays as is.

Everything else already runs on Node 24 or is a composite or Docker action:
actions/checkout@v6, codecov/codecov-action, step-security/harden-runner,
hendrikmuhs/ccache-action, peter-evans/create-pull-request,
krlmlr/lock-threads, posit-dev/setup-air,
and all r-lib/actions and r-hub/actions steps.

Test plan

Every input the workflows pass was checked against the new versions:
overwrite, retention-days, if-no-files-found, compression-level
for upload-artifact;
pattern, run-id, github-token, merge-multiple for download-artifact;
restore-keys for cache;
and timeout_minutes, max_attempts, command for retry.
All are still supported, so no call sites needed adjusting.
CI exercises the artifact, cache, and checkout paths on this PR;
the revdep2 sharding path needs a manual workflow_dispatch run.

LLM disclosure: prepared with Claude Code.

  • By submitting this pull request, I assign the copyright of my contribution to The igraph development team.

https://claude.ai/code/session_01Nq9PwEbCX7HT4MqPNUn74X

GitHub is retiring the Node 20 action runtime,
and several actions we pin still shipped `runs.using: node20`.

- `actions/upload-artifact` v5 -> v6
- `actions/download-artifact` v6 -> v7
- `actions/cache` and `actions/cache/restore` v4 -> v5
- `actions/checkout` v3 -> v6 in `update-citation-cff`,
  matching every other workflow
- `nick-fields/retry` v3.0.2 -> v4.0.0

These are the first Node 24 majors of each action;
the inputs we pass are unchanged in all of them.
`thollander/actions-comment-pull-request` still has no Node 24 release,
so `commit-suggest` keeps its current pin.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Nq9PwEbCX7HT4MqPNUn74X
@krlmlr krlmlr changed the title Update GitHub Actions to latest versions ci: Move remaining Node 20 actions to their Node 24 releases Aug 5, 2026
@krlmlr
krlmlr merged commit 1563437 into main Aug 5, 2026
6 checks passed
@krlmlr
krlmlr deleted the claude/node-20-revdep2-actions-i2h18b branch August 5, 2026 23:16
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