Mac pro, mac mini or new mac mini for iOS CI?

With the rapid growth in the iOS apps market, iOS development teams are moving their build and test setup from under their desks to managed, multi-machine environments. With the increase in team size, app count and complexity also comes business requirements to make building and to test the apps more consistent, predictable, and efficient. iOS development teams are looking for CI build and test infrastructure, which can scale dynamically and provide predictable results with minimal management. Cloud-powered by virtualization technology solves this problem.

Anka Build solution enables the configuration of such a macOS cloud on mac hardware. The next question is which mac hardware to use for configuring private macOS cloud for iOS CI? There seem to be some preconceived assumptions that machines with large CPU core count are ideally suited for this.

We ran a set of tests and discovered that the best rackable Mac hardware to configure private cloud for iOS CI is the 2018 mac mini machine. The 2018 mac minis give the most performance for virtualized build environments, which is one of the critical demands of iOS developers.

These tests were done using the opensource https://github.com/kickstarter/ios-oss project. The results are very self-explanatory. We plan to run the same tests when the new Mac Pro becomes available.

Model1 Anka VM running2 Concurrent Anka VM running
2018, 6 core/32GB Mac Mini2m2.754s (12vCPU)2m58s(6vCPU)
12 core/64GB Mac Pro6m3.718s(12vCPU)6m19s(6vCPU)
8m41.625s(24vCPU)8m47s(12vCPU)
2014, 2 core mac mini8m13.372s(4vCPU)NA
2012, 4 core/16GB mac mini4m38.090s(8vCPU)7m56s(4vCPU)

How to create your own real device cloud for iOS CI with Anka Build

Anka Build enables you to configure your private macOS cloud. You can create and run macOS VMs on-demand for iOS CI and manage it as infrastructure-as-a-code. Additionally, with Anka Build Enterprise Tier, you can also configure a real device cloud to augment your simulator based CI testing.

Anka Build enables you to work with real devices inside Anka macOS VMs through the USB interface. After connecting and claiming the real device on the mac host/node machines, dynamically attach the device to provisioned Anka VMs through the Anka Build Cloud Controller REST API interface. Check out detailed steps in our documentation.Register for a trial at www.veertu.com.