- All playbooks
- Unnecessary work
- Build before starting the emulator
Build before starting the emulator
Compile the app first, then boot the emulator and install the finished build.
Company examples
How Stripe used this technique
Read what Stripe changed and follow the original sources.
Build before starting the emulator
Stripe React Native moved app compilation ahead of emulator startup and installed the finished APK. It also built only the emulator’s x86_64 architecture and removed a disk-cleanup step, which the author estimated at 20 seconds.
- Use it when
- Compilation runs while an emulator competes for the same CPU and memory.
- Before applying it
- Keep the device and ABI coverage other lanes require, and measure disk headroom before removing cleanup.
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