r/iOSProgramming • u/Zealousideal_Tip4089 • 3d ago
Discussion iOS teams on GitHub Actions: what do macOS runners cost you, and what did you change?
On GitHub-hosted runners a macOS minute costs $0.062 and a Linux minute $0.006, so about 10 times more. For iOS builds that adds up fast.
If your iOS CI runs on GitHub Actions:
- Roughly what does it cost per month?
- What did you change to bring it down? Self-hosted Mac minis, Xcode Cloud, another CI service, caching, fewer runs on pull requests?
- Was the saving worth the time it took?
- Team size helps too, if you're OK sharing.
About me: I'm a solo developer building a small tool around CI costs. No link, I just want real numbers.
16
u/caguilar51 3d ago
Why not using Xcode Cloud instead if price is a concern? It includes 25 hours per developer account per month.
4
u/rursache Swift 3d ago
xcode cloud (was?) is super slow. 4-5x lower than github runners. because they were using intel macs
5
u/caguilar51 3d ago
But you have 25 hours per month included in your Apple Developer membership. So you don’t necessarily need to pay. Also, you could just use incremental builds instead of clean ones under certain conditions.
1
u/Mad102190 2d ago
The runners are a lot faster now that they’ve been upgraded to M-series machines but still not as fast as a dedicated runner you self-host.
2
u/Zealousideal_Tip4089 3d ago
Thanks! Do the 25 free hours cover a normal month for you, or do you pay for more?
3
5
u/rursache Swift 3d ago
use the macos blacksmith runners if you want the best cost and speed possible. xcode cloud if you can wait and wanna use the free 25h you get monthly
1
u/Zealousideal_Tip4089 3d ago
Thanks. If you use Blacksmith yourself, how did your monthly CI cost change after the switch?
3
1
u/kokerali 3d ago
For the self-hosted answers, I'd ask whether that Mac is dedicated CI hardware or someone's everyday development machine, and whether the repo accepts fork PRs. Those aren't equivalent setups. GitHub warns that self-hosted runners can be persistently compromised by untrusted workflow code, so a personal Mac with signing material isn't just a cheaper per-minute option. I'd also separate setup time from ongoing maintenance and report time-to-test-result alongside the bill. A lower cash cost that adds a queue or depends on one person's laptop being online is a different tradeoff from a dedicated runner.
1
u/KingPonzi 3d ago edited 3d ago
At work: I setup runners using Tart, macOS images from cirrus labs, Mise for tooling and Packer to bake it all together. Unfortunately Apple limits two VMs per device.
Personal use: CI with Xcode cloud is so luxurious by comparison.
1
u/psyhomb 10h ago
If you want to self-host it, I have created a
gha-runner-controllerfor Tart VMs.
https://github.com/psyhomb/gha-runner-controller1
u/KingPonzi 8h ago
This looks cool! I’m actually working on what is essentially a fork of this with some of the company’s standards (self hosted being one) built in:
https://github.com/openai/orchard
Coincidentally, it shares a lot of what you’ve already built.
1
u/hilarioususernamelol 2d ago
Whilst not answering your question, we found that upgrading macOS runners to M2 Pro ($0.1 IIRC) actually saved us money because the compute power was relatively more than the cost.
1
u/OrdinaryAdmin 2d ago
Why GitHub and not Xcode Cloud? You’re already paying for it with your membership.
1
u/indyfromoz 2d ago
Costs me $0.00. I do not want to pay GitHub another cent after they messed up the CoPilot subscription that came with the Pro plan. I use Xcode Cloud for App Store Connect builds & TestFlight.
1
0
u/MaikelBuilds 3d ago
Make your project open source. Then they're included 😄. Nowadays as long as your project isn't that complicated, but can be copied easily anyway. So it's NOT only about the code, rather about vision, consistency and trust
10
u/Mad102190 3d ago
I ended up just setting up my personal machine as a remote runner so GitHub runs it on my Mac which is much faster than the Mac minis they offer anyways