Skip to content

chore: bump action runtime to Node 24 - #202

Merged
aeaa1998 merged 2 commits into
mainfrom
claude/github-action-node-24-3bmfm4
Aug 28, 2026
Merged

chore: bump action runtime to Node 24#202
aeaa1998 merged 2 commits into
mainfrom
claude/github-action-node-24-3bmfm4

Conversation

@aeaa1998

Copy link
Copy Markdown
Contributor

Stack 1/3 — merge first.

  • 1/3 this PR — Node 24 runtime → main
  • 2/3 npm audit fixes → this branch
  • 3/3 GitHub Actions bumps → 2/3

What

Moves the action off the node16 runtime.

File Change
action.yml using: node16node24
.github/workflows/check-dist.yml setup-node 16.x24.x
.github/workflows/test.yml build job had no setup-node at all — added one pinned to 24.x so it stops inheriting the runner default
package.json @types/node ^22^24, added engines: { node: ">=24" }
tsconfig.base.json target/lib ES2022ES2024
README.md Requirements note + dev-setup Node version

dist/ is unchanged — the ES2024 target produces identical output for this code, so there is no bundle churn to review here.

Why now

This is already happening to us implicitly. The runner log on this branch says:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@08eba0b2…

Consumer impact

node16node24 is visible to consumers: self-hosted runners need runner v2.327.1 or later. GitHub-hosted runners are fine. Documented in the README.

Because of that, this release should be a minor bump (v1.1.0), not a patch. Note the repo has no floating v1 tag — consumers pin exact versions — so nobody is upgraded without opting in.

Validation

Dispatched CI on this branch, all green:

  • build-test — the test job ran the action via uses: ./, confirming node24 resolves and runs on a real runner
  • Check dist/

Also npm run all locally on Node 24.20.0: build, prettier, eslint, ncc, 15/15 tests.


🤖 Generated with Claude Code

https://claude.ai/code/session_01UTdciRVE8crbaoxq4JyXt4


Generated by Claude Code

- action.yml runs on node24
- CI workflows build and test on Node 24.x
- @types/node bumped to v24, engines set to >=24
- TypeScript target/lib bumped to ES2024
- README notes the node24 runtime requirement

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UTdciRVE8crbaoxq4JyXt4
@aeaa1998
aeaa1998 marked this pull request as ready for review August 28, 2026 17:11
@aeaa1998
aeaa1998 requested a review from weiyin August 28, 2026 17:48
Comment thread package-lock.json
"prettier-eslint": "^16.3.0",
"ts-jest": "^29.2.5",
"typescript": "^5.8.2"
},

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

nit: I feel like the engines requirement should be set to whatever version the code requires, not what version the github action runs on. We should set something here, but I feel like it's probably less than 24. Fine to roll with this though.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@weiyin Good catch, you're right. Fixed in c57e469 — dropped to the actual toolchain floor, ^18.18.0 || ^20.9.0 || >=21.1.0 (eslint 9 / typescript-eslint 8, the strictest things in here). Nothing needs 24.


Generated by Claude Code

eslint 9 and typescript-eslint 8 are the strictest constraint; nothing
in the repo requires node 24.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UTdciRVE8crbaoxq4JyXt4
@aeaa1998
aeaa1998 merged commit 21846d7 into main Aug 28, 2026
6 checks passed
@aeaa1998
aeaa1998 deleted the claude/github-action-node-24-3bmfm4 branch August 28, 2026 19:27
@aeaa1998 aeaa1998 mentioned this pull request Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants