One of the sessions for Citcon Europe 2008 was Tom Sulston’s Continuous Integration Cage Fight. Seven geeks lined up to show off their CI prowess, and the first one in the cage was Ivan Moore with his CI server, build-o-matic.
Build-o-matic is an open source CI server written in Python. It’s classic open source in the sense that it’s there to scratch an itch: none of the other commercial or open source CI tools will really get to the bottom of who broke the build.
When several developers check in at once and cause a train wreck of a build, it can be hard to see which individual checkin made the build fail. Build-o-matic will do a binary search over the revisions that make up the build, then build them individually until it can find the offending checkin.
Another nice feature is that you can rewrite history to a certain extent and re-run a build. Someone kicked out the Ethernet cable to the build server? No problem. Re-run the build.
My favourite feature though, is the faces. Build-o-matic can display mugshots of the offending developers. I’m not aware of any other CI server (comments please if you do know) that does this. Ivan says it does have a positive effect on team discipline, and broken builds got taken more seriously. It puts me in mind of this paper.