ci: drop obsolete Node 20#229
Conversation
Co-authored-by: openhands <openhands@all-hands.dev>
This comment has been minimized.
This comment has been minimized.
|
✅ Review complete. This review was performed through OpenHands Cloud Automation. You can log in and view the conversation here. |
all-hands-bot
left a comment
There was a problem hiding this comment.
🟢 Good taste — clean, focused, and well-justified. The PR removes the obsolete Node 20 (EOL April 2026) from every workflow, bumps the actions/setup-node major (v4 → v6), and re-pins the non-matrix jobs to 22.x. The matrix now tests both 22.x and 24.x, giving forward coverage without forcing ancillary jobs onto 24 yet. CI is fully green on all 9 checks across ci.yml, endpoint-audit.yml, integration-tests.yml, and release.yml, so the setup-node@v6 upgrade is genuinely exercised end-to-end.
The one observation worth raising (non-blocking): the docs now say Node.js 22.12+ in CONTRIBUTING.md, but the CI matrix only tests the latest 22.x — not 22.12 itself. A regression against the documented minimum would slip through. Two reasonable fixes if you want to harden this: pin a 22.12 entry in the matrix (e.g. [22.12, 24.x], which also covers the npm-publish 22.14.0 requirement), or add an engines: { "node": ">=22.12" } field to package.json so npm warns on install. Either is a one-liner; neither is required to merge.
This review was generated by an AI agent (OpenHands) on behalf of the user through OpenHands Automation. View conversation
| ### Prerequisites | ||
|
|
||
| - Node.js 20+ | ||
| - Node.js 22.12+ |
There was a problem hiding this comment.
🟡 Suggestion: pairing this with an engines field in package.json would let npm warn users on npm install when they run an older Node, instead of letting it surface only in CI:
"engines": { "node": ">=22.12" }Optional — but it's the standard way to publish a runtime floor alongside the docs.
Co-authored-by: OpenHands Bot <contact@all-hands.dev>
VascoSch92
left a comment
There was a problem hiding this comment.
You should check the box: an human has tested these changes. ;)
Oops I kinda deleted it 😅 It’s gone from the sdk already, I’ll go around to update other repos templates |
|
@enyst can we merge this? |
|
Oh, sure. @OpenHands please merge main and push. |
|
I'm on it! enyst can track my progress at all-hands.dev |
Co-authored-by: openhands <openhands@all-hands.dev>
|
Merged Local checks passed:
GitHub checks are currently running on the updated branch. This comment was created by an AI agent (OpenHands) on behalf of the user. |
This PR proposes a quick update of the versions we use. Node 20 is EOL I think.
Why
Node 20 is obsolete for this repo's CI/tooling baseline. I checked same-org peers before choosing the replacement:
OpenHands/OpenHandsCI currently uses Node 22.OpenHands/agent-canvasCI currently uses Node 24/24.15, while its package engines still allow Node >=22.12.0.So this keeps Node 22 as the common baseline and adds Node 24 to the main CI matrix for forward compatibility.
Summary
actions/setup-nodefrom v4 to v6.Issue Number
N/A
How to Test
npm run format:checknpm run buildnpm test -- --runInBandVideo/Screenshots
N/A — CI/documentation-only change.
Type
Notes
My take: because OpenHands and agent-canvas are not yet both on Node 24 in CI, Node 22 is the safest shared baseline today; adding Node 24 to this repo's main matrix gives coverage for the agent-canvas direction without forcing every ancillary job onto 24 yet.
This PR was created by an AI agent (OpenHands) on behalf of the user.
@enyst can click here to continue refining the PR