Piwik is using Travis' legacy infrastructure (VM based). Moving to the new infrastructure (Docker based) would have the following advantages:
- builds start in seconds
- faster builds
- more consistent build times
- 2 cores and 4GB of memory instead of 1.5 cores and 3GB
- better network capacity, availability and throughput
- caching of directories (e.g.
sudo is not available. That means for example installing some binaries locally (and e.g. add them in the
PATH), or use the
apt-get config key in
travis.yml. Also very important: "Databases don’t run off a memory disk".
Maybe worth a try to see if build time improve.
Tried doing this in a branch, got to the point where tests ran, but I had to use the PHP web server instead of nginx. Seems to cause some tests to fail. This is the branch: https://github.com/piwik/piwik/tree/travis_sudo_false
:+1: Why couldn't you use Nginx? seems like it's possible to install stuff with apt-get (in travis.yml), maybe it's to write the config?
I was able to use a custom config to avoid needing write permissions, but you need sudo to start it :(
EDIT: start it w/ a custom config file
@diosmosis do you think it's worth spending few more hours to try to run on the new Travis infra? or were we blocked completely and it's better to postpone it for a while?
Does the new docker image would help on that?
We tried to migrate and it didn't work for us because Mysql runs off the disk and not off RAM, making our builds slower and timing out. Cancelling the project for now until travis will make Mysql run off the RAM in the docker infrastructure.