fix: bump GitHub Actions to Node 24-compatible versions (#16)#23
Merged
Conversation
GitHub forces Node 24 as the default runner runtime from 2026-06-02 (Node 20 fully removed 2026-09-16). The action and workflows still pinned Node-20 JS actions, which now emit deprecation warnings and risk breakage. Pins each action to its latest floating major tag that runs on Node 24 (verified against each action's action.yml `runs.using`): - actions/checkout@v4 -> v5 - astral-sh/setup-uv@v3 -> v7 (no floating v8 tag published; v7 is node24) - actions/setup-node@v4 -> v6 (+ build Node 20 -> 22 LTS) - actions/upload-pages-artifact@v3 -> v5 (composite) - actions/deploy-pages@v4 -> v5 Resolves #16. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the repository’s GitHub Actions pins to versions that are compatible with GitHub’s Node 24 runner runtime transition, preventing Node 20 deprecation warnings and avoiding upcoming breakage. It also updates the docs workflow’s Node version to a newer LTS for the docs build.
Changes:
- Bumped
actions/checkoutfromv4tov5in the composite action and CI/docs workflows. - Bumped
astral-sh/setup-uvfromv3tov7in the composite action and CI workflow. - Updated docs workflow to use
actions/setup-node@v6withnode-version: '22', and bumped Pages actions toupload-pages-artifact@v5anddeploy-pages@v5.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
CHANGELOG.md |
Documents the Node 24 compatibility action bumps under Unreleased. |
action.yml |
Updates the composite action’s checkout and setup-uv steps to Node 24-compatible major tags. |
.github/workflows/ci.yml |
Updates CI workflow pins for checkout and setup-uv to Node 24-compatible major tags. |
.github/workflows/docs.yml |
Updates docs workflow pins (Node setup + Pages upload/deploy) and bumps docs build Node version to 22. |
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.
Summary
Resolves #16. GitHub forced Node 24 as the default runner runtime on 2026-06-02 (three days before this PR); Node 20 is fully removed on 2026-09-16. The action and its workflows still pinned Node-20 JS actions (
actions/checkout@v4,astral-sh/setup-uv@v3, …), which now emit deprecation warnings and are on borrowed time.What changed
Each action is bumped to its latest floating major tag that runs on Node 24, verified against the action's own
runs.usingfield:actions/checkout@v4@v5astral-sh/setup-uv@v3@v7actions/setup-node(docs)@v4@v6actions/upload-pages-artifact(docs)@v3@v5actions/deploy-pages(docs)@v4@v5Files touched:
action.yml,.github/workflows/ci.yml,.github/workflows/docs.yml.Notes:
astral-sh/setup-uvpublishes no floatingv8major tag (onlyv8.0.0/.1/.2);v7is the latest floating major and already runs on Node 24, so it's the right pin to stay on the floating-major convention.checkoutpinned to@v5(first/stable Node 24 major) rather than the brand-new@v6— minimal, well-tested bump that fully satisfies the Node 24 requirement.node-version: '20' → '22'(Node 20 LTS reached EOL ~April 2026); 22 is the current LTS.Test plan
runs.usingconfirmednode24(orcomposite) before pinningcheckout@v5+setup-uv@v7end-to-end)docs/**change (or viaworkflow_dispatch)🤖 Generated with Claude Code