iOS CI, supercharged
Article Summary
Péter Adam Wiesner from Skyscanner reveals how his team slashed iOS CI queue times from 80 minutes to just 7 minutes. The secret? A private Mac cloud that scaled their build capacity 2.5x without sacrificing speed.
When Skyscanner's iOS contributor count surged, their Jenkins-based Mac Mini setup couldn't keep up. The mobile DevOps team needed a solution that respected Apple's hardware requirements while delivering cloud-like scalability. They found it in virtualization technology that changed everything.
Key Takeaways
- Scaled from 8 to 20 iOS executors using Anka virtualization on Mac Pros
- Reduced CI queue wait times from 80 minutes down to 7 minutes
- Build times stayed consistent at 18 minutes per full archive
- Automated VM provisioning with nightly cache baselines to minimize network overhead
- Android jobs scaled separately from 4 to 30 concurrent builds on AWS
Skyscanner built a private Mac cloud that cut iOS CI wait times by 91% while maintaining build performance and enabling consistent, automated environment management.
About This Article
Skyscanner's Mac Mini and Mac Pro infrastructure was set up on-premise and required manual provisioning. It couldn't scale well. Adding executors meant buying new hardware, and updates to NetRestore Image or JAMF caused downtime.
Péter Adam Wiesner's team switched to Anka virtualization by Veertu, which let them run multiple VMs on single Mac Pros. They connected it to Jenkins using the Anka plugin and set up nightly cache baseline pipelines to automate VM creation and reduce network overhead.
Running multiple VMs per Mac Pro increased how much they could do with each machine. VM templates cut down on daily cache pulls. The infrastructure now handles 40-50 executors running at the same time with consistent, automated environment management across their iOS CI system.