Skip to content

fix(ci): bound inner test jobs while preserving concurrency and coverage - #1016

Merged
jxsl13 merged 1 commit into
mainfrom
codex/ci-smaller-test-groups
Sep 13, 2026
Merged

jxsl13 merged 1 commit into
mainfrom
codex/ci-smaller-test-groups

Conversation

@jxsl13

@jxsl13 jxsl13 commented Sep 13, 2026

Copy link
Copy Markdown
Owner

macOS oldstable external shard 1 exhausted the existing 20-minute timeout in both checks jobs on main CI run 34761114704. Large packages currently partition only by process worker count, leaving hundreds of ordinary tests sharing one timeout.

Add a configurable 150-name cap for balanced inner jobs, independent of process concurrency, and specify it explicitly in CI. The checks package now uses six jobs per external shard rather than two, with maximum groups of 128/138 names rather than 383/412. All discovered ordinary tests, stable external assignments, race detection, worker counts, benchmarks, and existing timeouts remain covered. Existing regression inputs are retained; additive tests cover cap boundaries, stability, balancing, and exhaustive external composition. Align the existing exact CI-command expectation with the new flag.

Validation: focused ordinary and race tests passed; unchanged pre-commit and pre-push hooks passed, including all 2005 ordinary names, all 2005 race names, vet/build/staticcheck, generated documentation, plugin build, benchmark smoke execution, and self-scan. The largest local race checks job took 323.140s after build-cache cleanup. These local results do not establish a measured CI speedup or guarantee wall time for one heavy test; the GitHub matrix must validate the runtime result.

Cap each inner test job at 150 discovered names while preserving exhaustive external selection, worker counts, races, and existing timeouts. Keep existing regression inputs and add coverage for bounded stable partitions and large external composition. CI runtime improvement remains subject to matrix validation.
@jxsl13
jxsl13 merged commit 2ee1355 into main Sep 13, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant