Skip to content
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

[WIP] 0.22.2 release branch #16587

Merged
merged 13 commits into from Feb 28, 2020
Merged

Conversation

jeremiedbb
Copy link
Member

@jeremiedbb jeremiedbb commented Feb 28, 2020

branch for the 0.22.2 bug fix release.
I only took commits from the milestone. If you think about other commits that need to be in 0.22.2, please tell me.

Will add #16586 when merged

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

I added #16232 which skips a failing doctest

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

and #16040 which avoids a deprecation warning for pandas sparse array

@ogrisel ogrisel added this to the 0.22.2 milestone Feb 28, 2020
Copy link
Member

@ogrisel ogrisel left a comment

I just also merged #16586 and this PR LGTM.

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

Actually I merged #16586 too quickly: doc/index.rst also needs to be updated to add a link to 0.22.2 from the news section of the home page.

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

I'm not sure about that. This file no longer exists, it's now in template/index.html and the version seems automatically detected. It's correctly updated in the artifacts

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

you must have been looking to the old maintainers guide :)

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

indeed it's now in template/index.html but we still need a new line such as as:

        <li><strong>February 2020.</strong> scikit-learn 0.22.2 is available for download (<a href="whats_new/v0.22.html#version-0-22-2">Changelog</a>).

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

Right but that should be done after the release right ?

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

Right but that should be done after the release right ?

Yes but why not make it part of the release PR?

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

Actually maybe it's better no to update the homepage of scikit-learn before the wheels are on pypi.org.

As you wish. But building the website twice is kind of a waste :)

@adrinjalali
Copy link
Member

@adrinjalali adrinjalali commented Feb 28, 2020

Right but that should be done after the release right ?

I kinda tend to put it in the release PR.

@adrinjalali
Copy link
Member

@adrinjalali adrinjalali commented Feb 28, 2020

Actually maybe it's better no to update the homepage of scikit-learn before the wheels are on pypi.org.

The docs are updated when you merge this PR anyway. It's just a matter of what we include before, what after. I find it nicer if the tag is to the point where the wheels are made from.

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

I'm a bit lost here. updating the doc here will only impact the stable version of the web site when merged, right ?
we'll then need to also update the dev version in a PR pointing to master ?

@adrinjalali
Copy link
Member

@adrinjalali adrinjalali commented Feb 28, 2020

Yes it only changes the stable one. For certain things you don't need to change anything with a bug-fix release. For instance, with this release the 0.23 doesn't change in the dev/master. But You need to add the bug-fix entry also to the main page in master if you add it here.

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

So I checked and for 0.22.1 it was done in 2 PRs, one for the dev branch and one backported to 0.22.X after the release.

I'm ok to include it here and then make a PR to master after the release. Is it ok for you ?

@adrinjalali
Copy link
Member

@adrinjalali adrinjalali commented Feb 28, 2020

Sounds good to me

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

I made a sdist and built it in a fresh env and observed weird behavior. pip first gather numpy scipy and joblib then complains that numpy is not installed but keep working and build and install sklearn successfully. Can someone try locally and tell me if he reproduces ?

Then I ran the test suite and there's one test failing: test_ard_accuracy_on_easy_problem

def test_ard_accuracy_on_easy_problem():
        # Check that ARD converges with reasonable accuracy on an easy problem
        # (Github issue #14055)
        # This particular seed seems to converge poorly in the failure-case
        # (scipy==1.3.0, sklearn==0.21.2)
        seed = 45
        X = np.random.RandomState(seed=seed).normal(size=(250, 3))
        y = X[:, 1]
    
        regressor = ARDRegression(n_iter=600)
        regressor.fit(X, y)
    
        abs_coef_error = np.abs(1 - regressor.coef_[1])
        # Expect an accuracy of better than 1E-4 in most cases -
        # Failure-case produces 0.16!
>       assert abs_coef_error < 0.01
E       assert 0.018021599217421413 < 0.01

@adrinjalali
Copy link
Member

@adrinjalali adrinjalali commented Feb 28, 2020

That seems to be a "known" issue. Although we don't seem to have worked on it: #15420, #16097, #15186

I still don't get in which order the setups are run. But I expect numpy to be installed by the time setup.py runs, which needs numpy. I vaguely remember having to install numpy before installing certain packages cause it wouldn't understand that it's the setup itself which needs numpy.

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

To get the wheels to build on the MacPython CI it might safer to skip the test_ard_accuracy_on_easy_problem test in the 0.22.X branch with a link to the issue tracker.

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

pip first gather numpy scipy and joblib then complains that numpy is not installed but keep working and build and install sklearn successfully.

This will probably be fixed in master with pyproject.toml that explicitly gives build dependencies. But I think it's not a problem to leave it the way it is for 0.22.2.

# This test fails on some platforms.
# See https://github.com/scikit-learn/scikit-learn/issues/16097
# https://github.com/scikit-learn/scikit-learn/issues/15420
# https://github.com/scikit-learn/scikit-learn/issues/15186
@pytest.mark.skipif(True, reason="skipping test_ard_accuracy_on_easy_problem.")
Copy link
Member

@adrinjalali adrinjalali Feb 28, 2020

Choose a reason for hiding this comment

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

Shouldn't this go in a separate PR in master first? (just to keep things cleaner, I promis to review quickly :D)

Copy link
Member Author

@jeremiedbb jeremiedbb Feb 28, 2020

Choose a reason for hiding this comment

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

@ogrisel suggested to skip on the 0.22.X branch if I'm not mistaken.

We should probably not skip it on master but find out what's going wrong instead, no ?

Copy link
Member Author

@jeremiedbb jeremiedbb Feb 28, 2020

Choose a reason for hiding this comment

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

It seems to only fails on specific platform of BLAS or scipy version, not sure exactly, so it's more for safety that we want to skip it in this branch

Copy link
Member

@adrinjalali adrinjalali Feb 28, 2020

Choose a reason for hiding this comment

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

yeah, it just would mean that we probably will end up having to do the same thing when we release 0.23 (if it's not fixed by then)

Copy link
Member

@adrinjalali adrinjalali Feb 28, 2020

Choose a reason for hiding this comment

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

ok, I'll add the issues to the milestone, and we can keep it in this branch

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

It's green, should we merge and tag ?

Copy link
Member

@adrinjalali adrinjalali left a comment

LGTM

@adrinjalali
Copy link
Member

@adrinjalali adrinjalali commented Feb 28, 2020

@ogrisel wanna double check and merge?

@jeremiedbb
Copy link
Member Author

@jeremiedbb jeremiedbb commented Feb 28, 2020

fwi the PR on MacPython /scikit-learn-wheels (MacPython/scikit-learn-wheels#47) is green when tested against this branch

@ogrisel
Copy link
Member

@ogrisel ogrisel commented Feb 28, 2020

Go!

@ogrisel ogrisel merged commit 4b7331e into scikit-learn:0.22.X Feb 28, 2020
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

8 participants