SIGN IN SIGN UP

ci: shard each release leg's gate suite across runner jobs — the workflow's wall clock becomes one shard, not one suite

At 562 gates the suite is ~150 CPU-minutes, ~62 min wall per leg at -j 3 on a 4-vCPU runner (run
34109497781), and that one leg was the whole workflow's critical path; the build is 3 min. test/pargates.py
gains --shard K/N: a deterministic, cost-balanced split (longest-processing-time-first over the committed
.github/pargates-shard-weights.json — median measured seconds per gate; a gate missing from the table takes the
median) and --shard-plan to print the partition. Linux legs run 4 shards (~2,400 predicted seconds each),
macOS legs 2 (GitHub caps concurrent macOS jobs); every shard job builds its own binary. Scheduling inside a
shard is unchanged. Measured on this branch before it touches main.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
J
joyful-ii-V-I committed
db43f42203a8c03d4e5c0499f765c3d5441bbd94
Parent: 2848e64