Upgrade the github-actions package and its actions to Node.js v24#238
Merged
eason9487 merged 13 commits intoJun 12, 2026
Conversation
Change `using: node20` to `node24` for the get-release-notes, get-plugin-releases, and update-version-tags actions. This moves them off the deprecated Node 20 runtime and is a breaking change for consumers on runners older than v2.328.0.
Bump actions/setup-node to v6, which runs on Node 24, and refresh the action's README and usage examples to match.
Bump actions/checkout to v6, which runs on Node 24, and update the README usage example to @actions-v3.
Bump actions/checkout to v6 (runs on Node 24), and move the internal prepare-php reference and the README examples to @actions-v3.
Bump actions/labeler to v6 (runs on Node 24) and update the README usage example to @actions-v3.
Bump actions/github-script to v9 (runs on Node 24) and update the README usage example to @actions-v3.
Bump actions/github-script to v9 (runs on Node 24) and update the README checkout example to v6 and the usage example to @actions-v3.
Bump actions/github-script to v9 (runs on Node 24), move the internal get-release-notes reference to @actions-v3, and update the README usage example to @actions-v3.
Bump actions/cache to v5 (runs on Node 24) and update the README examples to checkout v6 and @actions-v3. shivammathur/setup-php@v2 already runs on Node 24, so it is left unchanged.
Bump upload-artifact to v7 and re-pin action-download-artifact (v21) and comment-coverage-clover (v0.17.0), all of which run on Node 24. Update the README examples to checkout v6 and @actions-v3.
Refresh the usage examples of eslint-annotation, stylelint-annotation, hook-documentation, and prepare-mysql to @actions-v3 and current external action versions (checkout v6, setup-node v6, Node 24).
Bump checkout and setup-node to v6 across the remaining jobs, pin the formatter jobs to Node 24, and add Node 24 to the prepare-node matrix (now 24, 22, 20).
github-actions package and its actions to Node.js v24
There was a problem hiding this comment.
Pull request overview
This PR upgrades the packages/github-actions action suite to run on Node.js v24 (moving off deprecated v20), updates external action dependencies to Node.js v24-compatible major versions, and aligns documentation/examples to the upcoming actions-v3.0.0 release tag.
Changes:
- Bump JS runtime actions from
using: node20tousing: node24. - Update composite actions and workflow examples to newer major versions of
actions/*dependencies (e.g., checkout/setup-node/github-script/cache/upload-artifact/labeler). - Refresh READMEs and the GitHub Actions self-test workflow to use Node.js v24 and
@actions-v3references.
Reviewed changes
Copilot reviewed 30 out of 30 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/github-actions/README.md | Updates package-level docs to state Node.js v24 is the runtime baseline. |
| packages/github-actions/actions/update-version-tags/README.md | Updates usage example to checkout v6 and @actions-v3. |
| packages/github-actions/actions/update-version-tags/action.yml | Switches JS action runtime to node24. |
| packages/github-actions/actions/stylelint-annotation/README.md | Updates workflow example to setup-node/checkout v6 and Node 24, plus @actions-v3. |
| packages/github-actions/actions/publish-extension-dev-build/README.md | Updates usage reference to @actions-v3. |
| packages/github-actions/actions/publish-extension-dev-build/action.yml | Updates internal action reference to @actions-v3 and bumps actions/github-script major. |
| packages/github-actions/actions/prepare-php/README.md | Updates checkout version and @actions-v3 references in examples. |
| packages/github-actions/actions/prepare-php/action.yml | Bumps actions/cache major version. |
| packages/github-actions/actions/prepare-node/README.md | Updates examples to checkout v6, Node 24, @actions-v3, and setup-node v6 docs link. |
| packages/github-actions/actions/prepare-node/action.yml | Bumps actions/setup-node major and updates Node version examples in input docs. |
| packages/github-actions/actions/prepare-mysql/README.md | Updates checkout version and @actions-v3 usage example. |
| packages/github-actions/actions/prepare-extension-release/README.md | Updates checkout version and @actions-v3 usage example. |
| packages/github-actions/actions/prepare-extension-release/action.yml | Bumps actions/github-script major version. |
| packages/github-actions/actions/phpcs-diff/README.md | Updates usage references to @actions-v3. |
| packages/github-actions/actions/phpcs-diff/action.yml | Bumps checkout major and updates internal prepare-php reference to @actions-v3. |
| packages/github-actions/actions/merge-trunk-develop-pr/README.md | Updates usage reference to @actions-v3. |
| packages/github-actions/actions/merge-trunk-develop-pr/action.yml | Bumps actions/github-script major version. |
| packages/github-actions/actions/hook-documentation/readme.md | Updates checkout version and @actions-v3 usage example. |
| packages/github-actions/actions/get-release-notes/README.md | Updates examples to checkout v6, @actions-v3, and bumps github-script major. |
| packages/github-actions/actions/get-release-notes/action.yml | Switches JS action runtime to node24. |
| packages/github-actions/actions/get-plugin-releases/README.md | Updates usage examples to @actions-v3. |
| packages/github-actions/actions/get-plugin-releases/action.yml | Switches JS action runtime to node24. |
| packages/github-actions/actions/eslint-annotation/README.md | Updates workflow example to setup-node/checkout v6 and Node 24, plus @actions-v3. |
| packages/github-actions/actions/coverage-report/README.md | Updates example to checkout v6 and @actions-v3. |
| packages/github-actions/actions/coverage-report/action.yml | Re-pins third-party action SHAs for Node 24-compatible releases and bumps upload-artifact major. |
| packages/github-actions/actions/branch-label/README.md | Updates usage to @actions-v3 and updates external labeler docs links to v6. |
| packages/github-actions/actions/branch-label/action.yml | Bumps actions/labeler major version. |
| packages/github-actions/actions/automerge-released-trunk/README.md | Updates usage reference to @actions-v3. |
| packages/github-actions/actions/automerge-released-trunk/action.yml | Bumps checkout major version. |
| .github/workflows/github-actions-self-test.yml | Updates self-test workflow to use checkout/setup-node v6 and run formatter/build/unit jobs on Node 24 (plus expanded prepare-node matrix). |
💡 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.
Changes proposed in this Pull Request:
Moves the
github-actionspackage and its actions to Node.js v24, off the deprecated Node.js v20 runtime. This is a breaking change for consumers, and it drives theactions-v3.0.0release.get-release-notes,get-plugin-releases,update-version-tags):using: node20is changed tonode24.actions/checkoutv6,actions/setup-nodev6,actions/github-scriptv9,actions/labelerv6,actions/cachev5,actions/upload-artifactv7.dawidd6/action-download-artifactv21,lucassabreu/comment-coverage-cloverv0.17.0.shivammathur/setup-php@v2already runs on Node.js v24 and is left unchanged.@actions-v3and to the current external action versions and Node.js v24.@actions-v3(phpcs-diff->prepare-php,publish-extension-dev-build->get-release-notes).checkoutandsetup-nodev6; theprepare-nodematrix now covers Node.js v24, v22, and v20.Detailed test instructions:
GitHub Actions Self-Testworkflow passes, with every job running on Node.js v24.packages/github-actions, runnpm ci.Additional details:
@actions-v3references are intentional forward references; they resolve onceactions-v3.0.0is released. The repo's own@actions-v2-consuming workflows and the release-handling workflows are updated in a follow-up after v3 is published.run-qit-extension,run-qit-annotate) are intentionally left unchanged; their removal is handled in a separate Pull Request.