Skip to content

[code-infra] Reduce release:build concurrency to mitigate tsgo OOM kills#23139

Merged
LukasTy merged 2 commits into
mui:masterfrom
LukasTy:fix/ci-tsgo-oom-concurrency
Jul 14, 2026
Merged

[code-infra] Reduce release:build concurrency to mitigate tsgo OOM kills#23139
LukasTy merged 2 commits into
mui:masterfrom
LukasTy:fix/ci-tsgo-oom-concurrency

Conversation

@LukasTy

@LukasTy LukasTy commented Jul 13, 2026

Copy link
Copy Markdown
Member

Summary

Test plan

  • Watch test_e2e, test_e2e_react_18, and test_package CI jobs on this PR over several re-runs to confirm the Build packages step no longer gets OOM-killed

Results so far

No OOM kill on the retrigger run with concurrency 2 (all three jobs green). Runtime vs. the concurrency-4 baseline is close, not a clear regression in either direction:

Job Concurrency Build packages step Total job time
test_e2e 4 (baseline, https://circleci.com/gh/mui/mui-x/879763) 138.7s 310.4s
test_e2e 2 (this PR, https://circleci.com/gh/mui/mui-x/880697) 118.2s 273.5s
test_e2e_react_18 4 (baseline, https://circleci.com/gh/mui/mui-x/879818) 103.4s 274.8s
test_e2e_react_18 2 (this PR, https://circleci.com/gh/mui/mui-x/880699) 138.9s 389.9s
test_package 4 (baseline, https://circleci.com/gh/mui/mui-x/879764) 169.8s 245.9s
test_package 2 (this PR, https://circleci.com/gh/mui/mui-x/880693) 141.3s 242.1s

Caveat: one data point per configuration so far, and the OOM was already intermittent at concurrency 4 (it didn't fail every run), so this isn't conclusive proof yet -- more re-runs would help confirm before merging.

test_e2e/test_e2e_react_18/test_package build packages on a `medium`
resource_class with `pnpm release:build`, which now emits type
declarations via tsgo (mui#22826) instead of tsc. When several
large packages' tsgo processes (x-charts, x-data-grid, x-date-pickers)
overlap under --concurrency 4, combined memory use has been exceeding
the container's budget and the OOM killer SIGKILLs one of them -- seen
intermittently on master and various PRs, always on x-charts.

Lower concurrency to 2 to reduce how many tsgo processes run at once.
@LukasTy LukasTy self-assigned this Jul 13, 2026
@LukasTy LukasTy added type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature. scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). labels Jul 13, 2026
@code-infra-dashboard

code-infra-dashboard Bot commented Jul 13, 2026

Copy link
Copy Markdown

Deploy preview

https://deploy-preview-23139--material-ui-x.netlify.app/
QR code for https://deploy-preview-23139--material-ui-x.netlify.app/

Bundle size

Bundle Parsed size Gzip size
@mui/x-data-grid 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-pro 0B(0.00%) 0B(0.00%)
@mui/x-data-grid-premium 0B(0.00%) 0B(0.00%)
@mui/x-charts 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 0B(0.00%) 0B(0.00%)
@mui/x-charts-premium 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers 0B(0.00%) 0B(0.00%)
@mui/x-date-pickers-pro 0B(0.00%) 0B(0.00%)
@mui/x-tree-view 0B(0.00%) 0B(0.00%)
@mui/x-tree-view-pro 0B(0.00%) 0B(0.00%)
@mui/x-scheduler 0B(0.00%) 0B(0.00%)
@mui/x-scheduler-premium 0B(0.00%) 0B(0.00%)
@mui/x-chat 0B(0.00%) 0B(0.00%)
@mui/x-license 0B(0.00%) 0B(0.00%)

Details of bundle changes

Performance

Total duration: 1,672.55 ms +8.87 ms(+0.5%) | Renders: 63 (+0) | Paint: 2,311.09 ms +47.73 ms(+2.1%)

Test Duration Renders
Heatmap: 100x100 grid 287.90 ms 🔺+57.26 ms(+24.8%) 2 (+0)
ScatterChart with big data amount 27.73 ms 🔺+8.33 ms(+42.9%) 2 (+0)
RadialLineChart with big data amount 38.72 ms 🔺+7.15 ms(+22.7%) 2 (+0)
ScatterChartPro with big data amount and zoomed in (batch renderer) 27.28 ms 🔺+4.62 ms(+20.4%) 2 (+0)
PieChart with big data amount 10.92 ms 🔺+4.26 ms(+64.0%) 2 (+0)

…and 4 more (+17 within noise) — details

Metric alarms

Test Metric Change
Heatmap: 100x100 grid bench:paint 🔺 +84.62 ms
ScatterChart with big data amount bench:paint 🔺 +12.61 ms
PieChart with big data amount bench:paint 🔺 +6.31 ms
ScatterChartPro with big data amount (batch renderer) bench:paint 🔺 +10.33 ms

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

@LukasTy LukasTy changed the title [ci] Reduce release:build concurrency to mitigate tsgo OOM kills [code-infra] Reduce release:build concurrency to mitigate tsgo OOM kills Jul 13, 2026
@LukasTy
LukasTy requested review from Janpot, brijeshb42 and Copilot July 13, 2026 13:43

Copilot AI 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.

Pull request overview

Reduces parallelism in CircleCI package builds to mitigate intermittent OOM SIGKILLs during tsgo declaration emit (notably affecting x-charts) in release:build steps.

Changes:

  • Lower test_e2e build step concurrency from 4 to 2 (pnpm release:build --concurrency 2).
  • Add an explicit --concurrency 2 to the test_package build step (previously relied on the script default / unbounded behavior).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@brijeshb42

Copy link
Copy Markdown
Contributor

In the summary, can you also add how much time increase or decrease was it because of the change ?

@LukasTy

LukasTy commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

For now it looks very close - in the realm of error.
I'll push an empty commit to get at least a second full run.

@LukasTy

LukasTy commented Jul 13, 2026

Copy link
Copy Markdown
Member Author

Added a chart with results for now.
Nothing really changed runtime-wise substantially.

@LukasTy

LukasTy commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

@Janpot or @brijeshb42 are you good moving forward with this?
Almost constant failures are not fun. 🙈

@LukasTy
LukasTy merged commit 28d6f2e into mui:master Jul 14, 2026
24 checks passed
@LukasTy
LukasTy deleted the fix/ci-tsgo-oom-concurrency branch July 14, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: code-infra Involves the code-infra product (https://www.notion.so/mui-org/5562c14178aa42af97bc1fa5114000cd). type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants