@mnapoli opened this Issue on August 10th 2015 Contributor

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. vendor/, …)

See http://docs.travis-ci.com/user/migrating-from-legacy/

Challenges: 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.

@diosmosis commented on August 10th 2015 Member

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

@mnapoli commented on August 10th 2015 Contributor

:+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?

@diosmosis commented on August 10th 2015 Member

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

@mattab commented on September 19th 2015 Member

@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?

@pierreozoux commented on October 29th 2015

Does the new docker image would help on that?

@mattab commented on November 2nd 2015 Member

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.



Powered by GitHub Issue Mirror