Skip to content

[code-infra] Use Node v24 instead of v22#4423

Open
LukasTy wants to merge 9 commits intomui:masterfrom
LukasTy:bump-node-to-24
Open

[code-infra] Use Node v24 instead of v22#4423
LukasTy wants to merge 9 commits intomui:masterfrom
LukasTy:bump-node-to-24

Conversation

@LukasTy
Copy link
Member

@LukasTy LukasTy commented Mar 24, 2026

Let's discuss if we are going forward with the upgrade, or parking it until v22 LTS ends

Some of the test runtime performance improvement looks promising

Depends on mui/mui-public#1239.

I noticed the v24 becoming the new "default", especially given that it's been in the active state for quite a while.
GH actions are bumping node to v24 as default (#4399, #4397).

A related controversial declaration we have: https://mui-org.notion.site/Node-js-support-strategy-25acbfe7b66080df9d8bf6634f8c9367.


Warning

I excluded comparison of Generated files verification job since it does not run pnpm dedupe on master.

Note

This compares data between the last 24hr runs on master and the 4 successful runs on this branch.

P95 vs P95 — pipeline workflow (excluding Generated files verification)

Job Master P95 (v22) Node 24 P95 Diff Change
Browser tests 2m 41s 2m 46s +5s +3.1%
Browser tests (React Compiler) 3m 32s 3m 19s -13s -6.1%
E2E tests 1m 21s 1m 18s -3s -3.7%
JSDOM tests 3m 08s 2m 47s -21s -11.2%
JSDOM tests (React Compiler) 4m 42s 4m 15s -27s -9.6%
Linting 3m 01s 2m 39s -22s -12.2%
Package verification 2m 28s 2m 13s -15s -10.1%
Regression tests 2m 00s 1m 45s -15s -12.5%
Typechecking 1m 47s 1m 51s +4s +3.7%
Validating Docs 2m 14s 1m 43s -31s -23.1%
Sum 26m 54s 24m 36s -138s -8.6%

Master P95 vs PR avg — react-18 workflow

Job Master P95 (v22) PR avg n=4 (v24) Diff Change
Browser tests (React 18) 2m 52s 2m 33s -19s -11.0%
JSDOM tests (React 18) 3m 47s 3m 32s -15s -6.6%
Typechecking (React 18) 2m 18s 1m 48s -30s -21.7%
Sum 8m 57s 7m 53s -64s -11.9%

Combined summary

Workflow Comparison Change
pipeline (10 jobs) P95 vs P95 -8.6%
react-18 (3 jobs) Master P95 vs PR avg -11.9%
All 13 jobs Master P95 vs PR best-available -9.4%

All 3 react-18 jobs are faster on Node v24, with Typechecking (React 18) showing the largest improvement at -21.7%. Combined across both workflows, Node v24 delivers a consistent ~9-12% improvement.

Tip

The Typechecking might see the biggest benefits of the V8 upgrades with increased performance.

@LukasTy LukasTy self-assigned this Mar 24, 2026
@LukasTy LukasTy added the scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). label Mar 24, 2026
@pkg-pr-new
Copy link

pkg-pr-new bot commented Mar 24, 2026

commit: 7c6667d

@netlify
Copy link

netlify bot commented Mar 24, 2026

Deploy Preview for base-ui ready!

Name Link
🔨 Latest commit 7c6667d
🔍 Latest deploy log https://app.netlify.com/projects/base-ui/deploys/69c2b9886ad1e00008973d67
😎 Deploy Preview https://deploy-preview-4423--base-ui.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@mui-bot
Copy link

mui-bot commented Mar 24, 2026

Bundle size report

Bundle Parsed size Gzip size
@base-ui/react 0B(0.00%) 0B(0.00%)

Details of bundle changes


Check out the code infra dashboard for more information about this PR.

"engines": {
"pnpm": "10.32.1",
"node": ">=22.18.0"
"node": ">=24.13.0"
Copy link
Member Author

Choose a reason for hiding this comment

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

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Mar 24, 2026
@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Mar 24, 2026
@LukasTy LukasTy requested a review from a team March 24, 2026 11:35
@LukasTy LukasTy marked this pull request as ready for review March 24, 2026 11:37
@Janpot
Copy link
Member

Janpot commented Mar 24, 2026

Probably makes more sense to compare with https://app.circleci.com/insights/github/mui/base-ui/workflows/pipeline/jobs?branch=master&reporting-window=last-24-hours. e.g. regression tests is 2m1s there

We could also add a few more commits here and check with https://app.circleci.com/insights/github/mui/base-ui/workflows/pipeline/jobs?branch=pull%2F4423&reporting-window=last-24-hours, might be a bit more statistically relevant

@LukasTy
Copy link
Member Author

LukasTy commented Mar 24, 2026

Probably makes more sense to compare with https://app.circleci.com/insights/github/mui/base-ui/workflows/pipeline/jobs?branch=master&reporting-window=last-24-hours. e.g. regression tests is 2m1s there

We could also add a few more commits here and check with https://app.circleci.com/insights/github/mui/base-ui/workflows/pipeline/jobs?branch=pull%2F4423&reporting-window=last-24-hours, might be a bit more statistically relevant

Thanks for the suggestions.
I pushed 2 empty commits to have more runs for a better data spread.

Looks like the differences are not huge, but noticeable.
I updated the description with findings.

Compared the master against the successful runs of this branch (CircleCI page includes the failures in the runs skewing the data)

@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Mar 24, 2026
@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Mar 24, 2026
@LukasTy LukasTy changed the title [code-infra] Use node v24 instead of v22 [code-infra] Use Node v24 instead of v22 Mar 24, 2026
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR: out-of-date The pull request has merge conflicts and can't be merged. scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd).

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants