Skip to content

[MRG] CI Push Scipy minimum version to 1.1.0. Remove Python 3.6 from builds. #20069

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

Merged
merged 55 commits into from
May 18, 2021

Conversation

cmarmo
Copy link
Contributor

@cmarmo cmarmo commented May 10, 2021

Reference Issues/PRs

Closes #19705, closes #20084.

What does this implement/fix? Explain your changes.

Pushes Scipy minimum version to 1.1.0.
Pushes Numpy minimum version to 1.14.5.
Pushes matplotlib minimum version to 2.2.2 for compatibility with python3.7
Drop 3.6 builds.
Configure Azure builds to run on ubuntu Focal 20.04 LTS.
Adds one bionic 18.04 LTS azure build with scipy from conda-forge and python 3.7
Move the Linux 32bit build from ubuntu to Debian 10 as debian still support 32bit and is distributed with python 3.7.

Any other comments?

Before I start fixing the version conflicts, please, let me know if the defined set of builds fits your requirements. Thanks.

maybe ping ... @ogrisel , @thomasjpfan , @rth ?

Copy link
Member

@rth rth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @cmarmo ! LGTM, once the CI passes.

Copy link
Member

@thomasjpfan thomasjpfan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this issue @cmarmo !

@cmarmo
Copy link
Contributor Author

cmarmo commented May 10, 2021

ubuntu_atlas_32bit is failing because Ubuntu dropped a lot of 32bit packages: should I force to install the 64bit version or revert the distribution to Bionic for the 32bit build?

@thomasjpfan
Copy link
Member

If we want to test scipy 1.0 on any 32bit linux, we would need to install from pypi and not use apt. Given that ubuntu has dropped support for 32bit linux on apt for newer versions of scipy, I think testing with the pypi scipy 1.0 is reasonable.

@cmarmo
Copy link
Contributor Author

cmarmo commented May 10, 2021

@thomasjpfan unfortunately also

E: Unable to locate package libatlas3-base
E: Package 'libatlas-base-dev' has no installation candidate
E: Package 'ccache' has no installation candidate

... so I guess I should move to conda for 32bit...

@thomasjpfan
Copy link
Member

Using doctest for floats are kind of flaky. :/

For SGDClassifier, I think setting random_state may make it work.

For LinearRegression, I would skip for now and consider using https://github.com/astropy/pytest-doctestplus for float comparisons in the future. (astropy uses it :D)

@cmarmo cmarmo changed the title [WIP] CI Push Scipy minimum version to 1.1.0. Remove Python 3.6 from Azure builds. [MRG] CI Push Scipy minimum version to 1.1.0. Remove Python 3.6 from Azure builds. May 17, 2021
@cmarmo
Copy link
Contributor Author

cmarmo commented May 17, 2021

All green! Should minimal dependencies be added to changelog? Thanks!

@ogrisel
Copy link
Member

ogrisel commented May 18, 2021

All green! Should minimal dependencies be added to changelog?

I think so. Maybe either at the beginning or the end (no strong opinion).

@cmarmo
Copy link
Contributor Author

cmarmo commented May 18, 2021

All green! Should minimal dependencies be added to changelog?

I think so. Maybe either at the beginning or the end (no strong opinion).

I have added the 'no changelog' label to make the check pass: the check looks for the PR number and I haven't add it (I don't think this is a useful info in this case).
I have put the minimal dependencies at the beginning of the changelog, I think this is an important information.

@cmarmo
Copy link
Contributor Author

cmarmo commented May 18, 2021

After checking I realized that Travis and CircleCI were quite easy to modify. I have merged into this PR the updates of the other builds too.

@cmarmo cmarmo changed the title [MRG] CI Push Scipy minimum version to 1.1.0. Remove Python 3.6 from Azure builds. [MRG] CI Push Scipy minimum version to 1.1.0. Remove Python 3.6 from builds. May 18, 2021
@lorentzenchr
Copy link
Member

CI all green like a 🐸! @cmarmo Thank you very much for this work. I'm looking forward to see it merged as it will enable to merge #9978.

Copy link
Member

@GaelVaroquaux GaelVaroquaux left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks (and thanks for fixing funny typos). Merging.

@GaelVaroquaux GaelVaroquaux merged commit 40b45e6 into scikit-learn:main May 18, 2021
@cmarmo cmarmo deleted the scipy-1.0.0 branch May 18, 2021 15:23
@cmarmo
Copy link
Contributor Author

cmarmo commented May 18, 2021

I should have committed with [ci build] , there is an issue with minimal dependencies of scikit-image. I'm working on it. Sorry for that.

@GaelVaroquaux
Copy link
Member

GaelVaroquaux commented May 18, 2021 via email

@rth
Copy link
Member

rth commented May 26, 2021

Thanks for making this happen! I think we would also need to update the readme and the installation documentation accordingly.

@cmarmo
Copy link
Contributor Author

cmarmo commented May 26, 2021

Thanks for making this happen! I think we would also need to update the readme and the installation documentation accordingly.

You are right! Sorry! I'm on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Drop Python 3.6 support for 1.0 [RFC] Minimal scipy version for 1.0 (or 0.26) release
6 participants