Flexible Continuous Integration for iOS
Article Summary
Michael Bachand and Xianwen Chen from Airbnb rebuilt their entire iOS CI system—and cut maintenance time while running 10 million minutes of jobs quarterly. Here's how they ditched 300+ physical Macs for AWS infrastructure.
Airbnb's iOS team was drowning in manual maintenance, logging into 300+ physical Macs individually for updates and troubleshooting. When AWS introduced Mac instances, they saw an opportunity to rethink everything using Packer, Terraform, and custom AMIs.
Key Takeaways
- Daily instance rotation prevents configuration drift across entire CI fleet
- Xcode rollout speed increased 20% using isolated test environments
- Packer builds fresh AMIs for both architectures in just hours
- Auto-scaling adjusts capacity based on job volume and weekday patterns
- Engineers eliminated manual logins to 300+ machines for OS updates
Critical Insight
Airbnb now deploys iOS CI changes via Terraform pull requests and scales capacity on demand, spending meaningfully fewer hours on maintenance despite growing job volume.