-
-
Notifications
You must be signed in to change notification settings - Fork 26k
MNT Use conda-forge instead of the main channel in CI #21337
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
@glemaitre seems like our CI uses the main channel and not conda-forge, testing conda-forge here. We shouldn't be using the main channel anyway. |
I am fine to only run the docstests on conda-forge CI jobs if that allows to not waste time trying to understand the cause of the scientific notations in the doctests (#21324). However, it's a problem if we no longer run the scikit-learn tests at all against numpy and scipy from the Anaconda main channel as I suspect a significant fraction of our users still do and problems such as #21326 are more serious than a wrong print format. |
Anaconda main channel is not maintained by maintainers of the packages, we have pretty much no control over them. I don't want us to spend any energy on a system which is a black box and we don't control. Unless we're paid to maintain against packages in the main channel, I don't think we should be spending time and energy on it. |
The failing test is a numpydoc validation one: https://dev.azure.com/scikit-learn/scikit-learn/_build/results?buildId=33615&view=logs&j=78a0bf4f-79e5-5387-94ec-13e67d216d6e&t=dbc16e8a-e84c-5cb6-14f6-590d872d6e0b @glemaitre ideas? |
Regarding the numpy validation, I added the PR of @thomasjpfan but without merging |
So should we merge this and @ogrisel 's PR pulls this to make the CI green, or the other way around? |
Merge @ogrisel PR first, "rebase" this one, and try to understand the segfault: This one is fresh and I never seen it before. |
I think I've seen that crash, and a restart of the CI fixed the issue. But we'll check once Olivier's PR is pulled here. |
should we merge this one, w/o scipy1.2 upgrade, and fix that issue separately? |
This reverts commit 139fde4.
Note that both failures are on py3.7 which we're dropping for the next release |
I can reproduce the |
Some of the original issues have gone away magically (probably caused by a transient problem in the conda main channel packages). I am not sure this PR is needed anymore. |
I would be happier if we actually test against conda-forge, something people can use for free without having to pay, rather than conda/main. I think our duty is to those users more than conda/main users. Happy to have conda/main tests in a cron job to report issues to anaconda if we want, but I think we should be testing against conda-forge. |
We do already test against conda-forge dependencies (and pypi.org dependencies) in other builds. I think it's good to test against various popular package providers to shake our test assertions and make our test less brittle. I agree that from time to time this causes our CI to fail for transient reasons outside of our control but I think it's rare enough we can bear it, no? |
I must be missing something, because I don't see anywhere us checking against conda-forge envs. |
I re-ran the failed job and it went away. This build probably failed just before the transient problem went away. |
#21324 is happening again... |
Instead of hardcoding conda-forge in the |
The segfault on |
Weirdly enough we did not get the #21345 failure on this one... |
@ogrisel I think your import of sklearn is too early in script here |
DISTRIB: 'conda' | ||
CONDA_CHANNEL: 'defaults' # Anaconda main channel |
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.
We need to use the anaconda main channel to test against scipy='min' (that is 1.1.0 currently) because the version shipped in conda-forge has a segfault in cdist
.
It's probably not worth wasting time debugging or reporting this segfault because this is a really old version of scipy that we probably won't support anymore once we bump the dependency on Python 3.8 for instance.
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org>
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.
+1 for merge.
I'm happy with the changes, thanks @ogrisel . @glemaitre feel free to merge if you're happy. |
…1337) Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org> Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org> Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
…1337) Co-authored-by: Olivier Grisel <olivier.grisel@ensta.org> Co-authored-by: Guillaume Lemaitre <g.lemaitre58@gmail.com>
Somehow anaconda has patched python in the main channel that it breaks our CI. We should be using conda-forge instead, maintainers don't maintain what goes on the main channel.
Fixes #21324, #21325, #21326, #21327
Closes #21329