ci: shard parity 8 ways + aggregate fan-in — the unsharded job hit the 6h cap - #8244
ci: shard parity 8 ways + aggregate fan-in — the unsharded job hit the 6h cap#8244proggeramlug wants to merge 2 commits into
Conversation
…e 6h cap Run 31935729773's parity job was killed by GitHub's 6-hour job cap (11:44->17:45, `cancelled`), so the release gate could not complete even in principle. Now: * `parity` is a plan-driven 8-shard matrix (`run_parity_tests.sh --shard N/8`, the same round-robin partition gap-suite uses), each shard also running `parity_known_failures.py` (shard-safe by design: an entry whose test is not in this shard is never flagged) and gets npm ci for the #8198 oracle fixtures. * `parity-aggregate` merges the shard reports via the new scripts/parity_report_merge.py (self-tested; REFUSES a missing shard with --expect so a lost artifact is a red run, not a smaller green suite; reproduces the harness's own percentage formula) and runs the two gates whose baselines only make sense on the whole suite: the threshold minimums (a 62%-floor category with two tests in a shard would flap) and the per-module matrix trend. * `gate` fan-in requires parity-aggregate; ci_plan emits parity.total/shards. * Dropped the stale "informational / does not block" comment block: since the tiering, a red parity fails full-suite-gate, which is what release-packages.yml keys on.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Every other job in both attempts is green. This cell will red |
Why
Follow-up to #8187 — this commit was pushed 11 minutes after that PR was squash-merged, so it never landed (branch state at merge time was the
603699ee5head; verified by content onmain, per the #7770 lesson).The first full-tier run (31935729773) proved the problem: the unsharded
parityjob was killed by GitHub's 6-hour job cap (11:44→17:45,cancelled). The release gate (full-suite-gate, whatrelease-packages.yml'sawait-testswaits for) structurally cannot complete without this.What
paritybecomes a plan-driven 8-shard matrix (run_parity_tests.sh --shard N/8, the same round-robin partition the gap suite uses). Each shard also runsparity_known_failures.py— shard-safe by design ("an entry whose test is not in this shard is never flagged") — andnpm cifor the test(gap): make the gap gate capable of passing (10 of 15 snapshot entries recorded an unreachable status) #8198 oracle fixtures.parity-aggregatefan-in merges the shard reports viascripts/parity_report_merge.py(self-tested; refuses a missing shard with--expect, so a lost artifact is a red run, not a smaller green suite; reproduces the harness's own percentage formula) and runs the two gates whose baselines only make sense on the whole suite: the threshold minimums (a 62%-floor category with two tests in a shard would flap) and the per-module matrix trend.gatefan-in requiresparity-aggregate;ci_plan.pyemitsparity.total/shards.full-suite-gate.Validation
A
tier=fulldispatch with exactly this tree ran on the old branch: run 31964093732 — see the comment below for shard/aggregate results when it completes.