- All playbooks
- Unnecessary work
- Run shared validation once
Run shared validation once
Remove overlapping task or matrix invocations that perform the same check on the same inputs.
How companies used this technique
Read what each company changed and follow the original sources.
Run platform-independent checks on one matrix leg
The desktop job ran on macOS, Linux x64 and Linux arm64, and each leg repeated typecheck, lint, format, API drift, unit, component and security suites. The PR runs those steps on the ubuntu-latest leg; every leg still packages the app, with ubuntu-latest x64 running the full journey suite and macOS and ubuntu arm64 running a 5-journey smoke subset.
- Use it when
- A matrix over operating systems repeats checks whose result is the same on every OS.
- Before applying it
- Keep any check that reads platform-specific code paths, native modules or line endings on every leg it can differ on.
Avoid repeating CI checks in a version bot’s commit hook
The versioning action disabled Husky because separate workflows already handled its precommit checks. This adapts the duplicate-command recipe and depends on required CI running the same checks.
- Use it when
- An automated version PR repeats hooks already enforced by required CI.
- Before applying it
- Never bypass a check merely because it is expensive. Prove equivalent file scope and failure propagation in required workflows; retain checks that only the hook performs.
Run snapshot checks once in a dedicated lane
Stripe iOS re-records snapshots in a dedicated job and skips those snapshot classes in the main unit-test jobs only when that dedicated job is part of the pipeline. Standalone framework jobs keep every test.
- Use it when
- Snapshot or generated-output checks run both on their own and inside a broad suite.
- Before applying it
- Skip a class in one lane only while a required lane runs it, and keep runtime variants and aggregate results unchanged.
Stop invoking tests twice through overlapping tasks
Stripe Android’s screenshot verification already ran the unit tests. A new dispatcher task runs screenshot verification for modules that have it and unit tests for the rest, so each module runs its tests once. Stripe .NET removed a Debug build and test pass that repeated the Release pass for an SDK with no configuration-specific code.
- Use it when
- A test wrapper invokes another test task that CI also calls directly, or two configurations run the same code.
- Before applying it
- Compare the test and screenshot inventories before and after, and keep a configuration that has its own code paths or its own published build.
Company Playbooks
- Read Anthropic’s playbookRun only affected tests
- Read DoorDash’s playbookRun build and test in parallel, sharded across CI agents
- Read Linear’s playbookBenchmark the same job on faster hardware
- Read Mastra’s playbookStarSling runners for the slowest test workflow
- Read OpenAI’s playbookRank CI fixes by the minutes they save
- Read Ramp’s playbookMove a CPU-bound test suite to a faster CPU
- Read Shopify’s playbookLet an agent iterate against one CI metric
- Read Spotify’s playbookBuild arm64 on native arm64 runners
- Read Stripe’s playbookRun only the tests a change can reach
- Read Uber’s playbookBuild the merge-queue speculations most likely to be needed