Homebrew is an OS X package manager that installs the stuff you need that Apple didn’t. We have thousands of packages (known as formulae) and contributions from thousands of users.
But Homebrew has a problem - we got too popular! Homebrew now receives so many contributions from users that our team of six has a hard time keeping up with them. Testing builds and making binary packages (known as bottles) are time-consuming and it's hard for a given developer to have every possible configuration set up to test with.
Enter brew test-bot. CI for Homebrew is challenging, given all of the OSs and Xcode combinations we support. brew test-bot will be set up on multiple Mac Minis with VMs of every OS X version we support.
How it works
Every time a commit is made or a pull request is submitted brew test-bot will be notified by Jenkins to automatically download the code and run a build on every one of its VMs. Once they finish, brew test-bot will post the results to the issue to let us know that it's ready to be pulled or what needs to be fixed before it can be.
Much of the brew test-bot code is already done and shipped with Homebrew right now! We've tested it and the Jenkins integration using non-final hardware and are confident it's close to ready to roll out.
With your help, we'll purchase multiple Mac Minis to dedicate to brew test-bot and set it up with VM images of every supported version of OS X. Once the hardware is set up in a data centre we can get to work testing brew test-bot and finish up the code. If all goes well, we hope to get it ready for production before April.
How will this affect Homebrew?
Once we're up and running new releases of software, bugfixes and community contributions should be available much quicker in Homebrew. We'll be able to provide bottles (binary packages) for more formulae and provide automated feedback even when we're sleeping.
Who is running this project?
Risks and challenges
The code is mostly written and tested on other hardware so there should not be a problem delivering brew test-bot. There may be possible delays with some further functionality as it's dependent on Homebrew developer time but we've planned to work on this following the (hopefully successful) Kickstarter conclusion.
After funding we will need to order the various rewards and, although we have sourced suppliers, there may be unforeseen setbacks here which we would keep you informed about.Learn about accountability on Kickstarter
Support this project
- (30 days)