Upgrade GitHub Actions for Node 24 compatibility#326
Conversation
bundolee
left a comment
There was a problem hiding this comment.
Thanks for the contribution! All version bumps verified — the target versions exist and are compatible with our current workflow configurations.
Approved and merging.
|
Thanks for the contribution! The version bumps look good — all targets verified. There's currently a merge conflict. Could you rebase on git fetch upstream main
git rebase upstream/main
git push --force-with-lease |
sure |
Signed-off-by: Salman Muin Kayser Chishti <13schishti@gmail.com>
e5a6a7b to
20e14a0
Compare
📝 WalkthroughWalkthroughGitHub Actions workflow files updated across three workflows to use newer major versions of standard actions: checkout, setup-java, setup-python, setup-node, upload-artifact, download-artifact, and github-script. No changes to step logic, commands, or job control flow. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/release.yml:
- Line 23: The workflow now uses actions/checkout@v6 which introduces breaking
changes in credential handling and runtime expectations; either pin back to
actions/checkout@v4 or update the workflow/runners to meet v6 requirements:
ensure the GitHub Actions runner version is >= 2.329.0, that the runner supports
git includeIf (for credentials written to $RUNNER_TEMP), and that any steps
relying on Node runtime meet Node 24 if using v5+ semantics; update the
release.yml reference (uses: actions/checkout@v6) accordingly, and add a short
validation step to exercise authenticated git operations to verify credentials
are correctly handled on your targeted runners.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: beac00ef-03aa-4371-a582-ccea5056c457
📒 Files selected for processing (3)
.github/workflows/release.yml.github/workflows/sync-docs.yml.github/workflows/test-benchmark.yml
| # ================================================================= | ||
| - name: Checkout code | ||
| uses: actions/checkout@v4 | ||
| uses: actions/checkout@v6 |
There was a problem hiding this comment.
🧩 Analysis chain
🌐 Web query:
Does actions/checkout v6 exist and what are the breaking changes between v4 and v6?
💡 Result:
Yes, actions/checkout v6 exists. The latest version is v6.0.2, released on 2026-01-09. Breaking changes between v4 and v6: From v4 to v5 (v5.0.0): Updated to Node.js 24 runtime. Requires minimum Actions Runner version v2.327.1. From v5 to v6 (v6.0.0): Changed persist-credentials to store credentials in a separate file under $RUNNER_TEMP instead of directly in the local git config. Uses git includeIf directives so git fetch/push etc. continue to work without workflow changes on GitHub-hosted runners. Requires minimum Actions Runner version v2.329.0 for Docker container actions needing authenticated git commands. Not backward-compatible with older runners or non-GitHub runners without support.
Citations:
- 1: https://github.com/actions/checkout/releases
- 2: https://github.com/actions/checkout
- 3: https://github.com/marketplace/actions/checkout
- 4: https://git.edu.yar.ru/actions/checkout/src/tag/v6.0.1/CHANGELOG.md
- 5: Explain what the change in v6 means for the end user actions/checkout#2322
- 6: https://github.com/actions/checkout/blob/main/CHANGELOG.md
Review compatibility with breaking changes in actions/checkout v6.
The upgrade from v4 to v6 includes breaking changes that require verification:
- Credential handling: v6 stores credentials in a separate file under
$RUNNER_TEMPwith gitincludeIfdirectives instead of directly in git config. This requires Actions Runner v2.329.0+. - Runtime: Node.js 24 runtime (v5+).
- Backward compatibility: Not compatible with older or non-GitHub hosted runners without git
includeIfsupport.
Verify this workflow runs on compatible runner versions and test credential handling if this workflow uses authenticated git operations.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In @.github/workflows/release.yml at line 23, The workflow now uses
actions/checkout@v6 which introduces breaking changes in credential handling and
runtime expectations; either pin back to actions/checkout@v4 or update the
workflow/runners to meet v6 requirements: ensure the GitHub Actions runner
version is >= 2.329.0, that the runner supports git includeIf (for credentials
written to $RUNNER_TEMP), and that any steps relying on Node runtime meet Node
24 if using v5+ semantics; update the release.yml reference (uses:
actions/checkout@v6) accordingly, and add a short validation step to exercise
authenticated git operations to verify credentials are correctly handled on your
targeted runners.
Upgrade all GitHub Actions to versions supporting Node.js 24, ahead of the June 2026 deprecation of Node.js 20 runners. - actions/checkout v4 → v6 - actions/setup-java v4 → v5 - actions/setup-python v5 → v6 - actions/setup-node v4 → v6 - actions/upload-artifact v4 → v7 - actions/download-artifact v4 → v8 - astral-sh/setup-uv v4 → v7 - pnpm/action-setup v4 → v5 - softprops/action-gh-release v1 → v2 Closes #326, Closes #327 Co-authored-by: Salman Chishti <salmanmkc@users.noreply.github.com>
|
Thanks again for the contribution — the version bumps were solid and well-documented. Unfortunately, our CI workflows were significantly rewritten on main since this PR was opened, making a clean rebase impractical. I've incorporated these upgrades in #346 with Apologies for the inconvenience, and thanks again! |
Upgrade all GitHub Actions to versions supporting Node.js 24, ahead of the June 2026 deprecation of Node.js 20 runners. - actions/checkout v4 → v6 - actions/setup-java v4 → v5 - actions/setup-python v5 → v6 - actions/setup-node v4 → v6 - actions/upload-artifact v4 → v7 - actions/download-artifact v4 → v8 - astral-sh/setup-uv v4 → v7 - pnpm/action-setup v4 → v5 - softprops/action-gh-release v1 → v2 Closes #326, Closes #327 Co-authored-by: Salman Chishti <salmanmkc@users.noreply.github.com>
Warning
You may currently be seeing a warning like this in your workflow runs:
The exact actions listed will vary per workflow.
Upgrades GitHub Actions to versions that support Node 24, since Node 20 is reaching EOL in April 2026.
Changes
actions/checkoutv4v6actions/download-artifactv4v8actions/github-scriptv7v8actions/setup-javav4v5actions/setup-nodev4v6actions/setup-pythonv5v6actions/upload-artifactv4v7Context
Per GitHub's announcement, Node 20 is being deprecated and runners will default to Node 24 starting June 2nd, 2026.
Notes
Worth running the workflows on a branch before merging to make sure everything still works.
Summary by CodeRabbit