Update .travis.yml to the new Travis container based infrastructure

• Apr 2, 2015 - 13:57
Type
Functional
Severity
S4 - Minor
Status
closed
Project

Travis-ci now support a container based infrastructure that should be more performant and so cause less memory issues and less "errored" builds.

Unfortunately, this infrastructure doesn't support sudo and we use sudo to install packages etc... They came up with an addon to install dependency in a controlled environment, based on a whitelist. Most packages we use are already in the whitelist, except lame and libegl1-mesa, so I created two requests to include them.

We will not be able to use update-alternatives but it can probably be replaced by an export CXX=.

More to follow when the packages are in the whitelist.


Comments

The packages are now in the whitelist.
The build needs to be tweaked a bit so we don't need sudo. In particular we try to install stuff in /usr/share/ and that will not work.

Also the connection to launchpad is currently very slow. Installing dependency takes over 10 minutes. Downloading Qt takes 3 minutes... this was all faster with the old infrastructure.

Status (old) active fixed

d187b5d5b

And we are now running on the new infrastructure !
It's not perfect and currently a bit slower but at least we shouldn't have unexpected crashes 80% of the times.

Some things could be made better.
- Network connection to launchpad and OSUOSL is slow. I have no solution for launchpad, for OSUOSL, I moved the Qt install to S3 instead of OSUOSL. Travis is running on EC2 so downloading from S3 should be free. Nevertheless, it's still quite slow 280MB, 30s on old travis from OSUOSL, 200s from S3 on new travis.
- There is no way to use update-alternative in the container, so I had to define CXX and CC. See https://github.com/travis-ci/travis-ci/issues/3668
- We can't use sudo make install, so MuseScore is now installed in $HOME/software

The network connection is fixed!
Downloading Qt now takes 5 seconds. The full build + test around 20 minutes. 30% quicker than the old infrastruture.

We had 2 CPUs only before too, still CPUS=4 improved speed (but reduced reliability). and as far as I can s ccache didn't result in any speed up