How We Gave Superpowers to Our macOS CI
May 1, 2020Spotify Engineering

Summary
This post details the technical decision-making and implementation of migrating macOS CI agents from virtual machines to bare metal. It outlines the performance issues with VMs (variance in build times, I/O bottlenecks due to high write usage on SAN) and the benefits observed with bare metal (consistent build times, twice as fast builds, improved stability). The post includes benchmark data comparing VM and bare metal performance for iOS client release builds and unit testing configurations, highlighting P50 decreases from over 16 minutes to less than 8 minutes for App Store builds. It also mentions the use of Flow Swiss as a bare metal provider and the integration with existing tooling.