ci: upgrade GitHub Actions to Node 24-compatible versions#64
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Updates GitHub Actions workflow dependencies to Node 24–compatible major versions, removing Node 20 deprecation warnings and reducing risk of CI/CD breakage when GitHub-hosted runners switch default JavaScript action runtimes.
Changes:
- Bump
actions/checkoutfromv4tov6in release and Docker workflows. - Bump
actions/upload-artifactfromv4tov6in the release workflow. - Bump
actions/download-artifactfromv4tov7in the release workflow.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/release.yml | Upgrades checkout + artifact upload/download action majors to Node 24–compatible versions for the release pipeline. |
| .github/workflows/docker.yml | Upgrades checkout action major to Node 24–compatible version for the Docker build/publish pipeline. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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
GitHub Actions is deprecating Node.js 20 on hosted runners, and this repository still had a few workflow steps pinned to action majors that run on Node 20 by default. That already produces deprecation warnings today and creates risk for the release and Docker publishing paths once GitHub switches JavaScript actions to Node 24 by default.
This change upgrades the remaining affected workflow steps to majors that officially support Node 24 so the repository is aligned with GitHub's migration timeline before the default runtime flips in June 2026.
Root Cause
Most workflows in this repository had already moved to
actions/checkout@v6, but the release and Docker workflows still referenced older majors:actions/checkout@v4in the release and Docker workflowsactions/upload-artifact@v4in the release workflowactions/download-artifact@v4in the release workflowThose versions are the source of the current Node 20 deprecation warnings.
Solution
This PR updates the affected workflow steps without changing the release flow itself:
actions/checkoutusages fromv4tov6actions/upload-artifactfromv4tov6actions/download-artifactfromv4tov7The artifact download action was moved to the smallest Node 24-compatible major so the upload/download path stays aligned while avoiding a larger jump to newer behavior changes that are not needed for this fix.
User Impact
This removes the current deprecation warnings in the affected workflows and reduces the chance of release or Docker automation regressions when GitHub starts defaulting JavaScript actions to Node 24.
Validation
I ran the repository's required checks before committing:
cargo fmt --all --checkcargo clippy --workspace -- -D warningscargo test --workspaceI also verified that the edited workflow files still parse as valid YAML after the version updates.