-
-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Remove python < 3.5 from CI #12746
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
Remove python < 3.5 from CI #12746
Conversation
#### Reference Issues/PRs Fixes scikit-learn#11989 #### What does this implement/fix? Removes python versions 2/3.4 and lower from CI config files.
I'm not sure why travis fails on
I must be missing something trivial I guess... |
For appveyor, please refer to #11582. |
I agree, but I guess 0.20.2 is gonna be in a few days? |
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.
So, from now sklearn does not support python 2?
From 0.21, which master is tracking the development of. |
Travis is unhappy |
@jnothman , yeah I know, I was hoping one of you would have an easy answer to the error I'm getting there. Otherwise I'd have to launch a VM and check the error on the same environment. Right now I don't have an easy answer to the issue. |
Have you tried increasing the cython version, e.g. latest, if only just to test? |
Adding joblib to the ubuntu test, and using the latest cython, make travis happy. But codecov complains since the parts of the code specific to old packages are not used anymore. For instance, in
There are a few questions:
Anything else I'm missing? |
+1
Would the version from xenial be recent enough?
+1
Yes and the documentation should also be updated to reflect what are the minimum version supported. In particular the windows builds instructions can be simplified. |
Unfortunately the build fails with even a minor version newer than what's provided in Xenial. I can kinda brute force and find the minimum cython which works with Xenial, but I'd personally rather use a new (or new-ish) cython, since we can expect developers and maintainers to have a recent cython (I suppose). |
Still it would be good to approximately know what is the oldest version of Cython that works for scikit-learn. Maybe try 2 manual iterations of bisect to have rough idea and use that for this PR. |
cython <= 0.27 won't work with python 3.7 for sure |
@jeremiedbb thanks, good to know 👍 |
Maybe we need another job to take care of min dependency in Circle CI? |
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.
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.
The 0.20.X branch lives its own life independently of master at this point. We can drop CI support for Python 2.7 and 3.4 in master while keeping such CI configuration in the 0.20.X branch for the future 0.20.2, 0.20.3...
I was assuming 0.20.2 would be very soon in which case keeping py2 for a bit longer would simplify backports. But you are right, I suppose we cannot delay it indefinitely. LGTM as well.
.circleci/config.yml
Outdated
@@ -1,13 +1,18 @@ | |||
version: 2 | |||
|
|||
jobs: | |||
python3: | |||
python3-min-dependency-versions: |
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.
Maybe call this, doc-min-dependencies
as it shows in CI at each PR and the current name is a bit long. Everything is python3 now so putting it in the title no longer brings useful information..
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.
So, doc-min-dependencies
and doc
?
For some reason the LGTM C++ code analysis fails by trying to import sklearn without building it first. This happens when apt is installing the python-typing package:
|
That's really odd, I only changed circle-ci job names in the last commit! |
I wouldn't worry too much about LGTM.com it tends to fail at the analysis step sometimes... |
Ok let's merge before we get conflicts then. |
@adrinjalali would you mind doing a new PR to update at least the README and maybe the build / installation doc to remove references to now unsupported python / numpy / scipy versions? |
Will do my best (I'm still discovering new places with related documentation that I didn't know they're there). |
The following yields some false positives but not too many:
|
|
@ogrisel awesome, thanks :) |
Hmm, Circle CI isn't running on master? |
Honestly I'd argue that this might make 0.20.2 much difficult to release. Since we've merged this, maybe we should release 0.20.2 ASAP. |
This reverts commit 3311e81.
This reverts commit 3311e81.
Fixes #11989
Fixes #12184
Removing python < 3.5 from the CI.
Ubuntu trusty, however has python 3.4 but its support ends on April 2019, which I guess would be our next release?
Should we then focus on what's available on 16.04 instead, and move our min supported versions for other packages as well?