Skip to content

Migrate Node.js to 24 LTS#8710

Merged
bilalabbad merged 1 commit intostablefrom
bab-node-24
Mar 30, 2026
Merged

Migrate Node.js to 24 LTS#8710
bilalabbad merged 1 commit intostablefrom
bab-node-24

Conversation

@bilalabbad
Copy link
Copy Markdown
Contributor

@bilalabbad bilalabbad commented Mar 26, 2026

Summary by CodeRabbit

  • Chores

    • Migrated Node.js runtime from 22 to 24 LTS across CI workflows, Docker builds, and package engine constraints; added Node 24+ engine declarations to frontend packages.
    • Switched one workflow’s install step from pnpm to npm.
    • Updated an internal SDK submodule to a newer commit.
    • Added a housekeeping changelog entry noting the Node 24 migration.
  • Documentation

    • Updated frontend setup and prerequisite notes to require Node.js 24+.

@bilalabbad bilalabbad self-assigned this Mar 26, 2026
@bilalabbad bilalabbad requested review from a team as code owners March 26, 2026 16:43
@bilalabbad bilalabbad added group/frontend Issue related to the frontend (React) type/housekeeping Maintenance task labels Mar 26, 2026
@github-actions github-actions Bot added type/documentation Improvements or additions to documentation group/ci Issue related to the CI pipeline labels Mar 26, 2026
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 26, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9bbcbc39-71db-45ef-afb2-fff55f2e6222

📥 Commits

Reviewing files that changed from the base of the PR and between 75d5a81 and b5690b3.

📒 Files selected for processing (1)
  • python_sdk
✅ Files skipped from review due to trivial changes (1)
  • python_sdk

Walkthrough

CI workflows and the frontend Docker build stage were changed to use Node.js 24 instead of 22. Package engine constraints were added or bumped to >=24.0 in docs/package.json, frontend/app/package.json, and frontend/packages/ui/package.json. Frontend setup and prereq documentation was updated to state Node.js 24+. A changelog entry records the migration. The Chromatic GitHub Actions workflow switched its install step from pnpm to npm. The python_sdk submodule reference was advanced to a newer commit. No application code or public APIs were modified.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request has no description provided, missing all key sections from the template including Why, What changed, How to review, How to test, and Impact & rollout sections that would help reviewers understand the scope and rationale. Add a comprehensive description following the repository template, explaining why the upgrade is needed, what was changed across each component, testing instructions, and any backward compatibility implications.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Migrate Node.js to 24 LTS' clearly and concisely summarizes the primary change across the entire changeset, which updates Node.js from version 22 to 24 LTS across CI workflows, Docker builds, documentation, and package configurations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@changelog/`+node24-migration.housekeeping.md:
- Line 1: The file ending containing the line "Migrated Node.js from version 22
to 24 LTS across CI workflows, Docker build, and package engine constraints." is
missing a trailing newline; fix by editing that markdown file and ensure there
is a single newline character at EOF (i.e., add a blank line after the existing
text) so the file ends with a trailing newline.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 11e20fef-7673-4c11-9c11-cf176b6f3504

📥 Commits

Reviewing files that changed from the base of the PR and between 270cfb1 and dfac13d.

📒 Files selected for processing (8)
  • .github/workflows/ci.yml
  • changelog/+node24-migration.housekeeping.md
  • development/Dockerfile
  • docs/docs/development/frontend/getting-set-up.mdx
  • docs/docs/snippets/pre-reqs-frontend.mdx
  • docs/package.json
  • frontend/app/package.json
  • frontend/packages/ui/package.json

Comment thread changelog/+node24-migration.housekeeping.md
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.github/workflows/chromatic.yml (1)

37-37: Use deterministic CI installs (npm ci) instead of npm install.

The current npm install on line 37 can yield non-reproducible dependency resolution across runs. Use npm ci for stable, deterministic Chromatic builds since package-lock.json is present.

Proposed update
       - name: Install Node.js
         uses: actions/setup-node@v6
         with:
           node-version: 24
+          cache: npm
+          cache-dependency-path: frontend/packages/ui/package-lock.json
       - name: Install dependencies
-        run: npm install
+        run: npm ci
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/chromatic.yml at line 37, Replace the workflow step that
currently executes "run: npm install" with a deterministic install by using "npm
ci" instead; update the Chromatic workflow entry that contains the "run: npm
install" command so it runs "npm ci" (ensuring package-lock.json is committed)
to achieve reproducible CI installs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/chromatic.yml:
- Line 37: Replace the workflow step that currently executes "run: npm install"
with a deterministic install by using "npm ci" instead; update the Chromatic
workflow entry that contains the "run: npm install" command so it runs "npm ci"
(ensuring package-lock.json is committed) to achieve reproducible CI installs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 9b3ca597-f530-4579-bc03-66c2e50a2eda

📥 Commits

Reviewing files that changed from the base of the PR and between dfac13d and d88f594.

📒 Files selected for processing (1)
  • .github/workflows/chromatic.yml

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Mar 26, 2026

Merging this PR will degrade performance by 27.96%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

❌ 12 regressed benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Benchmark BASE HEAD Efficiency
test_get_schema 250.1 ms 327.7 ms -23.67%
test_get_menu 188.4 ms 245.4 ms -23.24%
test_schemabranch_process 793.8 ms 1,040.9 ms -23.74%
test_schemabranch_duplicate 5.5 ms 7.2 ms -23.75%
test_graphql_generate_schema 372.5 ms 517 ms -27.96%
test_nodemanager_querypeers 1.3 ms 1.5 ms -17.62%
test_relationshipmanager_getpeer 132 µs 160.4 µs -17.66%
test_query_one_model 354.1 ms 464.3 ms -23.74%
test_query_rel_many 524.2 ms 692.1 ms -24.25%
test_base_schema_duplicate_CoreProposedChange 1.7 ms 2.1 ms -18.62%
test_query_rel_one 501.8 ms 662.8 ms -24.29%
test_load_node_to_db_node_schema 51.6 ms 66.4 ms -22.24%

Comparing bab-node-24 (579e8c8) with stable (33332fc)1

Open in CodSpeed

Footnotes

  1. No successful run was found on stable (2142bc3) during the generation of this report, so 33332fc was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@ogenstad
Copy link
Copy Markdown
Contributor

The failure in the CI should be fixed after a rebase. Having said that perhaps we want this to go into stable instead?

@bilalabbad bilalabbad requested a review from a team as a code owner March 30, 2026 10:36
@bilalabbad bilalabbad changed the base branch from develop to stable March 30, 2026 10:36
Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

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

No issues found across 8 files

Copy link
Copy Markdown
Contributor

@fatih-acar fatih-acar left a comment

Choose a reason for hiding this comment

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

I believe it's safe to this upgrade in stable directly but would like you to confirm
Also need this change in the enterprise repo.

@bilalabbad bilalabbad merged commit 397e3e8 into stable Mar 30, 2026
51 of 52 checks passed
@bilalabbad bilalabbad deleted the bab-node-24 branch March 30, 2026 12:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

group/ci Issue related to the CI pipeline group/frontend Issue related to the frontend (React) type/documentation Improvements or additions to documentation type/housekeeping Maintenance task

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants