Skip to content

[codex] Add Node 24 compatibility CI#4847

Open
mashbean wants to merge 1 commit into
developfrom
codex/node24-compat-ci
Open

[codex] Add Node 24 compatibility CI#4847
mashbean wants to merge 1 commit into
developfrom
codex/node24-compat-ci

Conversation

@mashbean

Copy link
Copy Markdown
Contributor

Summary

Adds a Node 24 compatibility lane to the existing reusable build workflow while keeping the default runtime on Node 18.

Changes:

  • widens engines.node to allow Node 18 and Node 24
  • adds a node_version input to .github/workflows/build.yml, defaulting to 18
  • runs the PR test workflow with a Node 18 and Node 24 matrix
  • updates the workflow checkout action to actions/checkout@v4
  • refreshes lockfile metadata with npm 11 so npm ci can run under Node 24

Why

This is the compatibility PR only. Deploy workflows that do not pass node_version still use the default Node 18 path, and the Dockerfile remains on node:18-alpine. That preserves the current production rollback line while allowing CI to prove Node 24 compatibility.

Validation

  • npx -p node@24 -p npm@11 npm ci, passed with an existing @matters/matters-editor@0.3.0-alpha.4 engine warning
  • npx -y node@24 -e "import('bcrypt').then(...)", confirmed bcrypt loads
  • npx -y node@24 node_modules/typescript/bin/tsc -p ., passed
  • npx -p node@24 -p npm@11 npm run lint, passed
  • npx -p node@18 -p npm@10 npm ci --ignore-scripts, passed as lockfile rollback-line check

Full test execution is left to GitHub Actions because the workflow provides Redis, Postgres, and stripe-mock services.

Known follow-up

@matters/matters-editor@0.3.0-alpha.4 declares node >=18.19 <19.0, so npm emits an engine warning under Node 24. It is not a hard install failure. The shared-package follow-up should publish or consume a Node 24-compatible editor package before production runtime cutover.

Rollback

Revert this PR, or leave it merged and omit node_version from deployment workflow calls. The reusable workflow defaults to Node 18, and the Dockerfile still uses Node 18.

@codecov

codecov Bot commented Jun 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.68%. Comparing base (086cd37) to head (c1ac158).
⚠️ Report is 7 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4847      +/-   ##
===========================================
+ Coverage    72.57%   72.68%   +0.10%     
===========================================
  Files         1067     1067              
  Lines        21164    21259      +95     
  Branches      4619     4691      +72     
===========================================
+ Hits         15360    15452      +92     
- Misses        5327     5328       +1     
- Partials       477      479       +2     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mashbean mashbean force-pushed the codex/node24-compat-ci branch from 01706d8 to 6749b72 Compare June 15, 2026 07:48
@mashbean mashbean force-pushed the codex/node24-compat-ci branch from 6749b72 to c1ac158 Compare June 15, 2026 07:52
@mashbean mashbean marked this pull request as ready for review June 15, 2026 08:07
@mashbean mashbean requested a review from a team as a code owner June 15, 2026 08:07
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.

1 participant