Skyscanner Jan 7, 2019

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

Critical Insight

Skyscanner built a private Mac cloud that cut iOS CI wait times by 91% while maintaining build performance and enabling consistent, automated environment management.

The team had to solve a tricky caching problem with 60-70 GB VM templates, and they discovered an unexpected crash with Xcode's new build system along the way.

About This Article

Problem

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.

Solution

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.

Impact

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.