improve(ci): balance compact whole test jobs#104472
Merged
Merged
Conversation
vincentkoc
marked this pull request as ready for review
July 11, 2026 12:42
Contributor
|
Codex review: stale review; fresh review needed. Summary Next step |
vincentkoc
force-pushed
the
perf/ci-whole-shard-balance
branch
from
July 11, 2026 12:59
59ef0cf to
6b8b172
Compare
vincentkoc
force-pushed
the
perf/ci-whole-shard-balance
branch
from
July 11, 2026 13:19
5e368b0 to
0322fe1
Compare
Member
Author
|
Merged via rebase.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #104471
What Problem This Solves
Canonical pull-request CI could wait more than six minutes on one compact Node test job because the serial tooling config was packed into a broad whole-config runner.
Why This Change Was Made
The compact PR planner now balances whole-config groups deterministically and stripes the 329-file serial tooling config into three near-equal groups. The Docker and isolated tooling configs remain explicit whole-config groups with coverage invariants.
This changes only canonical pull-request admission:
mainpushes, manual dispatches, release validation, tooling-isolated coverage, and tooling-Docker coverage retain their existing topology.The compact plan grows from 18 to 20 Node jobs. That two-job increase removes the dominant serial critical path while remaining trivial against the live 10,000 runner-registration bucket.
The wider shard coverage also exposed and fixed three latent test couplings: a stale direct-import assertion, a child config probe inheriting the parent shard filter, and a deadline assertion depending on a live millisecond clock.
User Impact
Maintainers and contributors get materially faster pull-request feedback without dropping test coverage or changing release validation behavior.
Evidence
e60eae386a1f2e3bed27522995cf3c5c67e4b9b0tbx_01kx8jyk8e89h303dqtv905pbrnode scripts/check-workflows.mjsnode scripts/docs-list.jsoxfmt --checkgit diff --check