Skip to content

Commit 81c5acf

Browse files
authored
Merge pull request numpy#20701 from charris/post-1.22.0-fixes
MAINT, DOC: Post 1.22.0 release fixes.
2 parents 33595ac + ea7ce49 commit 81c5acf

File tree

2 files changed

+59
-30
lines changed

2 files changed

+59
-30
lines changed

doc/RELEASE_WALKTHROUGH.rst.txt

Lines changed: 56 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,25 @@
11
This file contains a walkthrough of the NumPy 1.21.0 release on Linux, modified
2-
for building on azure and uploading to anaconda.org
3-
The commands can be copied into the command line, but be sure to
4-
replace 1.21.0 by the correct version.
5-
2+
for building on azure and uploading to anaconda.org The commands can be copied
3+
into the command line, but be sure to replace 1.21.0 by the correct version.
64
This should be read together with the general directions in `releasing`.
75

86

7+
Facility Preparation
8+
====================
9+
10+
Before beginning to make a release, use the ``*_requirements.txt`` files to
11+
ensure that you have the needed software. Most software can be installed with
12+
pip, but some will require apt-get, dnf, or whatever your system uses for
13+
software. Note that at this time the documentation cannot be built with Python
14+
3.10, for that use 3.8-3.9 instead. You will also need a GitHub personal access
15+
token (PAT) to push the documention. There are a few ways to streamline things.
16+
17+
- Git can be set up to use a keyring to store your GitHub personal access token.
18+
Search online for the details.
19+
- You can use the ``keyring`` app to store the PyPI password for twine. See the
20+
online twine documentation for details.
21+
22+
923
Release Preparation
1024
===================
1125

@@ -168,8 +182,8 @@ file is updated for continued development::
168182
$ paver write_release
169183

170184

171-
Reset the maintenance branch into a development state
172-
-----------------------------------------------------
185+
Reset the maintenance branch into a development state (skip for prereleases)
186+
----------------------------------------------------------------------------
173187

174188
Create release notes for next release and edit them to set the version. These
175189
notes will be a skeleton and have little content::
@@ -228,60 +242,74 @@ may take several tries to get it look right. Then
228242
- Hit the ``{Publish,Update} release`` button at the bottom.
229243

230244

231-
Upload documents to numpy.org
232-
-----------------------------
245+
Upload documents to numpy.org (skip for prereleases)
246+
----------------------------------------------------
247+
248+
.. note:: You will need a GitHub personal access token to push the update.
233249

234250
This step is only needed for final releases and can be skipped for pre-releases
235251
and most patch releases. ``make merge-doc`` clones the ``numpy/doc`` repo into
236-
``doc/build/merge`` and updates it with the new documentation::
237-
Note that if you have a `.local` numpy install, you should either remove it or
238-
install the current version for the docs to pick up the correct NumPy version.
252+
``doc/build/merge`` and updates it with the new documentation. If you already
253+
have a numpy installed, you need to locally install the new NumPy version so
254+
that document generation will use the correct NumPy. This is because ``make
255+
dist`` does not correctly set up the path. Note that Python 3.10 cannot be used
256+
for generating the docs as it has no ``easy_install``, use 3.9 or 3.8 instead::
239257

240258
$ pushd doc
241259
$ make dist
242260
$ make merge-doc
243-
$ popd
261+
$ pushd build/merge
244262

245263
If the release series is a new one, you will need to add a new section to the
246264
``doc/build/merge/index.html`` front page just after the "insert here" comment::
247265

248-
$ gvim doc/build/merge/index.html +/'insert here'
266+
$ gvim index.html +/'insert here'
249267

250268
Otherwise, only the ``zip`` and ``pdf`` links should be updated with the
251269
new tag name::
252270

253-
$ gvim doc/build/merge/index.html +/'tag v1.21'
271+
$ gvim index.html +/'tag v1.21'
254272

255273
You can "test run" the new documentation in a browser to make sure the links
256274
work::
257275

258-
$ firefox doc/build/merge/index.html
276+
$ firefox index.html # or google-chrome, etc.
259277

260-
Update the stable link::
278+
Update the stable link and update::
261279

262280
$ ln -sfn 1.21 stable
281+
$ ls -l # check the link
263282

264-
Once everything seems satisfactory, commit and upload the changes::
283+
Once everything seems satisfactory, update, commit and upload the changes::
265284

266-
$ pushd doc/build/merge
285+
$ python3 update.py
267286
$ git commit -a -m"Add documentation for v1.21.0"
268287
$ git push
269288
$ popd
289+
$ popd
270290

271-
Announce the release on scipy.org
272-
---------------------------------
291+
Announce the release on numpy.org (skip for prereleases)
292+
--------------------------------------------------------
273293

274-
This assumes that you have forked `<https://github.com/scipy/scipy.org>`_::
294+
This assumes that you have forked `<https://github.com/numpy/numpy.org>`_::
275295

276-
$ cd ../scipy.org
296+
$ cd ../numpy.org
277297
$ git checkout master
278298
$ git pull upstream master
279-
$ git checkout -b numpy-1.21.0
280-
$ gvim www/index.rst # edit the News section
281-
$ git commit -a
299+
$ git checkout -b announce-numpy-1.21.0
300+
$ gvim content/en/news.md
301+
302+
- For all releases, go to the bottom of the page and add a one line link. Look
303+
to the previous links for example.
304+
- For the ``*.0`` release in a cycle, add a new section at the top with a short
305+
description of the new features and point the news link to it.
306+
307+
commit and push::
308+
309+
$ git commit -a -m"announce the NumPy 1.21.0 release"
282310
$ git push origin HEAD
283311

284-
Now go to your fork and make a pull request for the branch.
312+
Go to your Github fork and make a pull request.
285313

286314
Announce to mailing lists
287315
-------------------------
@@ -293,8 +321,8 @@ as generated for the release notes above. If you crosspost, make sure that
293321
python-announce-list is BCC so that replies will not be sent to that list.
294322

295323

296-
Post-Release Tasks
297-
------------------
324+
Post-Release Tasks (skip for prereleases)
325+
-----------------------------------------
298326

299327
Checkout main and forward port the documentation changes::
300328

doc_requirements.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
# doxygen required, use apt-get or dnf
12
sphinx==4.2.0
23
numpydoc==1.1.0
4+
pydata-sphinx-theme==0.7.2
5+
sphinx-panels
36
ipython
47
scipy
58
matplotlib
69
pandas
7-
pydata-sphinx-theme
810
breathe
9-
sphinx-panels

0 commit comments

Comments
 (0)