Skip to content

Upgrade the github-actions package and its actions to Node.js v24#238

Merged
eason9487 merged 13 commits into
upgrade/nodejs-v24from
upgrade/nodejs-v24-github-actions
Jun 12, 2026
Merged

Upgrade the github-actions package and its actions to Node.js v24#238
eason9487 merged 13 commits into
upgrade/nodejs-v24from
upgrade/nodejs-v24-github-actions

Conversation

@eason9487

Copy link
Copy Markdown
Member

Changes proposed in this Pull Request:

Moves the github-actions package and its actions to Node.js v24, off the deprecated Node.js v20 runtime. This is a breaking change for consumers, and it drives the actions-v3.0.0 release.

  • JS runtime actions (get-release-notes, get-plugin-releases, update-version-tags): using: node20 is changed to node24.
  • Composite and documentation actions: external action dependencies are bumped to their Node.js v24-compatible majors:
    • actions/checkout v6, actions/setup-node v6, actions/github-script v9, actions/labeler v6, actions/cache v5, actions/upload-artifact v7.
    • SHA-pinned third-party actions are re-pinned to Node.js v24 releases: dawidd6/action-download-artifact v21, lucassabreu/comment-coverage-clover v0.17.0.
    • shivammathur/setup-php@v2 already runs on Node.js v24 and is left unchanged.
  • README usage examples are updated to @actions-v3 and to the current external action versions and Node.js v24.
  • Internal references between sibling actions are updated to @actions-v3 (phpcs-diff -> prepare-php, publish-extension-dev-build -> get-release-notes).
  • The self-test workflow runs every job on Node.js v24 with checkout and setup-node v6; the prepare-node matrix now covers Node.js v24, v22, and v20.

Detailed test instructions:

  1. On the pull request, open the Checks tab and confirm the GitHub Actions Self-Test workflow passes, with every job running on Node.js v24.
  2. Switch to Node.js v24.
  3. From packages/github-actions, run npm ci.
  4. Run npm test to see if all tests can pass.

Additional details:

  • The @actions-v3 references are intentional forward references; they resolve once actions-v3.0.0 is released. The repo's own @actions-v2-consuming workflows and the release-handling workflows are updated in a follow-up after v3 is published.
  • The QIT actions (run-qit-extension, run-qit-annotate) are intentionally left unchanged; their removal is handled in a separate Pull Request.

eason9487 added 13 commits June 12, 2026 13:32
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).
@eason9487 eason9487 self-assigned this Jun 12, 2026
@eason9487 eason9487 changed the title Upgrade the github-actions package and its actions to Node.js v24 Upgrade the github-actions package and its actions to Node.js v24 Jun 12, 2026
@eason9487 eason9487 requested a review from Copilot June 12, 2026 06:07

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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: node20 to using: 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-v3 references.

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.

Comment thread packages/github-actions/actions/prepare-node/action.yml
@eason9487 eason9487 merged commit 220f094 into upgrade/nodejs-v24 Jun 12, 2026
22 checks passed
@eason9487 eason9487 deleted the upgrade/nodejs-v24-github-actions branch June 12, 2026 06:15
@eason9487 eason9487 mentioned this pull request Jun 12, 2026
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants