Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

DOC more updates to maintainers' doc #18954

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 14 commits into from
Dec 4, 2020

Conversation

ogrisel
Copy link
Member

@ogrisel ogrisel commented Dec 2, 2020

In particular, mention the possibility to use the GitActions workflow to publish to PyPI.

Copy link
Member

@adrinjalali adrinjalali left a comment

Choose a reason for hiding this comment

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

Thanks @ogrisel

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved

Before building the wheels, make sure that the ``pyproject.toml`` file is
up to date and using the oldest version of ``numpy`` for each Python version
to avoid ABI incompatibility issues. Moreover, a new line have to be included
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
to avoid ABI incompatibility issues. Moreover, a new line have to be included
to avoid API incompatibility issues. Moreover, a new line have to be included

Copy link
Member

Choose a reason for hiding this comment

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

This sentence is correct, that is, it should be ABI (Application Binary Interface) incompatibility issues. In particular, we must link the oldest supported numpy version to the binary wheels of scikit-learn to ensure that they are compatible when installing those wheels using a newer numpy version (ABI compatibility).

Copy link
Member Author

Choose a reason for hiding this comment

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

This is ABI for Application Binary Interface. I will make that more explicit.

to avoid ABI incompatibility issues. Moreover, a new line have to be included
in the ``pyproject.toml`` file for each new supported version of Python.

4. Once the CD has completed successfully, upload the generated artifacts
Copy link
Contributor

Choose a reason for hiding this comment

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

CD? Perhaps CI?
Or maybe you could explain what CD means? At least I don't know what it is... :(

Copy link
Member Author

Choose a reason for hiding this comment

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

https://en.wikipedia.org/wiki/Continuous_delivery

I will rephrase this paragraph and the previous one.

Copy link
Member

Choose a reason for hiding this comment

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

Sure @cmarmo, let me explain carefully.

CD means Continuous Delivery. It is the automated process by which the code is built (wheel), test, and then put into a staging or pre-production environment (Anaconda cloud).

Copy link
Member

Choose a reason for hiding this comment

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

Should we put this information in the maintainers' guide or a link to a proper definition should be enough?

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
Co-authored-by: Chiara Marmo <cmarmo@users.noreply.github.com>
Copy link
Member

@alfaro96 alfaro96 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 @ogrisel for your PR!

A first review round, but this is looking good 😄.

First, create a branch, **on your own fork** (to release e.g. `0.999.3`):
For major releases, do not forget to prepare a Release Highlights page as a
runnable example and check that its HTML rendering looks correct. These release
higlights should be linked from the ``whats_new.rst`` file for the new version
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
higlights should be linked from the ``whats_new.rst`` file for the new version
highlights should be linked from the ``whats_new.rst`` file for the new version

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
$ git shortlog -s 0.98.33.. | cut -f2- | sort --ignore-case | tr '\n' ';' | sed 's/;/, /g;s/, $//'

For major releases, make sure that the release highlights example is
properly linked from the ``doc/v0.99/whats_new.rst`` file.
Copy link
Member

Choose a reason for hiding this comment

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

Just in case:

Suggested change
properly linked from the ``doc/v0.99/whats_new.rst`` file.
properly linked from the ``doc/whats_new/v0.99.rst`` file.


Before building the wheels, make sure that the ``pyproject.toml`` file is
up to date and using the oldest version of ``numpy`` for each Python version
to avoid ABI incompatibility issues. Moreover, a new line have to be included
Copy link
Member

Choose a reason for hiding this comment

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

This sentence is correct, that is, it should be ABI (Application Binary Interface) incompatibility issues. In particular, we must link the oldest supported numpy version to the binary wheels of scikit-learn to ensure that they are compatible when installing those wheels using a newer numpy version (ABI compatibility).

to avoid ABI incompatibility issues. Moreover, a new line have to be included
in the ``pyproject.toml`` file for each new supported version of Python.

4. Once the CD has completed successfully, upload the generated artifacts
Copy link
Member

Choose a reason for hiding this comment

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

Sure @cmarmo, let me explain carefully.

CD means Continuous Delivery. It is the automated process by which the code is built (wheel), test, and then put into a staging or pre-production environment (Anaconda cloud).

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
Copy link
Member

@alfaro96 alfaro96 left a comment

Choose a reason for hiding this comment

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

Another review round.

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
$ git shortlog -s 0.99.33.. | cut -f2- | sort --ignore-case | tr '\n' ';' | sed 's/;/, /g;s/, $//'
$ git shortlog -s 0.98.33.. | cut -f2- | sort --ignore-case | tr '\n' ';' | sed 's/;/, /g;s/, $//'

- For major releases, link the release highlights example from the ``doc/whats_new/v0.99.rst`` file.

- Update the release date in ``whats_new.rst``
Copy link
Member

Choose a reason for hiding this comment

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

I do not see a release date in the whats_new.rst file 😕.

Copy link
Member Author

Choose a reason for hiding this comment

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

We forgot on some of them in the past.

Comment on lines +152 to +158
.. note::

Before building the wheels, make sure that the ``pyproject.toml`` file is
up to date and using the oldest version of ``numpy`` for each Python version
to avoid `ABI <https://en.wikipedia.org/wiki/Application_binary_interface>`_
incompatibility issues. Moreover, a new line have to be included in the
``pyproject.toml`` file for each new supported version of Python.
Copy link
Member

Choose a reason for hiding this comment

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

I think that this information is not necessary if we decided to move on with oldest-supported-numpy #18900.

to avoid `ABI <https://en.wikipedia.org/wiki/Application_binary_interface>`_
incompatibility issues. Moreover, a new line have to be included in the
``pyproject.toml`` file for each new supported version of Python.

Copy link
Member

Choose a reason for hiding this comment

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

I think that we have to add a new step here (before step 4) to mention that the wheels should be uploaded to the staging area using the "Run workflow" form for the Wheel builder workflow.

Nevertheless, if the PR from step 3 is merged to the release branch, this step would not be necessary (i.f.f. the commit message contains [cd build] marker).

However, I do not really like the idea of merging an empty PR to the release brach.

ogrisel and others added 3 commits December 2, 2020 14:58
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
Co-authored-by: Chiara Marmo <cmarmo@users.noreply.github.com>
@ogrisel
Copy link
Member Author

ogrisel commented Dec 2, 2020

@alfaro96 @cmarmo @adrinjalali I pushed more changes to rework the structure of the doc to try to make it easier to follow (especially w.r.t. the branching to prepare the PR).

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
Copy link
Member

@alfaro96 alfaro96 left a comment

Choose a reason for hiding this comment

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

A first review round to the new version @ogrisel 😄.

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved

.. prompt:: bash $

git checkout -b 0.99.X
Copy link
Member

Choose a reason for hiding this comment

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

The explanation for this command now misses the key point that the release manager needs to do it either under a different clone from the main repo, or under the same clone, but from and to upstream instead of origin.

Copy link
Member Author

Choose a reason for hiding this comment

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

I expanded the commands to be more explicit.

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
ogrisel and others added 3 commits December 2, 2020 19:29
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
Copy link
Member

@alfaro96 alfaro96 left a comment

Choose a reason for hiding this comment

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

A few nitpicks, but LGTM.

doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
doc/developers/maintainer.rst Outdated Show resolved Hide resolved
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
@ogrisel
Copy link
Member Author

ogrisel commented Dec 3, 2020

Sorry for all the typos... and thank you for the fixes.

Copy link
Member

@adrinjalali adrinjalali left a comment

Choose a reason for hiding this comment

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

Thanks @ogrisel hopefully the next person doing a release would have fewer changes to this doc ;)

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.

It's nice to see the release process get easier :)

@thomasjpfan thomasjpfan merged commit 4773f3e into scikit-learn:master Dec 4, 2020
@ogrisel ogrisel deleted the update-doc-pypi-upload branch December 9, 2020 09:45
glemaitre pushed a commit to glemaitre/scikit-learn that referenced this pull request Dec 22, 2020
Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>
Co-authored-by: Chiara Marmo <cmarmo@users.noreply.github.com>
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
@glemaitre glemaitre mentioned this pull request Dec 22, 2020
14 tasks
@glemaitre glemaitre mentioned this pull request Apr 22, 2021
12 tasks
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.

5 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.