Upgrade github-actions package development environment to Node.js v24#237
Merged
eason9487 merged 4 commits intoJun 11, 2026
Merged
Conversation
Raise engines.node to >=24 for the github-actions package and regenerate package-lock.json under Node 24. Only transitive dependencies move, all within the existing package.json semver ranges; direct dependency ranges are unchanged. lockfileVersion stays at 3.
Quote the glob patterns so node --test globs them itself (Node 21+) instead of relying on shell expansion, which varies by shell. The set of discovered test files is unchanged.
Change the JavaScript actions development instruction in the package README from node v20 to v24, matching the engines.node bump.
The unit-test job runs `npm test`, whose glob needs `node --test` glob support (Node 21+), so it cannot run on the root .nvmrc (still v20). Pin the two jobs reading .nvmrc (unit-test, build-check) to Node 24 and bump their checkout/setup-node to v6 (Node 24 runtimes). The node-version-file line stays commented for later restoration. Other jobs stay on Node 20 / v4 since the actions they exercise are not upgraded yet.
There was a problem hiding this comment.
Pull request overview
This PR updates the packages/github-actions development toolchain to Node.js v24, including aligning the package’s Node engine requirement, regenerating the lockfile, and adjusting tests/CI to run the package’s unit tests and build under Node 24.
Changes:
- Bump
packages/github-actionsengines.nodeto>=24and regeneratepackage-lock.jsonunder Node 24. - Adjust the unit test scripts to pass globs to
node --test(instead of relying on shell expansion). - Update CI self-test workflow to run the
unit-testandbuild-checkjobs on Node 24 and bumpcheckout/setup-nodeversions accordingly.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| packages/github-actions/README.md | Updates local development Node version guidance to v24. |
| packages/github-actions/package.json | Raises Node engine requirement and updates node --test invocation patterns. |
| packages/github-actions/package-lock.json | Lockfile regenerated under Node 24 (transitive dependency updates within ranges). |
| .github/workflows/github-actions-self-test.yml | Pins unit test + build check jobs to Node 24 and bumps actions/* versions for those jobs. |
Files not reviewed (1)
- packages/github-actions/package-lock.json: Language not supported
💡 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:
This PR moves the
github-actionspackage development environment to Node.js v24. It covers what is needed to install, build, and test the package on Node.js v24. The actions' runtime (using:) and the other custom actions are not touched here; those are upgraded separately.engines.nodeto>=24and regeneratepackage-lock.jsonunder Node.js v24. Only transitive dependencies move, all within the existing semver ranges, which accounts for the large lockfile diff.node --testexpand the test glob itself (supported since Node.js v21) instead of relying on shell expansion, whose behavior varies by shell. The set of discovered test files is unchanged.github-actions-self-test.yml, pin the two jobs that read.nvmrc(unit-test,build-check) to Node.js v24 and bump theiractions/checkoutandactions/setup-nodeto v6, which run on Node.js v24. Thenode-version-fileline is kept commented so it can be restored once the repo root.nvmrcis set to v24. The remaining jobs are left unchanged, since the actions they exercise have not been upgraded yet.Detailed test instructions:
packages/github-actions, runnpm ci.npm auditto check that there are 0 vulnerabilities.npm testto see if all tests can pass.GitHub Actions Self-Testworkflow passes, in particular theunit-testandbuild-checkjobs, which now run on Node.js v24.