-
Notifications
You must be signed in to change notification settings - Fork 283
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
Switch to tox #5184
Switch to tox #5184
Conversation
bc2c63f
to
c061487
Compare
83219a3
to
fd8afb6
Compare
So this should be all good to go, but there are now three test failures:
Which is interesting since I've not touched any test files. Maybe something to do with the environment creation! |
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.
This is coming together nicely! Couple of final observations.
5752267
to
4d405e1
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5184 +/- ##
=======================================
Coverage 89.37% 89.37%
=======================================
Files 89 89
Lines 22426 22426
Branches 5379 5379
=======================================
Hits 20043 20043
Misses 1637 1637
Partials 746 746 ☔ View full report in Codecov by Sentry. |
This is getting closer. I just have to make change to the benchmarks and test them locally. |
69e92f8
to
6b34302
Compare
Benchmarks ran, so this should now be ready! |
Since everything is in a single commit I think I'll need to go back through all the changes - I can't remember which bits I did and didn't review back in March. So this will need to wait until after the sprint. |
Thanks! no rush at all! |
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.
OK, I've been through this with fresh eyes, including lots of trial tox
runs locally, and I think it makes sense. The Tox world seems a lot slicker than the Nox world, even if I did need to learn a new syntax 👍
So my only outstanding caution is concerning dependency on tox-conda, since it's such a small project. See below.
cache_period: ${{ env.CACHE_PERIOD }} | ||
env_name: ${{ env.ENV_NAME }} | ||
install_packages: "cartopy nox pip" | ||
install_packages: "cartopy tox'<4'" |
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.
I feel a little uncomfortable that this remains necessary over 6 months later (see tox-dev/tox-conda#163).
tox-conda looks in need of more maintainers, are we comfortable being dependent on it? @lbdreyer @bjlittle
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.
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.
Having thought more, that was ill-informed, since Tox still offers neat inheritance tricks. But if we stick with tox-conda, we need to be comfortable sticking with the pin as well. Of course being pinned kinda undermines the idea of adopting something more popular.
Thanks @ESadek-MO and @HGWright for conversation on this topic.
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.
Also leaves us to potential security vulnerabilities:
Looks like this didn't get recorded, but discussions between @SciTools/peloton in December concluded that we should investigate how easy it would be to maintain our own tox-conda plugin, with just the features that we need. @pp-mo expressed an interest in this, I don't know how it has progressed. We accepted that this is less good than maintaining the real, public plugin. But we also agreed that it could be the pragmatic approach since a private plugin would take less maintenance and make us less vulnerable to outside forces. @HGWright highlighted that if we got a proof-of-concept together then we could potentially start a conversation on the tox-conda repo to see how many others are maintaining their own plugin and discuss pooling resources. This matters for this PR, as I am increasingly reluctant to approve tox-conda becoming a dependency. |
|
WIPThis is now ready for reviewThis switches our use of nox to tox, re #4806