Skip to content

Upgrade to Node 24 - #144

Merged
michaelst merged 1 commit into
mainfrom
claude/node-24-upgrade-jvtn95
Jul 17, 2026
Merged

Upgrade to Node 24#144
michaelst merged 1 commit into
mainfrom
claude/node-24-upgrade-jvtn95

Conversation

@michaelst

Copy link
Copy Markdown
Contributor

Summary

Upgrades the action and its tooling from Node 20 to Node 24.

Changes

  • action.yaml: bump the action runtime from node20 to node24.
  • .github/workflows/check-dist.yml: update the CI Node version from 20.x to 24.x.
  • .tool-versions: set nodejs 24.4.0 (was 20.19.0).
  • package.json / package-lock.json: bump @types/node to ^24.0.0.

Verification

  • npm run builddist/index.js rebuilt with no changes (bundle output unaffected by the type bump).
  • npm run format-check — passes.
  • npm run lint — passes.
  • npm test — all 4 suites pass (elixir, go, lcov, ruby).

🤖 Generated with Claude Code


Generated by Claude Code

- Bump action runtime to node24 in action.yaml
- Update CI check-dist workflow to Node.js 24.x
- Set .tool-versions to nodejs 24.4.0
- Bump @types/node to ^24.0.0

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMgkgHh9anqCD7UPkJmEzU
@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

Grey Divider

Sorry, something went wrong

We weren't able to complete the code review on our side. Please try again

Grey Divider

Qodo Logo

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Upgrade GitHub Action runtime and tooling to Node 24

⚙️ Configuration changes ✨ Enhancement 🐞 Bug fix 🕐 Less than 10 minutes

Grey Divider

AI Description

• Bump the GitHub Action runtime from node20 to node24.
• Update CI to run the dist check using Node.js 24.x.
• Align local tooling and typings to Node 24 (asdf + @types/node).
Diagram

graph TD
  dev["Developer machine"] --> tool[".tool-versions"] --> nodeLocal["Node 24.4.0"] --> build["npm build/test"] --> dist["dist/index.js"]
  gha["GitHub Action"] --> action["action.yaml"] --> nodeRt["node24 runtime"] --> dist
  ci["CI workflow"] --> wf["check-dist.yml"] --> setup["setup-node@v4"] --> nodeCi["Node 24.x"] --> build
  pkg["package.json"] --> types["@types/node ^24"] --> build

  subgraph Legend
    direction LR
    _cfg["Config"] ~~~ _rt["Runtime"] ~~~ _ci["CI"]
  end
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. Test a Node version matrix (20/22/24) in CI
  • ➕ Catches regressions for users still running older Node locally or for transitive tooling differences
  • ➕ Provides confidence if the codebase/library consumers support multiple Node majors
  • ➖ Extra CI time/cost and more workflow complexity
  • ➖ May require conditional tooling pinning if dependencies behave differently across majors
2. Pin exact Node patch in CI (e.g., 24.4.0)
  • ➕ Maximizes determinism between local tooling (.tool-versions) and CI
  • ➕ Reduces risk of a future 24.x patch causing unexpected CI failures
  • ➖ Less coverage of “latest 24.x” behavior that GitHub runners may effectively use
  • ➖ Requires periodic patch updates to keep current

Recommendation: The PR’s approach (move action runtime and CI to Node 24, align local toolchain and typings) is the right baseline for GitHub Actions going forward. If you want extra safety, consider adding a lightweight CI matrix (at least Node 22 + 24) or pinning the CI patch version to match .tool-versions; otherwise the current single-version bump is sufficient and keeps maintenance minimal.

Files changed (4) +5 / -5

Other (4) +5 / -5
check-dist.ymlRun check-dist workflow on Node 24.x +2/-2

Run check-dist workflow on Node 24.x

• Updates the workflow step label and setup-node configuration from Node 20.x to 24.x so dist validation runs on the new baseline.

.github/workflows/check-dist.yml

.tool-versionsPin local Node.js to 24.4.0 +1/-1

Pin local Node.js to 24.4.0

• Updates the asdf tool version to Node 24.4.0 to align contributor environments with the upgraded runtime.

.tool-versions

action.yamlBump GitHub Action runtime to node24 +1/-1

Bump GitHub Action runtime to node24

• Changes the action runtime from node20 to node24 while keeping the same dist entrypoint (dist/index.js).

action.yaml

package.jsonAlign TypeScript Node typings to v24 +1/-1

Align TypeScript Node typings to v24

• Bumps @types/node to ^24.0.0 so TypeScript typechecking matches the upgraded Node runtime.

package.json

@michaelst
michaelst merged commit db1da87 into main Jul 17, 2026
10 of 13 checks passed
@michaelst
michaelst deleted the claude/node-24-upgrade-jvtn95 branch July 17, 2026 14:46
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