Skip to content

chore: bump action runtime to Node 24#13

Merged
lukekim merged 1 commit into
trunkfrom
chore/bump-node-24
May 2, 2026
Merged

chore: bump action runtime to Node 24#13
lukekim merged 1 commit into
trunkfrom
chore/bump-node-24

Conversation

@lukekim
Copy link
Copy Markdown
Contributor

@lukekim lukekim commented May 2, 2026

Summary

Picked this up from the deprecation warning that appears in every workflow that uses this action today:

```
##[warning]Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected:
spicehq/spice-cloud-deploy-action@.
Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026.
Node.js 20 will be removed from the runner on September 16th, 2026.
```

GitHub's deprecation notice (full ref linked in the commit body): Node 20 actions are force-defaulted to Node 24 on 2026-06-02 (≈ 1 month away) and Node 20 is removed from the runner on 2026-09-16. Bumping now so downstream consumers stop seeing the warning and we're not caught at the cutoff.

Changes

Aligned every place a Node version appears:

File Before → After
`action.yml` `runs.using: node20` → `node24`
`package.json` esbuild `--target=node20` → `--target=node24`; `engines.node: ">=20"` → `">=24"`
`.nvmrc` `20` → `24`
`.github/workflows/ci.yml` `setup-node` `node-version: 20` → `24`
`.github/workflows/release.yml` `setup-node` `node-version: 20` → `24`
`README.md` "Node 20 JavaScript action" → "Node 24 JavaScript action"

The rebuilt `dist/index.js` is byte-identical because the source doesn't use any node20-only language or runtime features.

Test plan

  • `npm run all` passes locally — lint, typecheck, 83 tests, build all green; `dist/` freshness clean.
  • CI green on this PR across Ubuntu/macOS/Windows.
  • After merge: a workflow that uses `@v1` no longer prints the Node 20 deprecation warning.

If the new-PR ask was actually for something else (e.g. cutting `v1.0.1` after #11/#12 land), let me know and I'll repurpose.

GitHub deprecated Node 20 actions on 2025-09-19 and will force-default
all Node 20 actions to Node 24 on 2026-06-02, with Node 20 removed from
the runner on 2026-09-16. Every workflow that uses this action currently
gets a deprecation warning. Bump the action runtime now so downstream
users stop seeing the warning and we don't get caught when the cutoff
hits.

Aligned everywhere Node version appears:
- action.yml `runs.using: node20` → `node24`
- esbuild `--target=node20` → `--target=node24`
- `package.json` `engines.node: >=20` → `>=24`
- `.nvmrc` `20` → `24`
- CI + release workflows `node-version: 20` → `24`
- README compatibility notes refer to Node 24

The rebuilt bundle is byte-identical because the source doesn't use any
node20-only language or runtime features.

Ref: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
Copilot AI review requested due to automatic review settings May 2, 2026 23:33
@lukekim lukekim merged commit df24d42 into trunk May 2, 2026
6 checks passed
@lukekim lukekim deleted the chore/bump-node-24 branch May 2, 2026 23:34
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates this GitHub Action’s runtime and development/build configuration from Node.js 20 to Node.js 24 to preempt GitHub Actions’ Node 20 deprecation and eliminate workflow warnings for downstream users.

Changes:

  • Switch the action runtime to runs.using: node24.
  • Align local/dev + build settings to Node 24 (engines.node, .nvmrc, esbuild target).
  • Update CI/release workflows and docs to reference Node 24.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
action.yml Bumps the action runtime from node20 to node24.
package.json Raises required Node engine to >=24 and builds targeting node24.
.nvmrc Sets local Node version to 24.
.github/workflows/ci.yml Runs CI with Node 24.
.github/workflows/release.yml Runs release workflow with Node 24.
README.md Updates documentation text from Node 20 to Node 24.
CHANGELOG.md Adds an Unreleased entry documenting the Node 24 bump and rationale.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CHANGELOG.md
Comment on lines +9 to +10
### Changed
- Bump the action runtime from Node 20 to Node 24 (`runs.using: node24`). Node 20 actions are deprecated by GitHub and will be force-defaulted to Node 24 on June 2, 2026, with Node 20 removed from the runner on September 16, 2026. The build target, CI matrix, `engines.node`, and `.nvmrc` are aligned to Node 24.
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.

2 participants