Customer Case Study

How Homebrew Increased Developer Happiness with CI Automation on Orka

Homebrew continues to see results with Orka year after year. Their team has CI automation at scale and has increased developer happiness by streamlining processes with MacStadium.

About Homebrew

Homebrew is a free and open-source software package manager that simplifies the installation of software on Apple’s macOS operating system and Linux. Homebrew is widely used in the Mac developer community with over 8,000 community contributors.



Homebrew is no stranger to MacStadium – They were one of the original beta testers for Orka back in 2019. From manually running VMs to streamlining dev workflows with Orka, Homebrew has come a long way in their cloud-hosted Mac journey.

Before MacStadium + Orka

Before the move to Orka, Homebrew ran VMs manually with ESXi and VMware Linked Clones. Every year, as Homebrew grew, more build time was needed to build and test packages. A single image rebuild, some testing jobs, or a pull request could take over 24 hours of build time at near 100% CPU utilization.



“When someone submits a pull request to a package, we build that in CI and make sure their modifications work. But then, where it gets fun, is we need to not only build that package, but we may need to test against everything that depends on that package,” said Mike McQuaid, Homebrew project leader and Workbrew CTO. “So, that might be one or two packages, or for something like OpenSSL, that’s over a thousand. In a case like that, we need to build a new version of OpenSSL and then download over a thousand other packages, test them and build them.”



Homebrew evaluated services like GitHub Actions runners but determined they were not configurable enough and did not provide the capacity needed for their use case. When it came to CI and testing, Homebrew needed something easy that wouldn’t clog up the process. “Because we’re entirely volunteer-run, no one gets is paid to work full-time on Homebrew,” said McQuaid. “We need Homebrew to be fun enough for our maintainers to want to do that.” Homebrew’s volunteers come from all walks of life, not just engineers but also students and academics, all passionate about this open-source project and making an impact.

Resource flexibility made easy

Concerned that CI-as-a-service tools would not be customizable or scalable enough to meet their growing demands, the Homebrew team was excited to try MacStadium’s virtualization platform. Starting as an early adopter of Orka, Homebrew is now fully deployed with Orka in production.



Orka provides Homebrew with the freedom to create and scale the cloud environment they need without time limits or one-size-fits-all VMs. With Orka, resources can be allocated across nodes to allow for very CPU-intensive builds. That is critical when you have the intensive demand that Homebrew does, downloading code, and building binary packages to support three versions of macOS across both Intel x86_64 and Apple Silicon architectures.



In addition, Orka includes a RESTful API and simple CLI commands. The Homebrew team likes that the Orka CLI is more developer-friendly and automatable than navigating a cumbersome UI to manage VMs. “Everyone who has to deal with macOS automation would love a Google Cloud or AWS for macOS,” McQuaid said. “I feel like Orka is the closest thing that you can get to that. You’re able to spin up and spin down VMs using an easy-to-use CLI or API.”



More recently, Homebrew started using Orka for ephemeral machines. Instead of constantly running VMs until a macOS update is done, an image is redeployed every single build. This not only improves security but also increases machine reliability for the Homebrew team. Orka also supports Homebrew’s mixed cluster environment (Intel and Apple Silicon nodes).

“From our perspective, Orka is really the only way we’ve seen to be able to automate the deployment of VMs.”
- Mike McQuaid, Homebrew project leader and Workbrew CTO

Custom CI combined with Orka

Homebrew needed a way to connect GitHub to Orka, so they created their own solution.



They currently use Ruby to connect the ARC API and create their own CI dashboard, which is the main glue between GitHub and Orka. Homebrew uses GitHub Webhooks to send CI jobs to their CI orchestrator, then they would pass it on to Orka to handle virtualization.



We built our own system around Orka. It’s a central part of it in that when a CI job comes in, we spin up a VM, run it, and then tear down a VM. Orka is a big reason why that’s been possible,” said Bo Anderson, Homebrew Maintainer.

Homebrew is ‘happier than ever’ with Orka

With Orka, you can truly have automated CI. “Everyone’s a lot happier with our CI than they were two years ago,” said Anderson.



The biggest update the Homebrew team noticed within was how little manual intervention was needed to maintain smooth-running CI process. Since Homebrew is made up mostly of volunteers when an intervention was needed in the past, bottlenecks quickly formed as contributors waited hours for assistance from other volunteers who were sleeping or working at their day job.



“In the past, when an intervention was required, it could take 8+ hours for a response, says McQuaid. "Since using Orka, we haven’t had those kinds of CI bottlenecks happen for multiple years, and that’s huge for us.”



Developer happiness is invaluable, and Homebrew learned first-hand that using Orka to streamline VMs for their team is priceless. “With Orka, where we can spin up and spin down on-demand, there’s not been the type of build issues that prevent the team from making meaningful progress. I have not had to log in and manually intervene for 2 years,” said Anderson.



Ready to increase dev happiness and automate your CI pipeline?

Top Benefits:

✔ Rapidly increased developer happiness



✔ Instant access to the newest Apple OS



✔ Created CI automation for less manual intervention

“In the past, when an intervention was required, it could take 8+ hours for a response. Since using Orka, we haven’t had those kinds of CI bottlenecks happen for multiple years, and that’s huge for us.”



Mike McQuaid,

Project Leader at Homebrew and CTO of Workbrew

Logo

Orka, Orka Workspace and Orka Pulse are trademarks of MacStadium, Inc. Apple, Mac, Mac mini, Mac Pro, Mac Studio, and macOS are trademarks of Apple Inc. The names and logos of third-party products and companies shown on the website are the property of their respective owners and may also be trademarked.

©2024 MacStadium, Inc. is a U.S. corporation headquartered at 3525 Piedmont Road, NE, Building 7, Suite 700, Atlanta, GA 30305. MacStadium, Ltd. is registered in Ireland, company no. 562354.