Bar chart: monthly cost of 60 iOS and 60 Android builds in October 2026, Xcode Cloud plus GitHub Linux $3.60, GitHub Actions $59.40, Bitrise Starter $99, Codemagic $112.50, EAS Starter $154

Every mobile team ends up asking the same question once the app has testers: what will it cost to build it on every merge? The answer depends far more on the iOS half than the Android half, because iOS needs macOS, and macOS minutes cost about ten times Linux minutes. Here is the arithmetic for two real-sized teams on the five services most React Native, Flutter and native teams look at in 2026, plus the option of a Mac mini on a shelf.

Prices are the published list prices as of 23 October 2026: GitHub's Actions runner pricing page, Expo's EAS pricing page, Codemagic's pricing page, Apple's Xcode Cloud page and Bitrise's pricing page. Taxes and annual-billing discounts are left out unless stated.

The rates that matter

text
service              what you pay for                 iOS (macOS)            Android
GitHub Actions       per minute                       $0.062 (3-4 core M1)   $0.006 (Linux 2-core)
                                                      $0.102 (5-core M2 Pro, Team/Enterprise only)
EAS Build (Expo)     per build, any length            $2 medium / $4 large   $1 medium / $2 large
                     plan: Starter $19/mo incl. $45 credit, Production $199/mo incl. $225 credit
                     free plan: up to 15 iOS + 15 Android builds, 45 min timeout, low-priority queue
Codemagic            per minute, pay as you go         $0.095 (Mac mini M2)   $0.045 (Linux)
                                                      $0.114 (Mac mini M4)
                     free: 500 M2 minutes a month; fixed plan M2 $3,990/year unlimited minutes
Xcode Cloud (Apple)  compute hours a month            25 h free with the Apple Developer Program
                                                      100 h $49.99 / 250 h $99.99 / 1,000 h $399.99
                                                      (Apple platforms only, no Android)
Bitrise              monthly plan                      Hobby free (300 credits) / Starter $99 a month
                                                      ("recommended up to 100 builds") / Pro $218 a month

Two things jump out before any sums. EAS charges per build, not per minute, so a slow 25-minute iOS build costs the same $2 as a 9-minute one; everyone else charges for time. And GitHub's Linux minutes are so cheap that the Android side barely registers on a per-minute service: 600 minutes of Android builds cost $3.60.

Scenario A: a small team, 60 iOS and 60 Android builds a month

Assume an iOS release build takes 15 minutes from checkout to signed IPA (pods install, a Hermes bundle, archive, export) and an Android release build takes 10 minutes. That is 900 macOS minutes and 600 Linux minutes a month, or roughly three builds per platform each working day.

text
Scenario A: 60 iOS x 15 min + 60 Android x 10 min

GitHub Actions     iOS   900 min x $0.062 = $55.80
                   Android 600 min x $0.006 = $3.60
                   total                       $59.40 a month

EAS Build Starter  plan $19 + (60 x $2 + 60 x $1 = $180) - $45 credit
                   = $19 + $135                $154.00 a month
                   (free plan: stops after 15 iOS + 15 Android builds)

Codemagic PAYG     iOS   900 min x $0.095 = $85.50
                   Android 600 min x $0.045 = $27.00
                   total                       $112.50 a month
                   (the free 500 M2 minutes alone cover 33 iOS builds of 15 min)

Xcode Cloud        iOS   900 min = 15 compute hours, inside the free 25 h = $0
                   + Android on GitHub Linux = $3.60
                   total                       $3.60 a month

Bitrise Starter    flat                        $99.00 a month (120 builds, a bit over
                                               the 100 the plan is sized for)

At this size Xcode Cloud plus GitHub's Linux runners is close to free, as long as your iOS builds stay inside 25 compute hours. That limit counts every task, so a 12-minute test run on each pull request eats the same pool: Apple's own example is that five 12-minute tests make one compute hour. Add 100 test runs of 6 minutes and you are at 25 hours exactly.

Scenario B: a busy team, 300 iOS and 300 Android builds a month

Same build times, five times the volume: about 14 builds per platform each working day, which is what a team with preview builds on every pull request reaches quickly. 4,500 macOS minutes and 3,000 Linux minutes.

text
Scenario B: 300 iOS x 15 min + 300 Android x 10 min

GitHub Actions     iOS   4,500 min x $0.062 = $279.00
                   Android 3,000 min x $0.006 = $18.00
                   total                         $297.00 a month

EAS Build          Starter:    $19 + ($600 + $300) - $45   = $874.00
                   Production: $199 + ($600 + $300) - $225 = $874.00
                   (the plans only differ in concurrency here: 2 vs 10 macOS builds at once)

Codemagic          PAYG: 4,500 x $0.095 + 3,000 x $0.045 = $427.50 + $135.00 = $562.50
                   fixed M2 plan: $3,990 / 12              = $332.50 a month,
                   unlimited minutes, 3 builds at once

Xcode Cloud        75 compute hours -> the 100 h tier        $49.99
                   + Android on GitHub Linux                 $18.00
                   total                                     $67.99 a month

Bitrise Pro        from                                      $218.00 a month
                   ("from 250 builds a month")

The ranking holds, but the gaps widen. Per-build pricing hurts most at volume: EAS is three times GitHub's bill and thirteen times Xcode Cloud's for the same builds. In return EAS handles credentials, the build image and the Expo-specific steps for you, which for a small Expo team can be worth more than the difference.

What a Mac mini on a shelf costs instead

The base Mac mini with M4 launched on 29 October 2024 at $599 in the US with 16 GB of memory. Apple's power figures for it are 4 W idle and 65 W at full load (the current M6 base model: 4 W idle, 70 W maximum). At $0.18 per kWh:

text
Own Mac mini (M4, $599 at launch)

electricity, Scenario A   15 h building x 65 W   = 0.98 kWh
                          705 h idle x 4 W       = 2.82 kWh
                          3.80 kWh x $0.18       = $0.68 a month
electricity, Scenario B   75 h x 65 W + 645 h x 4 W = 4.88 + 2.58 = 7.46 kWh
                          7.46 kWh x $0.18       = $1.34 a month

payback against GitHub Actions (iOS minutes only)
  Scenario A   $599 / ($55.80 - $0.68)  = 10.9 months
  Scenario B   $599 / ($279.00 - $1.34) =  2.2 months
payback against EAS Starter
  Scenario A   $599 / ($154.00 - $0.68) =  3.9 months

The hardware is the cheap part. What you take on is the work the services do: keeping Xcode and the iOS SDK current (Apple has required Xcode 26 for every App Store upload since 28 April 2026), keeping signing certificates and provisioning profiles on the machine, cleaning DerivedData before the 256 GB disk fills, and living with one build at a time. A 15-minute build on one machine means at most four iOS builds an hour, so Scenario B's 14 builds a day fit, but a morning rush of six pull requests means the last one waits 75 minutes.

How to pick, in four lines

Under about 25 macOS hours a month and an Apple-only toolchain you're happy with: Xcode Cloud for iOS and GitHub's Linux runners for Android. Expo project, small team, and you value not touching certificates: EAS, and watch the per-build count. Already on GitHub with steady volume: GitHub's macOS runners, cached CocoaPods and Gradle, and builds only on merges, not every push. Steady volume above roughly 4,000 macOS minutes a month: a fixed plan or your own Mac, because per-minute bills grow linearly and a Mac doesn't.

Whatever you choose, measure your real build time first: run three clean release builds and take the median. A build that drops from 15 to 9 minutes with caching cuts every per-minute bill above by 40%, and changes nothing on EAS.

aipps.dev builds React Native, Android and iOS apps on our own Mac mini and Linux machines and hands back a QR install link for every build.

See aipps.dev

Next steps for the same team: once builds are cheap, the bottleneck is getting them to testers. See Google Play's 12 testers for 14 days rule for a first Android release, and the 2026 store deadlines calendar for the Xcode and API-level dates your build machines have to meet.

Sources: GitHub Docs, Actions runner pricing (macOS $0.062/min, M2 Pro $0.102/min, Linux $0.006/min) and GitHub Actions billing (included minutes: Free 2,000, Pro and Team 3,000); expo.dev/pricing (EAS plans and per-build prices); codemagic.io/pricing (M2 $0.095, M4 $0.114, Linux $0.045, 500 free minutes, M2 fixed $3,990/year); developer.apple.com/xcode-cloud (25 free hours, paid tiers); bitrise.io/pricing; Apple Newsroom, 29 October 2024 (Mac mini M4 from $599); Apple Support, Mac mini power consumption. All read 23 October 2026.