Stay away from travis-ci! Use Drone!

This is meant to be a follow-up post to my post from Di. 23th of Sept. where I posted some lines about the pain with travis-ci.

We’re running drone with a fedora 20 image since and it couldn’t be better. We build our software in almost no time and it works like a charm! Fedora is wonderful when it comes to package versions, as everything seems to be up to date by now, we had no problems with package versions (although we don’t write C11 code because the GCC doesn’t support it, sadly).

On my machine, the build of our codebase takes, including running all tests, 4.75 seconds, 3 seconds for running the tests alone. I run a Thinkpad X220 with an i5 and 16 GB RAM, if the specs matter to you.

On our CI server, the last build took 5 seconds for the tests (I don’t have a time for the overall build, but it should be near 7-8 seconds).

Just for comparsion: We are building about 20k LOC here, including tests. The code base we build on travis is (now) around 2k LOC and it took up to 30 minutes to build and test it. I think it is clear what I want to say now: Stay the hell away from travis-ci! It is slow and uses outdated libraries. What more to say?

Using drone is just as simple as it can be: Everything is based on docker images, so no need to pull in distro packages on each build. Also no need to retreive the docker image every time, because docker does caching for you (as far as I know, but I would be really surprised if they didn’t do it).

I’m really waiting for matrix-builds for drone, so we can build our code on multiple linux distros at once. Would be really neat!

I know that the drone project page on github states that drone is still alpha stage, but hey… we never had problems with it, after it was set up the first time!