Guides
How to move CI to arm64 runners
You deploy to Graviton or Ampere but build on x64.
7 min read
You deploy to Graviton or Ampere but build on x64.
Why it happens
Building on a different architecture than you deploy to means architecture-specific bugs surface in production.
How to fix it
- Run the full suite on an arm64 runner before switching anything
- Check native dependencies have aarch64 builds — this is where failures appear
- Include runner.arch in cache keys so x64 and arm64 caches do not collide
- Expect a cost reduction: arm64 is usually cheaper per minute and often faster
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
arm64 migration checklistYou want to move to arm64 without breaking the pipeline.Cross-compiling versus native arm64You need arm64 binaries and are unsure whether to cross-compile or build natively.Why QEMU arm64 builds are so slowAdding linux/arm64 to a Docker build makes it twenty times slower.Fixing Node native modules on arm64npm install fails or compiles from source on arm64 runners.