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
[INFRA] Test minimum supported version of matplotlib for min_requirements testing #3976
Conversation
👋 @ymzayek Thanks for creating a PR! Until this PR is ready for review, you can include the [WIP] tag in its title, or leave it as a github draft. Please make sure it is compliant with our contributing guidelines. In particular, be sure it checks the boxes listed below.
For new features:
For bug fixes:
We will review it as quick as possible, feel free to ping us with questions if needed. |
Maybe it's overkill but shouldn't we also test the |
Codecov Report
@@ Coverage Diff @@
## main #3976 +/- ##
=======================================
Coverage 91.79% 91.79%
=======================================
Files 134 134
Lines 15776 15776
Branches 3286 3286
=======================================
Hits 14482 14482
Misses 751 751
Partials 543 543
Flags with carried forward coverage won't be shown. Click here to find out more. 📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
maybe I am missing something, but isn't that pretty much what the tests on "nilearn[min]" do? nilearn/.github/workflows/testing.yml Line 13 in 0c27826
|
So the min_requirements job tests minimum versions of min = [ The min_requirements_matplotlib job additionally takes plotting = ["matplotlib >= 3.3.0"] so it doesn't install the minimum version of matplotlib (it ends up installing 3.5.3). The second proposition here #3976 (comment) is to test latest versions of everything without matplotlib and plotly, which we don't do. Hope that's clear! |
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.
LGTM.
Very clear thanks. Though I as thinking that it may be easier to "read" with the proper "matrix" in CI, rather than different set of dependencies in the pyproject.toml. Not sure how often users (or dev) actually use those different extra requirements. If they are only used in testing in CI may be better to declare them there. |
@Remi-Gau I see what you mean and we can restructure it if there's a set up that makes more sense but for the developer it's nice to just be able to |
OK if you use it once in a while let's keep in the pyproject.toml. I like to use makefile to keep track of my repo specific "dev recipes", so I can really blame any dev who makes themselves more at home in a repo. 🤗 |
Ok not a bad approach. I don't mind relying on makefile commands and we can certainly add some recipes to the nilearn Makefile to "replace" the environments in pyproject.toml |
my bad: that was not a suggestion. |
See #3973 (comment)