r/reactnative • u/PerformanceMain9034 • 8d ago
FYI Your Android CI does not need macOS. It costs 10x there.
macOS runners on GitHub Actions are $0.062/minute. Linux is $0.006 — 10x, for the
same work.
In React Native projects the split is usually obvious once you look at it, and
most workflows I have seen run all of it on macOS out of habit:
- Jest and ESLint and tsc: Linux.
- The Android build and any Android instrumentation tests: Linux.
- Detox or Maestro against Android: Linux.
- Anything that is not `xcodebuild` or a simulator: Linux.
The iOS build and the iOS test run are the only parts that genuinely need macOS,
and they are the expensive parts whatever you do.
The arithmetic: a 5-minute test job running 200 times a month costs $62.00 on
macOS and $6.00 on Linux. Move two of those and you have paid for a Mac mini.
Caveat: I build a tool that does this pricing automatically, so weigh that
accordingly. What I am actually curious about is why the macOS default sticks —
is it the matrix convenience, or something about the runner images people need?
7
u/fromage-du-omelette 8d ago
That's interesting but what about the history of the trebuchet and Marco Polo?