-
-
Notifications
You must be signed in to change notification settings - Fork 25.9k
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
DOC more updates to maintainers' doc #18954
Conversation
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.
Thanks @ogrisel
Co-authored-by: Adrin Jalali <adrin.jalali@gmail.com>
doc/developers/maintainer.rst
Outdated
|
||
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 |
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.
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 |
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.
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).
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.
This is ABI for Application Binary Interface. I will make that more explicit.
doc/developers/maintainer.rst
Outdated
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 |
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.
CD? Perhaps CI?
Or maybe you could explain what CD means? At least I don't know what it is... :(
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.
https://en.wikipedia.org/wiki/Continuous_delivery
I will rephrase this paragraph and the previous one.
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.
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).
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.
Should we put this information in the maintainers' guide or a link to a proper definition should be enough?
Co-authored-by: Chiara Marmo <cmarmo@users.noreply.github.com>
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.
Thank you @ogrisel for your PR!
A first review round, but this is looking good 😄.
doc/developers/maintainer.rst
Outdated
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 |
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.
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
$ 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. |
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.
Just in case:
properly linked from the ``doc/v0.99/whats_new.rst`` file. | |
properly linked from the ``doc/whats_new/v0.99.rst`` file. |
doc/developers/maintainer.rst
Outdated
|
||
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 |
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.
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).
doc/developers/maintainer.rst
Outdated
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 |
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.
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).
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.
Another review round.
$ 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`` |
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.
I do not see a release date in the whats_new.rst
file 😕.
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 forgot on some of them in the past.
.. 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. |
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.
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. | ||
|
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.
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.
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es> Co-authored-by: Chiara Marmo <cmarmo@users.noreply.github.com>
@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). |
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.
A first review round to the new version @ogrisel 😄.
|
||
.. prompt:: bash $ | ||
|
||
git checkout -b 0.99.X |
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 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
.
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.
I expanded the commands to be more explicit.
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
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.
A few nitpicks, but LGTM.
Co-authored-by: Juan Carlos Alfaro Jiménez <JuanCarlos.Alfaro@uclm.es>
Sorry for all the typos... and thank you for the fixes. |
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.
Thanks @ogrisel hopefully the next person doing a release would have fewer changes to this doc ;)
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.
It's nice to see the release process get easier :)
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>
In particular, mention the possibility to use the GitActions workflow to publish to PyPI.