Xcode Continuous Integration

Over the past few months, we’ve been evaluating ways to make macOS builds faster and more reliable. As of today, all macOS builds are running on a new, more powerful fleet of VMs with double the amount of CPU and RAM. For many customers, build times have dropped by up to 30%, with 60% fewer Xcode failures.

All macOS builds have been automatically upgraded to the new, more powerful VMs. We’ve been testing this with customers over the past few weeks, and the results have been promising.

Why We Made This Change

While we’re always looking for ways to speed up builds, in this instance we were also looking for ways to reduce macOS build flakiness. One common issue customers faced was simulators failing to start due to memory constraints, which led to timeouts and build failures. Increasing the CPU and RAM of the VMs for macOS builds has significantly improved both speed and performance. While there’s always more to be done to improve build performance overall, we’re very confident that this change will improve build stability for our macOS customers.

Improved macOS Performance on the New Fleet

The graphs below demonstrate increased performance and speed when these open-source projects were added to the new, more powerful fleet:

Performance is better for macOS customers on CircleCI on 2x fleet

Performance is better for macOS customers on CircleCI on 2x fleet

…and higher success rates when dealing with Xcode:

Build times dropped for macOS customers on CircleCI on 2x fleet

Xcode build server