Skip to content

build: update action runtime to Node.js 24#176

Merged
xhyrom merged 1 commit intooven-sh:mainfrom
adam0white:node24
Mar 12, 2026
Merged

build: update action runtime to Node.js 24#176
xhyrom merged 1 commit intooven-sh:mainfrom
adam0white:node24

Conversation

@adam0white
Copy link
Contributor

GitHub Actions is deprecating Node.js 20, with Node 24 becoming the default
runner on June 2, 2026. This updates setup-bun to run on the Node 24 runtime.

Changes:

  • action.yml: node20 → node24
  • esbuild target: node20 → node24
  • @types/node: ^20 → ^24
  • @actions/* deps bumped to their Node 24-compatible versions (highest CJS-compatible releases, avoiding the ESM-only latest)

Notes:

  • The @actions/* packages were pinned to the highest CJS-compatible versions (core@2, cache@5, tool-cache@3, etc.) since esbuild outputs CJS. The next majors (core@3, cache@6) are ESM-only.
  • Other actions (checkout, cache, setup-node) shipped this as a new major.

The @actions/* bumps also resolve the punycode deprecation warning (DEP0040) that Node 24 triggers with the older dependency chain.

Closes #172
Related: #173, #174, #175

Test plan

  • bun test — 56 pass, 6 pre-existing fail (same as main)
  • bun run build — reproducible (identical checksums on rebuild)
  • bun run format — all files unchanged
  • Source audit: zero Node 24 deprecated APIs in use
  • CI matrix (ubuntu/macos/windows) validates on PR 🤞

GitHub Actions is deprecating Node.js 20, with Node 24 becoming the
default runner on June 2, 2026. This updates the action to run on
the Node 24 runtime.

Changes:
- action.yml: node20 → node24
- esbuild target: node20 → node24
- @types/node: ^20 → ^24
- @actions/* deps bumped to their Node 24-compatible versions
  (highest CJS-compatible releases, avoiding the ESM-only latest)

The @actions/* bumps also resolve the punycode deprecation warning
(DEP0040) that Node 24 triggers with the older dependency chain.

Closes #172

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@coderabbitai
Copy link

coderabbitai bot commented Mar 11, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: ab37512b-2ddc-4a14-b052-c0e6dd42bf2a

📥 Commits

Reviewing files that changed from the base of the PR and between ecf28dd and 57c4f23.

⛔ Files ignored due to path filters (3)
  • bun.lock is excluded by !**/*.lock
  • dist/cache-save/index.js is excluded by !**/dist/**
  • dist/setup/index.js is excluded by !**/dist/**
📒 Files selected for processing (2)
  • action.yml
  • package.json

Walkthrough

Updated GitHub Actions runner image and build script from Node.js 20 to 24. Upgraded @actions/* dependencies and @types/node devDependency to newer major versions compatible with Node.js 24 runtime.

Changes

Cohort / File(s) Summary
Node.js Runtime Upgrade
action.yml, package.json
Updated GitHub Actions runner image from node20 to node24; updated build script target from Node.js 20 to 24.
Action Packages
package.json
Upgraded @actions/* dependencies (@cache, @core, @exec, @glob, @io, @tool-cache) to newer major versions for Node.js 24 compatibility.
Type Definitions
package.json
Updated @types/node devDependency from ^20.x to ^24.x.
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title 'build: update action runtime to Node.js 24' directly and clearly summarizes the main change of updating the GitHub Actions runner from Node.js 20 to Node.js 24.
Description check ✅ Passed The description provides comprehensive context about the Node.js 20 deprecation, explains the migration to Node.js 24, lists all changes made, and includes testing details directly related to the changeset.
Linked Issues check ✅ Passed The PR addresses the primary objective of #172 by migrating the GitHub Actions runtime from Node.js 20 to Node.js 24, including updates to action.yml, build configuration, and dependencies.
Out of Scope Changes check ✅ Passed All code changes are directly related to the Node.js 24 migration objective: action.yml runtime update, esbuild target update, @types/node update, and @actions/* dependency upgrades for Node 24 compatibility.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Collaborator

@xhyrom xhyrom left a comment

Choose a reason for hiding this comment

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

LGTM

@xhyrom xhyrom merged commit e391475 into oven-sh:main Mar 12, 2026
87 checks passed
@adam0white adam0white deleted the node24 branch March 12, 2026 14:13
tcely added a commit to tcely/setup-bun that referenced this pull request Mar 13, 2026
GitHub Actions is deprecating Node.js 20, with Node 24 becoming the
default runner on June 2, 2026. This updates the action to run on
the Node 24 runtime.

Changes:
- action.yml: node20 → node24
- esbuild target: node20 → node24
- @types/node: ^20 → ^24
- @actions/* deps bumped to their Node 24-compatible versions
  (highest CJS-compatible releases, avoiding the ESM-only latest)

The @actions/* bumps also resolve the punycode deprecation warning
(DEP0040) that Node 24 triggers with the older dependency chain.

Co-authored-by: Adam White <[email protected]>
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
tcely added a commit to tcely/setup-bun that referenced this pull request Mar 13, 2026
GitHub Actions is deprecating Node.js 20, with Node 24 becoming the
default runner on June 2, 2026. This updates the action to run on
the Node 24 runtime.

Changes:
- action.yml: node20 → node24
- esbuild target: node20 → node24
- @types/node: ^20 → ^24
- @actions/* deps bumped to their Node 24-compatible versions
  (highest CJS-compatible releases, avoiding the ESM-only latest)

The @actions/* bumps also resolve the punycode deprecation warning
(DEP0040) that Node 24 triggers with the older dependency chain.

Co-authored-by: Adam White <[email protected]>
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
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.

Node 20 deprecated

2 participants