I’m working on an open source project code base. We’re using travis-ci as continuous integration server. And it sucks.
Travis runs ubuntu 12.04 LTS Server edition 64 Bit version. And because of this, it has no packages up to date. We have to install gcc-4.8 by hand to be able to write C11 code. We have to use an old version of the “check” unit testing framework, because we were not able to find a PPA for an up-to-date version (ubuntu ships 0.9.6, we want to use 0.9.14).
Also, the build VM does not cache the packages we install (because we do not pay). Therefor, we have a install time of several minutes and a build time less then 1 minute.
So, our conclusion, after using travis for four weeks: stay away from travis if you have an alternative.
We will now set up our own CI server. Maybe drone on docker, where we are able to run docker images to build our source in. We would be able to build for several distros without that much pain. We would need a hoster for this, but hey,… today a hoster costs about 2 bucks per month, if you know who to ask for hosting.
We’re currently trying to set up a drone instance on a fedora 20, just to test if it works as expected and how much effort has to go into it. I guess more posts about this will follow.