Skip to content

ci: update actions off the deprecated Node 20 runtime - #122

Merged
moshest merged 1 commit into
mainfrom
claude/bump-actions
Aug 25, 2026
Merged

ci: update actions off the deprecated Node 20 runtime#122
moshest merged 1 commit into
mainfrom
claude/bump-actions

Conversation

@moshest

@moshest moshest commented Aug 25, 2026

Copy link
Copy Markdown
Member

Summary

Every run of all three workflows emits:

Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, pnpm/action-setup@v4

That forced fallback is temporary. When GitHub drops it, CI and the nightly registry publish stop working — and the pins were three majors behind:

Action Was Now
actions/checkout v4 v7
actions/setup-node v4 v7
actions/cache v4 v6
pnpm/action-setup v4 v6

changesets/action@v1 is unchanged — it doesn't use the vN tag scheme and isn't in the warning.

What this deliberately does NOT change

node-version: '20' stays as-is in all five places. That's the Node the project itself builds, tests and publishes on, and it's a separate, riskier change: better-sqlite3 has already been observed failing against a newer Node in this repo (a contributor's "40 pre-existing failures" on #117 turned out to be Node v26 vs better-sqlite3 11.10.0). Node 20 is EOL and should move, but it needs its own PR with the native rebuild actually verified — not a blind bump bundled into this one.

Test plan

  • ci.yml is fully exercised by this PR's own checks (Lint, Build, Test)
  • release.yml and registry-update.yml are not reachable from PR CI

For the second row I'll dispatch registry-update.yml from this branch with {"since": "2"} — the same argument shape the schedule uses — so the nightly path is proven before merge rather than discovered at 06:30 UTC.


Generated by Claude Code

Every run of all three workflows warns that actions/checkout@v4,
actions/setup-node@v4 and pnpm/action-setup@v4 target Node 20 and are being
forced onto Node 24. That fallback is temporary; when it goes, CI and the
nightly registry publish go with it.

The pins were three majors behind: checkout and setup-node v4 -> v7, cache
v4 -> v6, pnpm/action-setup v4 -> v6.

Deliberately does NOT touch `node-version: '20'`, which is the Node the
project itself builds and tests on. That is a separate and riskier change:
better-sqlite3 has already been observed failing against a newer Node in this
repo, so moving it needs its own PR with the native rebuild verified.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NBQQpA86yYzwJUiVz8ph2R
@changeset-bot

changeset-bot Bot commented Aug 25, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: c70c6f0

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@moshest
moshest marked this pull request as ready for review August 25, 2026 22:48
@moshest
moshest merged commit fe1b9fd into main Aug 25, 2026
4 checks passed
@moshest
moshest deleted the claude/bump-actions branch August 25, 2026 22:48
@moshest moshest mentioned this pull request Aug 25, 2026
4 tasks
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