Continuous integration

From Freehackers
Revision as of 13:27, 22 July 2007 by Orzel (talk | contribs) (New page: == Context == [http://www.joelonsoftware.com/articles/fog0000000043.html Serious projects] use nightly builds and tests for [http://en.wikipedia.org/wiki/Quality_Assurance Quality] concern...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Context

Serious projects use nightly builds and tests for Quality concerns. At freehackers, we felt like we would like having some great tools for that. We looked around in the free software world, and mainly we've found nothing.

Our problem is that we want to test several projects, most of them are not using cmake. Some of them have unit tests, but others don't. We use a lot of different Source management software.


Dart

KDE is using Dart for their build tests, and freehackers has a history of following KDE technical choices. So we first had a look at Dart.

As it's too often the case with free software, the documentation for Dart is freaking lacking. The website basically says nothing, and googling for some howto doesn't help neither. There's no IRC channel. Well. nothing.

The only way to download Dart is by using CVS. Which says a lot about the readiness of the software. (And CVS is such an odd choice nowadays, but that's another point). So we did.

Quoting the website as of july, 22nd, 2007:

 Dart can be used on projects without CMake. Additional client
 and server configuration is required. Details will be provided soon.

Here's an example of how Dart can look like.


Buildbot

So we had a look at other tools. Googling a little, and searching on freshmeat, we've found quite some reasonable tools. Lot of theme are really java centric. Most of them using close source licences. Even if there is a free trial, we do prefer free software. We are kind of that way. We are not the debian or gnu kind of free software zealots, but still (warning:some troll is hiding in this sentence). Note that we say 'free software'.

Another important criterion was that the software should have been updated one year ago. We aim at using maintained software.

At the end, only one remained : buildbot. And moreover, it has two big advantages:

  • it is written in python. We like python :-)
  • it is available in gentoo. Even labelled as stable. This is definitely a sign of it being usable and tested.