Skip to content
Latchkey

How to Use ARM Runners for More Efficient CI

ARM cores often complete the same CI job at a lower energy cost per unit of work than x86.

ARM-based runners frequently deliver more performance per watt, and many providers price them below x86. Moving compatible jobs to ARM cuts energy and often cost; keep an x86 leg where you must still ship or test for x86.

Steps

  • Verify your toolchain and dependencies have ARM64 support.
  • Point compatible jobs at an ARM runner label.
  • Keep an x86 matrix leg only where you ship or must test x86 artifacts.

Workflow

.github/workflows/ci.yml
jobs:
  build:
    strategy:
      matrix:
        runner: [ubuntu-24.04-arm, ubuntu-latest]
    runs-on: ${{ matrix.runner }}
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm test

Tradeoffs

  • Some native dependencies lack ARM builds and must compile from source or stay on x86.
  • If you ship x86 binaries, you still need an x86 build even when tests pass on ARM.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →