New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experiment with switching to the fully virtualised Travis infrastructure #1317
Comments
Hi Ed, Thanks for the input. It's interesting, looking back at our blame list for our Travis config, we've switched back and forth between container and GCE a few times, most recently we switched to container to get Trusty (which is now on both I see), before that we dropped sudo for reasons I can't remember (probably because Travis told us the other one would be faster). The 12 minutes is actually a trick, as I re-ran one of the checks, due to a flaky test, which has confused the timing. It turns out we actually have a semi-comparable state running at the moment: Or a fairer test, without re-runs to confuse the numbers (the failures are near the end of each test run anyway): There's caching to confuse things, and a slightly different selection of tests, but assuming the Travis total time is the sum of the individual active times, there's not much in it, given required is currently running an additional test. The sudo false appears to be quicker though; I think we get more tests running in parallel in sudo false/container mode. I guess what we really want is a mix, with the short, simple jobs running in containers (or merge them into one single job, but then the failure of an individual job is less obvious), and the longer compile jobs running in GCE. |
Ah sorry I'd misread and thought there was only one 12 minute job. If it helps, it's possible to mix and match container and GCE by putting the We do something similar in the project I'm working on at the moment, where most jobs default to GCE but the quicker linters run on the container infra instead: |
One other thing - when comparing the relative runtimes of container vs GCE, be aware of travis-ci/travis-ci#8138. |
…iners for the shorter jobs as recommended in OpenLightingProject#1317 This should give us the fastest overall run time.
You're welcome! Have a great rest of weekend :-) |
Hi!
I noticed as part of looking at travis-ci/travis-ci#8315 that the current Travis job is using their EC2 container infrastructure (
sudo: false
) and takes ~12 minutes to run. Whilst jobs start much faster than the fully virtualised GCE infra (1s vs 30s), the container environment has half the RAM and often suffers from CPU contention. See the comparison table here:https://docs.travis-ci.com/user/reference/overview/
For one of my projects I found switching to the fully visualised GCE infra (
sudo: required
) halved the job runtime, so still resulted in a significant net time saving even after including the 30s bootup time penalty.Anyway, thought I'd mention it just in case it helped you too :-)
The text was updated successfully, but these errors were encountered: