I’m still seeing this problem, even with order defined in stages
.
Context: I have a set of imported configs (part of https://github.com/dwhswenson/autorelease/) that I use to do very careful PyPI releases in my projects. The cycle goes like this:
PR to master: Stages: test
PR to stable: Stages: test
-> deploy_testpypi
-> test_testpypi
Merge to stable: Stages: test
-> cut_release
(new GitHub release)
New release (version tag): Stages: test
-> deploy_pypi
There’s a main (user-facing) import at dwhswenson/autorelease:autorelease-travis.yml
, which then imports each stage individually. When I do a PR to stable, the order is incorrect. It tries to do the test_testpypi
before deploy_testpypi
. (Note that by manually forcing the deploy_testpypi
to run once, tests will pass. But this is not how it should work!)
Things I tried:
- Putting
stages
in the main imported file, after importing the second-level imports: https://travis-ci.com/github/dwhswenson/contact_map/builds/174797763 - Putting
stages
in the main imported file, before importing second-level imports: https://travis-ci.com/github/dwhswenson/contact_map/builds/174802702 - Putting
stages
in the root.travis.yml
(while it was also in the imports): https://travis-ci.com/github/dwhswenson/contact_map/builds/174802899
In all cases, the stages
parameter shows up in the config JSON, with the correct ordering of deploy_testpypi
and test_testpypi
(in fact, the last version, with stages
both imported and defined locally, lists the whole sequence twice). In all cases, the requested order is not used by Travis.
Note that this set of configs used to work fine. I assume this is the result of the same change the OP noticed (last time I did a release was before then).