-
-
Notifications
You must be signed in to change notification settings - Fork 782
Switch Travis from Precise to Xenial infra #4863
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
Conversation
a23dd5b to
1c76c9e
Compare
|
This is a simpler version of #4772 (I cherry-picked the nosetests workarounds). It looks like travis has resolved some of the other issues that Kami was encountering with xenial. Tests timing comparison:
|
6fdf020 to
fb0dafd
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, now this is really helpful! 👍
I like this PR more as it follows the initial @Kami effort, brings minimal changes and doesn't cost us timing penalty as it happens with Bionic + Mongo 4.0 PR in #4862
@cognifloyd The build is green in xenial Travis infra, but let me know if the PR is fully ready or there are any minor changes left.
|
At some point we should flip the linter checks to be run under Python 3. That will automatically turn on some additional checks in the linters themselves to keep our code forward compatible with Python 3 linting. Not saying that has to happen in this PR though. |
blag
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, but I still have some questions.
27665a8 to
756dcdf
Compare
|
I had to re-add some permissions workarounds, but I added the permissions to a more selective set of files under /home/travis (instead of the whole thing). At least for the rabbitmq stuff, we could probably copy the ssl certs to /etc instead of using them in the fixtures dir, but I'm not sure that would make much of an impact because of all the other fixtures that stanley needs to access (as far as I understand). I also got rid of some of the legacy stuff in |
No longer needed without the old xenial permissions workaround that set the entire /home/travis with 777 perms.
xenial has a new enough git (v2.21.0) so don't upgrade.
xenial comes with 4.0, so we have to downgrade to 3.4
These tests were added in StackStorm#4541. Now that we're on xenial, we can reenable them. This skips upgrading rabbitmq. reverts 44e513e originally added in 5387ece reverts 922cb23
3d21a5d to
8ffdc9f
Compare
|
There we go. I heavily rebased and squashed commits. I also included comments and fixes to address reviews. I just pushed one last edit that adjusts only 3 of the thresholds instead of all 5. Once CI returns green, I think this is ready to merge. :) |
There were several issues with the python3.6 virtualenvs. - The Makefile defaults PYTHON_VERSION to python2.7 causing some virtualenvs to be built with 2.7 instead of 3.6. - Once a virtualenv was built with 2.7 it was cached for later builds. - The ci-py3-unit task was running tox for both unit and packs tests. Hiding discrete steps in the same task obscured the lack of pre-building one of the tox virtualenvs. It also made it hard to understand how the job name matched with the TASK/make target. So, this updates the travis jobs to add PYTHON_VERSION and update the job TASK to separate ci-py3-unit and ci-py3-packs-tests make targets. Several other places that use TASK var were adjusted to clarify WHY they were selecting different CI TASKs, thus allowing TASK to be adjusted or reorganized without editing so many different files. In one case, an if statement was selecting all of the TASK options, so the condition was removed to leave just the command invocation. TASK & Makefile to separate py3-unit and py3-packs-tests. And updates several places that use the TASK var to make it clear WHY they are selecting particular TASKs.
Try to adjust as few permissions as possible under /home/travis. This includes adding other perms for fixtures, packs, and parent dirs.
The timing of some make targets is higher than the threshold. For ci-py3-integration, it looks like that threshold is far too short for what the tests regularly take. So, for the jobs that are signifcantly different, this adjust the thresholds to be about 60s more than the last successful build in travis. make target: orig threshold=>new threshold (reference duration) ci-checks ci-packs-tests: 280=>430 (369) ...-py3-unit ci-py3-pac...: 680=>750 (688) ci-py3-integration: 310=>770 (716)
8ffdc9f to
1976cc5
Compare
|
|
a92df33 to
1976cc5
Compare
Try to upgrade travis to xenial from precise.
Ensures that mongo is 3.4 not 4.0. mongo 3.4 is not available in bionic so #4862 probably won't work until dependence on 3.4 is gone.
#4772 tried to update and ran into a many issues esp slowness. It also missed downgrading mongodb.
closes #4772
closes #4862