Introducing Buildkite’s macOS CI managed service - Buildkite Blog

Introducing Buildkite’s macOS CI managed service

Update, June 2021: We are no longer offering Buildkite-hosted macOS agents. For more information on spinning up your own Buildkite agents on macOS, see this guide from Stark and Wayne or check out the docs.

We are excited to announce an early access program for our macOS agents managed service, providing the first scalable CI platform for Mac and iOS development. Addressing the problem of CI in the macOS and iOS app building space has been a passion project for me for several years, as I’ve seen firsthand how hard it is to run and manage macOS servers for our customers, so I’m excited to see it finally realized.

The current state of the macOS ecosystem

Those in the iOS building space know that it can be difficult to apply CI/CD principles to iOS development. Here are some challenges that many teams face:

  • Licensing - Developers are required to run virtual macOS instances on Apple hardware, making it difficult to scale macOS build and test infrastructure in the cloud.
  • Containers - Currently, macOS cannot be run on Docker and there are no similar macOS-specific tools, which makes creating stateless builds challenging.
  • System updates - Apple releases updates to macOS, Xcode, and iOS with little warning, requiring developers to rush to get the latest version in order to test their app on it.
  • Slow compilation times mean slow builds - Large macOS and iOS applications are slow to compile, and compilation needs to happen before tests can be run.

Taken together, these challenges make it hard for macOS and iOS developers to iterate quickly and practice modern CI/CD. We believe our new service will meet the needs of organizations with large iOS teams that do not have resources to host their own macOS CI infrastructure, but we also think that even teams that do have the resources to host their own will find benefit as they can focus their time on solving critical business problems.

Buildkite’s managed macOS service

Our service began as a pilot project for one of our large mobile app clients for whom iOS builds are a large part of their workflow. We started the pilot to see if we could provide a managed service that reduced their maintenance overhead while also delivering faster build times than all the other hosted macOS alternatives. So far, it’s been a great success and we believe that there are other organizations with similar sets of problems that would benefit from it. Our goal is to receive feedback about this early stage service as we continue to hone the product and add features.

Here’s what you can expect from the early access program:

  • Buildkite agents, running on macOS, used by you and managed by Buildkite.
  • New versions of macOS and Xcode ready for testing within 2 business days of release.
  • Hosted on dedicated latest generation x86 Mac minis optimized for speed (ARM is next).
  • Monthly billing, with no long-term commitments.

What differentiates our tech

Where other hosted macOS build services aim to solely optimize for cost by oversubscribing older generation Macs, our goal is to provide the fastest builds for macOS and iOS – on the latest hardware. Here’s how we do it:

Flow partnership – Our hosted agents are built in close partnership with our hosting partner, Flow. With Flow’s close relationship with Apple we have access to preview releases and have the ability to virtualize new hardware and OS versions as close to release day as possible.

Parallels virtualization – We use the latest bare-metal Mac minis deployed with a virtualization layer built by Parallels. Parallels has been developing macOS-centric virtualization software since 2006 and can provide a level of performance optimization and compatibility with new macOS releases that is hard to match.

This is an exciting time in the macOS-building space. We hope you’re as excited as we are to discover just how good it can feel to run hosted macOS agents with Buildkite!

To learn more, check out our product page to request early access


Why Buildkite?

Buildkite is the fastest, most secure way to test and deploy code at any scale.

Our self-hosted agents work in your environment with any source code tool, platform and language including but not limited to Ruby, Xcode, Go, Node, Python, Java, Haskell, .NET or pre-release tools.

See more features →

Two people launching a pod

Start Trial

Sign up for a free trial now
and connect your first agent.

Start Trial →