Yesterday I got Travis CI working for my pet project balística. Now that I’ve done it, I’m not real sure what the point of it is.
I mean, I’m writing the software. At this point I’m also the sole contributor. No else has commit access except me. I know whether or not my software compiles before I push I’m the one that wrote it.
For anyone else out there who uses Travis CI, why? What benefit are getting from it?
Currently, for me, it’s just misleading. As of this moment, my project is looking for GTK+ 3.6 or greater and the Ubuntu instance Travis CI is offering only has 3.4. So it appears my code fails to compile when it never actually reaches the compilation stage to start with :(.
After looking through the log produced by Travis CI I found that the Ubuntu LTS version that they’re using only has GTK+ 3.4.2 in it. After dropping my required version to that, it now builds just fine. I’m not really worried about that breaking anything else since my use of GTK+ at this point is still minimal at best.
After looking though it, it looks like this is more a pain in the ass than anything. I’m removing it.
Travis CI seems to be catching on pretty well these days. I’ve seen quite a few projects using it on Github, so I wanted to see what all the fuss was about.
If you look at their page you’ll notice Vala is not one of the supported languages. Not to fear though since Vala is merely the middle man and actually ends up being pure C. The only real tricky part then is figuring out how to setup your .travis.yml file so that Travis can compile your Vala -> C.
After a little Googling, here is what I came up with:
language: c compiler: gcc before_install: - sudo add-apt-repository ppa:vala-team/ppa -y - sudo apt-get update -qq - sudo apt-get install -qq gnome-common libglib2.0-dev libgtk-3-dev libsqlite3-dev libvala-0.22-dev valac-0.22 gobject-introspection script: - cmake . - make
The Travis CI servers are just virtual Ubuntu instances so you can use sudo apt-get to install anything you need including new PPAs and any other packages necessary… including Vala!
One thing of note though, it would appear that the servers by default have a lot of things preinstalled for you. Notice I didn’t have to install Cmake and I’m pretty sure I don’t have to install the Sqlite headers either.