Serious projects use nightly builds and tests for Quality concerns. At freehackers, we felt like we would like having some great tools for that. This article is about the search we did, the tool we choose, and a detailed explanation of how we did.
First, we needed to decide about our criteria:
- Free software. We don't want close source
- Good documentation (better if this is provided by the actual authors)
- Can work with different Source management tools, different build systems (qmake, cmake, ..), and different languages.
Googling a little, we've found a lot of different tools. Lot of them are really java centric. Most of them are using close source licences.
At the end remained only two tools : Dart, and buildbot. We now study them more thoroughly.
CDash (previously Dart)
It's tightly coupled to cmake. It's possible to use for something else, but it's hacky at least.
Documentation is scarce, but a lot better than it once was.
Another common one was buildbot.
Buildbot has been used for several years at freehackers. We stop using it because maintaining it was a nightmare and the interface was ugly. It's based on twisted, which gives it a lot more minus points.
Maintained since it started, long ago (validate point 2) It has good documentation : a architecture overview, a well-written README, and a full manual. The installation is easy. So far, it seems that buildbot fulfill our criteria.
It has two other big advantages:
Jenkins (formerly Hudson)
The standard nowadays. Written in Java, but has existed for very long, and can probably handle most languages/build systems. I did some experiments in 2010, but the support for cmake was not working.
Travis-CI : is probably the most used one today by free software projects. It's written in ruby. It is not really Freely available. Source code is on github, but it's almost impossible to setup your own travis-ci. Or at least it's not documented, nobody has done it, and it looks quite complicated.
Other build software
After this study, other build software have been discovered, but not studied. Maybe for next time.