Skip to content

Commit

Permalink
Merge pull request #22430 from charris/post-1.23.4-release-update
Browse files Browse the repository at this point in the history
MAINT: Update main after 1.23.4 release.
  • Loading branch information
charris committed Oct 13, 2022
2 parents 22c540c + 19bbafa commit 6db3236
Show file tree
Hide file tree
Showing 4 changed files with 109 additions and 55 deletions.
81 changes: 26 additions & 55 deletions doc/RELEASE_WALKTHROUGH.rst
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,11 @@ repository::
$ git tag -a -s v1.21.0 -m"NumPy 1.21.0 release"
$ git push upstream v1.21.0

If you need to delete the tag due to error::

$ git tag -d v1.21.0
$ git push --delete upstream v1.21.0

2. Build wheels
---------------

Expand All @@ -139,7 +144,9 @@ Build wheels via cibuildwheel (preferred)
Tagging the build at the beginning of this process will trigger a wheel build
via cibuildwheel and upload wheels and an sdist to the staging repo. The CI run
on github actions (for all x86-based and macOS arm64 wheels) takes about 1 1/4
hours. The CI run on travis (for aarch64) takes less time.
hours. The CI run on travis (for aarch64) takes less time. You can check for
uploaded files at the `staging repository`_, but note that it is not closely
synched with what you see of the running jobs.

If you wish to manually trigger a wheel build, you can do so:

Expand All @@ -148,58 +155,23 @@ If you wish to manually trigger a wheel build, you can do so:
- On travis_ there is a "More Options" button, click on it and choose a branch
to build. There does not appear to be an option to build a tag.

.. _`Wheel builder`: https://github.com/numpy/numpy/actions/workflows/wheels.yml
.. _travis : https://app.travis-ci.com/github/numpy/numpy

Build wheels with multibuild (outdated)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Build source releases
^^^^^^^^^^^^^^^^^^^^^

Paver is used to build the source releases. It will create the ``release`` and
``release/installers`` directories and put the ``*.zip`` and ``*.tar.gz``
source releases in the latter. ::

$ paver sdist # sdist will do a git clean -xdfq, so we omit that

If a wheel build fails for unrelated reasons, you can rerun it individually:

Build wheels via MacPython/numpy-wheels
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- On github actions select `Wheel builder`_ click on the commit that contains
the build you want to rerun. On the left there is a list of wheel builds,
select the one you want to rerun and on the resulting page hit the
counterclockwise arrows button.
- On travis_ select the failing build, which will take you to the travis job for
that build. Hit the restart job button.

Trigger the wheels build by pointing the numpy-wheels repository at this
commit. This can take up to an hour. The numpy-wheels repository is cloned from
`<https://github.com/MacPython/numpy-wheels>`_. If this is the first release in
a series, start with a pull as the repo may have been accessed and changed by
someone else, then create a new branch for the series. If the branch already
exists skip this::
Note that if you do need to rerun jobs, you will need to delete the uploaded
file, if any, in the anaconda `staging repository`_, The old files will not be
overwritten.

$ cd ../numpy-wheels
$ git checkout main
$ git pull upstream main
$ git branch v1.21.x

Checkout the new branch and edit the ``azure-pipelines.yml`` and
``.travis.yml`` files to make sure they have the correct version, and put in
the commit hash for the ``REL`` commit created above for ``BUILD_COMMIT``
variable. The ``azure/posix.yml`` and ``.travis.yml`` files may also need the
Cython versions updated to keep up with Python releases, but generally just
do::

$ git checkout v1.21.x
$ gvim azure-pipelines.yml .travis.yml
$ git commit -a -m"NumPy 1.21.0 release."
$ git push upstream HEAD

Now wait. If you get nervous at the amount of time taken -- the builds can take
a while -- you can check the build progress by following the links
provided at `<https://github.com/MacPython/numpy-wheels>`_ to check the
build status. Check if all the needed wheels have been built and
uploaded to the staging repository before proceeding.
.. _`staging repository`: https://anaconda.org/multibuild-wheels-staging/numpy/files
.. _`Wheel builder`: https://github.com/numpy/numpy/actions/workflows/wheels.yml
.. _travis : https://app.travis-ci.com/github/numpy/numpy

Note that sometimes builds, like tests, fail for unrelated reasons and you will
need to rerun them. You will need to be logged in under 'numpy' to do this
on azure.

3. Download wheels
------------------
Expand All @@ -208,6 +180,7 @@ When the wheels have all been successfully built and staged, download them from
Anaconda staging directory using the ``tools/download-wheels.py`` script::

$ cd ../numpy
$ mkdir -p release/installers
$ python3 tools/download-wheels.py 1.21.0


Expand Down Expand Up @@ -249,7 +222,7 @@ after recent PyPI changes, version ``3.4.1`` was used here::

$ cd ../numpy
$ twine upload release/installers/*.whl
$ twine upload release/installers/numpy-1.21.0.zip # Upload last.
$ twine upload release/installers/numpy-1.21.0.tar.gz # Upload last.

If one of the commands breaks in the middle, you may need to selectively upload
the remaining files because PyPI does not allow the same file to be uploaded
Expand All @@ -273,7 +246,6 @@ Then copy the contents to the clipboard and paste them into the text window. It
may take several tries to get it look right. Then

- Upload ``release/installers/numpy-1.21.0.tar.gz`` as a binary file.
- Upload ``release/installers/numpy-1.21.0.zip`` as a binary file.
- Upload ``release/README.rst`` as a binary file.
- Upload ``doc/changelog/1.21.0-changelog.rst`` as a binary file.
- Check the pre-release button if this is a pre-releases.
Expand Down Expand Up @@ -338,8 +310,8 @@ Once everything seems satisfactory, update, commit and upload the changes::
This assumes that you have forked `<https://github.com/numpy/numpy.org>`_::

$ cd ../numpy.org
$ git checkout master
$ git pull upstream master
$ git checkout main
$ git pull upstream main
$ git checkout -b announce-numpy-1.21.0
$ gvim content/en/news.md

Expand Down Expand Up @@ -375,9 +347,8 @@ Checkout main and forward port the documentation changes::
$ git checkout maintenance/1.21.x doc/changelog/1.21.0-changelog.rst
$ git checkout maintenance/1.21.x .mailmap # only if updated for release.
$ gvim doc/source/release.rst # Add link to new notes
$ git add doc/changelog/1.21.0-changelog.rst doc/source/release/1.21.0-notes.rst
$ git status # check status before commit
$ git commit -a -m"REL: Update main after 1.21.0 release."
$ git commit -a -m"MAINT: Update main after 1.21.0 release."
$ git push origin HEAD

Go to GitHub and make a PR.
Expand Down
34 changes: 34 additions & 0 deletions doc/changelog/1.23.4-changelog.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@

Contributors
============

A total of 8 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

* Bas van Beek
* Charles Harris
* Matthew Barber
* Matti Picus
* Ralf Gommers
* Ross Barnowski
* Sebastian Berg
* Sicheng Zeng +

Pull requests merged
====================

A total of 13 pull requests were merged for this release.

* `#22368 <https://github.com/numpy/numpy/pull/22368>`__: BUG: Add ``__array_api_version__`` to ``numpy.array_api`` namespace
* `#22370 <https://github.com/numpy/numpy/pull/22370>`__: MAINT: update sde toolkit to 9.0, fix download link
* `#22382 <https://github.com/numpy/numpy/pull/22382>`__: BLD: use macos-11 image on azure, macos-1015 is deprecated
* `#22383 <https://github.com/numpy/numpy/pull/22383>`__: MAINT: random: remove ``get_info`` from "extending with Cython"...
* `#22384 <https://github.com/numpy/numpy/pull/22384>`__: BUG: Fix complex vector dot with more than NPY_CBLAS_CHUNK elements
* `#22387 <https://github.com/numpy/numpy/pull/22387>`__: REV: Loosen ``lookfor``'s import try/except again
* `#22388 <https://github.com/numpy/numpy/pull/22388>`__: TYP,ENH: Mark ``numpy.typing`` protocols as runtime checkable
* `#22389 <https://github.com/numpy/numpy/pull/22389>`__: TYP,MAINT: Change more overloads to play nice with pyright
* `#22390 <https://github.com/numpy/numpy/pull/22390>`__: TST,TYP: Bump mypy to 0.981
* `#22391 <https://github.com/numpy/numpy/pull/22391>`__: DOC: Update delimiter param description.
* `#22392 <https://github.com/numpy/numpy/pull/22392>`__: BUG: Memory leaks in numpy.nested_iters
* `#22413 <https://github.com/numpy/numpy/pull/22413>`__: REL: Prepare for the NumPy 1.23.4 release.
* `#22424 <https://github.com/numpy/numpy/pull/22424>`__: TST: Fix failing aarch64 wheel builds.
1 change: 1 addition & 0 deletions doc/source/release.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ Release notes
:maxdepth: 3

1.24.0 <release/1.24.0-notes>
1.23.4 <release/1.23.4-notes>
1.23.3 <release/1.23.3-notes>
1.23.2 <release/1.23.2-notes>
1.23.1 <release/1.23.1-notes>
Expand Down
48 changes: 48 additions & 0 deletions doc/source/release/1.23.4-notes.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
.. currentmodule:: numpy

==========================
NumPy 1.23.4 Release Notes
==========================
NumPy 1.23.4 is a maintenance release that fixes bugs discovered after the
1.23.3 release and keeps the build infrastructure current. The main
improvements are fixes for some annotation corner cases, a fix for a long time
``nested_iters`` memory leak, and a fix of complex vector dot for very large
arrays. The Python versions supported for this release are 3.8-3.11.

Note that the mypy version needs to be 0.981+ if you test using Python 3.10.7,
otherwise the typing tests will fail.

Contributors
============

A total of 8 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.

* Bas van Beek
* Charles Harris
* Matthew Barber
* Matti Picus
* Ralf Gommers
* Ross Barnowski
* Sebastian Berg
* Sicheng Zeng +

Pull requests merged
====================

A total of 13 pull requests were merged for this release.

* `#22368 <https://github.com/numpy/numpy/pull/22368>`__: BUG: Add ``__array_api_version__`` to ``numpy.array_api`` namespace
* `#22370 <https://github.com/numpy/numpy/pull/22370>`__: MAINT: update sde toolkit to 9.0, fix download link
* `#22382 <https://github.com/numpy/numpy/pull/22382>`__: BLD: use macos-11 image on azure, macos-1015 is deprecated
* `#22383 <https://github.com/numpy/numpy/pull/22383>`__: MAINT: random: remove ``get_info`` from "extending with Cython"...
* `#22384 <https://github.com/numpy/numpy/pull/22384>`__: BUG: Fix complex vector dot with more than NPY_CBLAS_CHUNK elements
* `#22387 <https://github.com/numpy/numpy/pull/22387>`__: REV: Loosen ``lookfor``'s import try/except again
* `#22388 <https://github.com/numpy/numpy/pull/22388>`__: TYP,ENH: Mark ``numpy.typing`` protocols as runtime checkable
* `#22389 <https://github.com/numpy/numpy/pull/22389>`__: TYP,MAINT: Change more overloads to play nice with pyright
* `#22390 <https://github.com/numpy/numpy/pull/22390>`__: TST,TYP: Bump mypy to 0.981
* `#22391 <https://github.com/numpy/numpy/pull/22391>`__: DOC: Update delimiter param description.
* `#22392 <https://github.com/numpy/numpy/pull/22392>`__: BUG: Memory leaks in numpy.nested_iters
* `#22413 <https://github.com/numpy/numpy/pull/22413>`__: REL: Prepare for the NumPy 1.23.4 release.
* `#22424 <https://github.com/numpy/numpy/pull/22424>`__: TST: Fix failing aarch64 wheel builds.

0 comments on commit 6db3236

Please sign in to comment.