Update .travis.yml to the new Travis container based infrastructure
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.
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
22 minutes for a build is not too bad, seems even faster that before?
Maybe using CPUS=4 and -j4 gives further speedup?
The network connection is fixed!
Downloading Qt now takes 5 seconds. The full build + test around 20 minutes. 30% quicker than the old infrastruture.
And still potential with using CPUS=4 and -j4, I guess
i'm betting more on ccache currently. The container has 2 CPUs.
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
Automatically closed -- issue fixed for 2 weeks with no activity.