Skip to content

Consumer apps

Kestrel Mobile halved their macOS bill

An iOS team paying for macOS minutes to run JavaScript tests, and what moving them to Linux did.

−54%
macOS spend
18m → 5m
Xcode build
47m → 19m
Release pipeline

Roughly a third of our Mac minutes were running ESLint. Nobody had ever questioned it.

iOS lead, Kestrel Mobile

Kestrel's repository held the iOS app and its React Native JavaScript layer. Everything ran on macOS because the iOS build needed to.

What changed

  1. Lint, unit tests and JS bundling moved to Linux runners
  2. DerivedData persisted between runs, which cut incremental Xcode builds by two thirds
  3. Simulator runtimes pinned to preinstalled versions, removing a 4-minute download
  4. Notarisation split into its own job so it stopped blocking test feedback

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.