Skip to content

Upgrade github-actions package development environment to Node.js v24#237

Merged
eason9487 merged 4 commits into
upgrade/nodejs-v24from
upgrade/nodejs-v24-gh-actions-dev-env
Jun 11, 2026
Merged

Upgrade github-actions package development environment to Node.js v24#237
eason9487 merged 4 commits into
upgrade/nodejs-v24from
upgrade/nodejs-v24-gh-actions-dev-env

Conversation

@eason9487

Copy link
Copy Markdown
Member

Changes proposed in this Pull Request:

This PR moves the github-actions package 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.

  • Raise engines.node to >=24 and regenerate package-lock.json under Node.js v24. Only transitive dependencies move, all within the existing semver ranges, which accounts for the large lockfile diff.
  • Let node --test expand 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.
  • Update the README development setup instruction from node v20 to v24.
  • In github-actions-self-test.yml, pin the two jobs that read .nvmrc (unit-test, build-check) to Node.js v24 and bump their actions/checkout and actions/setup-node to v6, which run on Node.js v24. The node-version-file line is kept commented so it can be restored once the repo root .nvmrc is set to v24. The remaining jobs are left unchanged, since the actions they exercise have not been upgraded yet.

Detailed test instructions:

  1. Switch to Node.js v24.
  2. From packages/github-actions, run npm ci.
  3. Run npm audit to check that there are 0 vulnerabilities.
  4. Run npm test to see if all tests can pass.
  5. On the pull request, open the Checks tab and confirm the GitHub Actions Self-Test workflow passes, in particular the unit-test and build-check jobs, which now run on Node.js v24.

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.

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 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-actions engines.node to >=24 and regenerate package-lock.json under 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-test and build-check jobs on Node 24 and bump checkout/setup-node versions 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.

Comment thread packages/github-actions/package.json
Comment thread .github/workflows/github-actions-self-test.yml
@eason9487 eason9487 merged commit b3636cf into upgrade/nodejs-v24 Jun 11, 2026
24 checks passed
@eason9487 eason9487 deleted the upgrade/nodejs-v24-gh-actions-dev-env branch June 11, 2026 10:52
@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