Improving iOS CI/CD Performance: Migrating from Azure to Codemagic
Article Summary
Bevan Christian from IDN Engineering cut iOS CI/CD time by 76.85% with one platform switch. Here's how a simple migration delivered results most teams only dream about.
IDN Engineering's iOS team was drowning in 80-90 minute build cycles on Azure, killing development velocity. They migrated to Codemagic's M1-powered infrastructure and documented the entire journey—from the pain points to the exact YAML configurations that made it work.
Key Takeaways
- Total CI/CD time dropped from 80-90 minutes to just 25 minutes
- M1 architecture was the game-changer for build performance
- Complete YAML setup included: testing, Firebase deployment, auto-versioning
- CocoaPods caching and concurrent workers (4) optimized test execution
- Automated release notes from git commits since yesterday
Switching from Azure to Codemagic's M1 instances delivered a 76.85% improvement in iOS CI/CD performance, slashing build times from 80-90 minutes to 25 minutes.
About This Article
IDN Engineering's iOS CI process was slow. Builds, tests, and coverage took 40-50 minutes, then CD added another 40 minutes on top. This bottleneck held back development velocity, even after they made some temporary fixes.
Bevan Christian's team switched to Codemagic and used the mac_mini_m1 instance type. They set up automated CocoaPods caching, ran 4 concurrent test workers, and configured Firebase App Distribution publishing through YAML.
Total build time fell to 25 minutes. The pipeline now generates release notes automatically from git commits, handles auto-versioning with agvtool, and manages provisioning profiles. Ad-hoc distribution became straightforward.