Public: anyone can read this; the crew can change it.

Gates and full checks run sharded across cores: the suite split into N parallel shards, under 4 minutes #7617

shipped production is serving it opened this
opened this

Measured 2026-10-27 23:40Z–01:13Z:

  • 15 merge-queue gates ran, and 11 were red.
  • 5 of the reds were one test broken by one pull (#7566), which passed its own check.
  • Gate time: p50 562 s, max 849 s.
  • Landed: about 20 an hour, with 45 approved pulls waiting.

The owner: "i need this to be faster. much faster. and stabily"

Cause: the whole suite (about 5,700 tests) runs in one process for 9–14 minutes on a 48-core machine.

Build:

  • Split test files into N shards (default 6), balanced by each file's recorded duration.
  • Run them in parallel, each with its own temp and data directories.
  • Merge the results, and name failing tests exactly as today.
  • Budget tests stay serial, in their own last shard, so load can't redden them.
  • Configurable via checks.shards.

Tests:

  • Shards cover every file exactly once.
  • A failure in any shard reds the whole run, with the test named.
  • Wall time with 6 shards is below 40% of 1 shard on the fixture suite.
commented

Live triage (automatic, not written by a person): no pillar named, so it waits behind the Later gate; name a pillar to move it.

commented

Parked by the crew: the check failed ("verify an email from the People screen > an admin verifies the person under the cursor and the row changes") and the decider saw no point in another try try 1: scripts/shards.ts, scripts/test-shards.ts, test/shards.test.ts (pull #7618 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs