1
1
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.
6
4
This should be read together with the general directions in `releasing `.
7
5
8
6
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
+
9
23
Release Preparation
10
24
===================
11
25
@@ -168,8 +182,8 @@ file is updated for continued development::
168
182
$ paver write_release
169
183
170
184
171
- Reset the maintenance branch into a development state
172
- -----------------------------------------------------
185
+ Reset the maintenance branch into a development state (skip for prereleases)
186
+ ----------------------------------------------------------------------------
173
187
174
188
Create release notes for next release and edit them to set the version. These
175
189
notes will be a skeleton and have little content::
@@ -228,60 +242,74 @@ may take several tries to get it look right. Then
228
242
- Hit the ``{Publish,Update} release `` button at the bottom.
229
243
230
244
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.
233
249
234
250
This step is only needed for final releases and can be skipped for pre-releases
235
251
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::
239
257
240
258
$ pushd doc
241
259
$ make dist
242
260
$ make merge-doc
243
- $ popd
261
+ $ pushd build/merge
244
262
245
263
If the release series is a new one, you will need to add a new section to the
246
264
``doc/build/merge/index.html `` front page just after the "insert here" comment::
247
265
248
- $ gvim doc/build/merge/ index.html +/'insert here'
266
+ $ gvim index.html +/'insert here'
249
267
250
268
Otherwise, only the ``zip `` and ``pdf `` links should be updated with the
251
269
new tag name::
252
270
253
- $ gvim doc/build/merge/ index.html +/'tag v1.21'
271
+ $ gvim index.html +/'tag v1.21'
254
272
255
273
You can "test run" the new documentation in a browser to make sure the links
256
274
work::
257
275
258
- $ firefox doc/build/merge/ index.html
276
+ $ firefox index.html # or google-chrome, etc.
259
277
260
- Update the stable link::
278
+ Update the stable link and update ::
261
279
262
280
$ ln -sfn 1.21 stable
281
+ $ ls -l # check the link
263
282
264
- Once everything seems satisfactory, commit and upload the changes::
283
+ Once everything seems satisfactory, update, commit and upload the changes::
265
284
266
- $ pushd doc/build/merge
285
+ $ python3 update.py
267
286
$ git commit -a -m"Add documentation for v1.21.0"
268
287
$ git push
269
288
$ popd
289
+ $ popd
270
290
271
- Announce the release on scipy .org
272
- ---------------------------------
291
+ Announce the release on numpy .org (skip for prereleases)
292
+ --------------------------------------------------------
273
293
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 >`_::
275
295
276
- $ cd ../scipy .org
296
+ $ cd ../numpy .org
277
297
$ git checkout master
278
298
$ 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"
282
310
$ git push origin HEAD
283
311
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.
285
313
286
314
Announce to mailing lists
287
315
-------------------------
@@ -293,8 +321,8 @@ as generated for the release notes above. If you crosspost, make sure that
293
321
python-announce-list is BCC so that replies will not be sent to that list.
294
322
295
323
296
- Post-Release Tasks
297
- ------------------
324
+ Post-Release Tasks (skip for prereleases)
325
+ -----------------------------------------
298
326
299
327
Checkout main and forward port the documentation changes::
300
328
0 commit comments