ci: provide runner-balanced integration workflow patch - #21687
Conversation
|
|
Note
|
| Layer / File(s) | Summary |
|---|---|
Node.js 24 integration shards ci-balanced-integration-shards.patch |
Adds a dependent Ubuntu job with two non-fail-fast shards. Each shard runs the coverage suite, merges results, and uploads integration coverage. |
Compatibility matrix coverage ci-balanced-integration-shards.patch |
Excludes Ubuntu Node.js 24, removes the part dimension, assigns legacy test scripts, derives Jest cache keys from matrix.test-script, and enables coverage reporting for all entries. |
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | The title uses the required Conventional Commit form with the allowed type ci and accurately describes the integration workflow patch. |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
Comment @coderabbitai help to get the list of available commands.
|
This PR is packaged and the instant preview is available (d0c53e8). Install it locally:
npm i -D webpack@https://pkg.pr.new/webpack@d0c53e8
yarn add -D webpack@https://pkg.pr.new/webpack@d0c53e8
pnpm add -D webpack@https://pkg.pr.new/webpack@d0c53e8 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@ci-balanced-integration-shards.patch`:
- Around line 120-142: Update the compatibility workflow around the matrix test
step to retain the existing split between coverage-capable and older Node.js
cells: run the matrix-selected coverage script where coverage is supported, use
the non-coverage integration script for excluded versions, then restore
report:cover:merge and the Codecov action with matching conditions for
coverage-capable cells. Preserve the existing retry behavior and matrix
test-script selection.
🪄 Autofix
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: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: 37276c12-9dba-4ad4-875d-0d22dda596d7
📒 Files selected for processing (1)
ci-balanced-integration-shards.patch
🔗 Linked repositories identified
CodeRabbit considers these linked repositories for cross-repo context during reviews:
webpack/schema-utils(auto-detected)webpack/tapable(auto-detected)
| - - run: yarn cover:integration:${{ matrix.part }} --ci --cacheDirectory .jest-cache || yarn cover:integration:${{ matrix.part }} --ci --cacheDirectory .jest-cache -f | ||
| + - run: yarn ${{ matrix.test-script || 'test:integration' }} --ci --cacheDirectory .jest-cache || yarn ${{ matrix.test-script || 'test:integration' }} --ci --cacheDirectory .jest-cache -f | ||
| env: | ||
| MAIN_BRANCHES: ${{ matrix.use_main_branches }} | ||
| - if: matrix.node-version != '10.x' && matrix.node-version != '12.x' && matrix.node-version != '14.x' && matrix.node-version != '16.x' && matrix.node-version != '18.x' && matrix.node-version != '20.x' | ||
| - | ||
| - # Don't run code coverage analysis on older versions of NodeJS, this will speed up our CI | ||
| - - run: yarn test:integration:${{ matrix.part }} --ci --cacheDirectory .jest-cache || yarn test:integration:${{ matrix.part }} --ci --cacheDirectory .jest-cache -f | ||
| - if: matrix.node-version == '10.x' || matrix.node-version == '12.x' || matrix.node-version == '14.x' || matrix.node-version == '16.x' || matrix.node-version == '18.x' || matrix.node-version == '20.x' | ||
| - | ||
| - - run: yarn report:cover:merge | ||
| - if: matrix.node-version != '10.x' && matrix.node-version != '12.x' && matrix.node-version != '14.x' && matrix.node-version != '16.x' && matrix.node-version != '18.x' && matrix.node-version != '20.x' | ||
| - | ||
| - - name: Codecov | ||
| - uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0 | ||
| - with: | ||
| - files: ./coverage/coverage-nyc.json,./coverage/coverage-final.json | ||
| - directory: ./coverage/ | ||
| - disable_search: true | ||
| - flags: integration | ||
| - env: | ||
| - CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
| - if: matrix.node-version != '10.x' && matrix.node-version != '12.x' && matrix.node-version != '14.x' && matrix.node-version != '16.x' && matrix.node-version != '18.x' && matrix.node-version != '20.x' |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift
Restore compatibility coverage generation and upload.
Line 121 runs test:integration for every compatibility cell. The patch also removes cover:integration:*, report:cover:merge, and the Codecov step. The prior workflow used test:integration:* specifically for Node.js versions where coverage was skipped.
As a result, Windows and macOS coverage, plus Node.js 22.x and 26.x coverage, is no longer reported. Keep coverage commands, merging, and uploads for coverage-capable compatibility cells.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@ci-balanced-integration-shards.patch` around lines 120 - 142, Update the
compatibility workflow around the matrix test step to retain the existing split
between coverage-capable and older Node.js cells: run the matrix-selected
coverage script where coverage is supported, use the non-coverage integration
script for excluded versions, then restore report:cover:merge and the Codecov
action with matching conditions for coverage-capable cells. Preserve the
existing retry behavior and matrix test-script selection.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #21687 +/- ##
==========================================
- Coverage 94.53% 94.52% -0.01%
==========================================
Files 631 631
Lines 82362 82362
Branches 24405 24405
==========================================
- Hits 77861 77856 -5
- Misses 4501 4506 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Generated code sizeComparing
No asset changed size. No runtime gained or lost a runtime module. Built |
Merging this PR will improve performance by 26.22%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ⚡ | Memory | benchmark "asset-modules-resource", scenario '{"name":"mode-development-rebuild","mode":"development","watch":true}' |
844.3 KB | 659.7 KB | +27.98% |
| ⚡ | Memory | benchmark "many-modules-interop-runtime", scenario '{"name":"mode-production","mode":"production"}', measure 'exec' |
21.6 KB | 17.4 KB | +24.48% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing coderabbit/ci-balanced-integration-patch (d0c53e8) with main (638ce71)
Summary
Provides an applyable patch for the runner-balanced integration workflow because the connected GitHub token cannot write
.github/workflows/directly. Requested by Aviv in the CodeRabbit Discord task.What kind of change does this PR introduce?
ci
Did you add tests for your changes?
No; this patch-only PR is validated with
git apply --check, and the underlying workflow change passed actionlint, formatting, cspell, and shard partition checks.Does this PR introduce a breaking change?
No.
If relevant, what needs to be documented once your changes are merged or what have you already documented?
n/a
Use of AI
AI was used to analyze recent CI usage, construct the patch, and run validation.
Final Prompt
Can you create a new branch with a patch file, since you cannot create a workflow?
Final Plan
Done — PR #21687 contains an applyable CI patch without modifying
.github/workflows/directly.➕
ci-balanced-integration-shards.patch+144/-0Apply it with:
Validated by applying it successfully to a clean
mainworktree.Summary by CodeRabbit
Initiative Context