Guides
How to size runners for Android builds
Gradle assembles and instrumentation tests need very different machines.
4 min read
Gradle assembles and instrumentation tests need very different machines.
Why it happens
The build is CPU- and memory-bound; the emulator is bound by whether KVM is available at all.
How to fix it
- 8 vCPU with 4 GB per vCPU for assemble and unit tests
- For instrumentation tests, KVM availability matters far more than core count
- Each emulator instance wants roughly 2 cores and 3 GB — size for the shard count
- Split unit and instrumentation into separate jobs with different sizes
Your next build could be twice as fast, at half the price
Start free. Migrating away is the same one line, and we publish that diff too.
Related
How to scale self-hosted runnersSelf-hosted runners either queue at peak or sit idle and expensive.How to use runner groupsAny repository can schedule jobs on any runner.How to design a runner label strategyLabels grew organically and nobody knows which to use.Hosted or BYOC: how to chooseYou are unsure whether to use hosted runners or deploy into your own cloud.