Skip to content

ci: drop obsolete Node 20#229

Open
enyst wants to merge 5 commits into
mainfrom
ci/drop-node-20
Open

ci: drop obsolete Node 20#229
enyst wants to merge 5 commits into
mainfrom
ci/drop-node-20

Conversation

@enyst

@enyst enyst commented Jun 23, 2026

Copy link
Copy Markdown
Member

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/OpenHands CI currently uses Node 22.
  • OpenHands/agent-canvas CI 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

  • Remove Node 20 from all workflow setup steps and contributing prerequisites.
  • Run regular CI/build/security/integration/package jobs on Node 22.x.
  • Test the main CI matrix against Node 22.x and 24.x, and update actions/setup-node from v4 to v6.

Issue Number

N/A

How to Test

  • npm run format:check
  • npm run build
  • npm test -- --runInBand

Video/Screenshots

N/A — CI/documentation-only change.

Type

  • Bug fix
  • Feature
  • Refactor
  • Breaking change
  • Docs / chore

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

enyst and others added 2 commits June 23, 2026 14:49
Co-authored-by: openhands <openhands@all-hands.dev>
@github-actions

This comment has been minimized.

@enyst enyst requested a review from all-hands-bot June 23, 2026 16:30

all-hands-bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Review complete.

This review was performed through OpenHands Cloud Automation. You can log in and view the conversation here.

@all-hands-bot all-hands-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 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

Comment thread .github/workflows/ci.yml Outdated
Comment thread CONTRIBUTING.md
### Prerequisites

- Node.js 20+
- Node.js 22.12+

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 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 VascoSch92 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You should check the box: an human has tested these changes. ;)

@enyst

enyst commented Jun 23, 2026

Copy link
Copy Markdown
Member Author

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

@VascoSch92

Copy link
Copy Markdown
Member

@enyst can we merge this?

@enyst

enyst commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

Oh, sure. @OpenHands please merge main and push.

@openhands-ai

openhands-ai Bot commented Jun 29, 2026

Copy link
Copy Markdown

I'm on it! enyst can track my progress at all-hands.dev

Co-authored-by: openhands <openhands@all-hands.dev>
@github-actions github-actions Bot added the type: ci CI configuration changes label Jun 29, 2026

enyst commented Jun 29, 2026

Copy link
Copy Markdown
Member Author

Merged main into ci/drop-node-20 and pushed commit e34b3ea.

Local checks passed:

  • npm run format:check
  • npm run build
  • npm test -- --runInBand (271 tests)

GitHub checks are currently running on the updated branch.

This comment was created by an AI agent (OpenHands) on behalf of the user.

@OpenHands OpenHands deleted a comment from openhands-ai Bot Jun 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: ci CI configuration changes

3 participants