@@ -29,13 +29,13 @@ Add/drop Python versions
29
29
When adding or dropping Python versions, three files need to be edited:
30
30
31
31
- .github/workflows/wheels.yml # for github cibuildwheel
32
- - .travis. yml # for cibuildwheel aarch64 builds
33
- - setup.py # for classifier and minimum version check.
32
+ - tools/ci/cirrus_wheels. yml # for cibuildwheel aarch64/arm64 builds
33
+ - pyproject.toml # for classifier and minimum version check.
34
34
35
35
Make these changes in an ordinary PR against main and backport if necessary.
36
- Using the ` BLD: ` prefix (build label) for the commit summary will cause the
37
- wheel builds to be run so that the changes will be tested, We currently release
38
- wheels for new Python versions after the first Python rc once manylinux and
36
+ Add `` [wheel build] `` at the end of the title line of the commit summary so
37
+ that wheel builds will be run to test the changes. We currently release wheels
38
+ for new Python versions after the first Python rc once manylinux and
39
39
cibuildwheel support it. For Python 3.11 we were able to release within a week
40
40
of the rc1 announcement.
41
41
@@ -50,7 +50,7 @@ Update 2.1.0 milestones
50
50
-----------------------
51
51
52
52
Look at the issues/prs with 2.1.0 milestones and either push them off to a
53
- later version, or maybe remove the milestone.
53
+ later version, or maybe remove the milestone. You may need to add a milestone.
54
54
55
55
56
56
Make a release PR
@@ -59,7 +59,7 @@ Make a release PR
59
59
Four documents usually need to be updated or created for the release PR:
60
60
61
61
- The changelog
62
- - The release- notes
62
+ - The release notes
63
63
- The ``.mailmap `` file
64
64
- The ``pyproject.toml `` file
65
65
@@ -115,20 +115,18 @@ Finish the release notes
115
115
------------------------
116
116
117
117
If there are any release notes snippets in ``doc/release/upcoming_changes/ ``,
118
- run ``towncrier ``, which will incorporate the snippets into the
119
- ``doc/source/release/notes-towncrier.rst `` file, add it to the index, and
120
- delete the snippets::
118
+ run ``spin notes ``, which will incorporate the snippets into the
119
+ ``doc/source/release/notes-towncrier.rst `` file and delete the snippets::
121
120
122
- $ towncrier
121
+ $ spin notes
123
122
$ gvim doc/source/release/notes-towncrier.rst doc/source/release/2.1.0-notes.rst
124
123
125
- Once the ``notes-towncrier `` contents has been incorporated into
126
- the release note it should be cleared and the
127
- ``.. include:: notes-towncrier.rst `` directive removed from the ``2.1.0-notes.rst ``.
128
- The notes will always need some fixups, the introduction will need to be
129
- written, and significant changes should be called out. For patch releases the
130
- changelog text may also be appended, but not for the initial release as it is
131
- too long. Check previous release notes to see how this is done.
124
+ Once the ``notes-towncrier `` contents has been incorporated into release note
125
+ the ``.. include:: notes-towncrier.rst `` directive can be removed. The notes
126
+ will always need some fixups, the introduction will need to be written, and
127
+ significant changes should be called out. For patch releases the changelog text
128
+ may also be appended, but not for the initial release as it is too long. Check
129
+ previous release notes to see how this is done.
132
130
133
131
134
132
Release walkthrough
@@ -309,6 +307,7 @@ Once everything seems satisfactory, update, commit and upload the changes::
309
307
Create release notes for next release and edit them to set the version. These
310
308
notes will be a skeleton and have little content::
311
309
310
+ $ git checkout -b begin-2.1.1 maintenance/2.1.x
312
311
$ cp doc/source/release/template.rst doc/source/release/2.1.1-notes.rst
313
312
$ gvim doc/source/release/2.1.1-notes.rst
314
313
$ git add doc/source/release/2.1.1-notes.rst
@@ -324,7 +323,7 @@ Update the ``version`` in ``pyproject.toml``::
324
323
325
324
Commit the result::
326
325
327
- $ git commit -a -m"MAINT: prepare 2.1.x for further development"
326
+ $ git commit -a -m"MAINT: Prepare 2.1.x for further development"
328
327
$ git push origin HEAD
329
328
330
329
Go to GitHub and make a PR. It should be merged quickly.
@@ -367,9 +366,10 @@ BCC so that replies will not be sent to that list.
367
366
11. Post-release update main (skip for prereleases)
368
367
---------------------------------------------------
369
368
370
- Checkout main and forward port the documentation changes::
369
+ Checkout main and forward port the documentation changes. You may also want
370
+ to update these notes if procedures have changed or improved::
371
371
372
- $ git checkout -b post-2.1.0-release-update
372
+ $ git checkout -b post-2.1.0-release-update main
373
373
$ git checkout maintenance/2.1.x doc/source/release/2.1.0-notes.rst
374
374
$ git checkout maintenance/2.1.x doc/changelog/2.1.0-changelog.rst
375
375
$ git checkout maintenance/2.1.x .mailmap # only if updated for release.
@@ -380,13 +380,3 @@ Checkout main and forward port the documentation changes::
380
380
381
381
Go to GitHub and make a PR.
382
382
383
-
384
- 12. Update oldest-supported-numpy
385
- ---------------------------------
386
-
387
- If this release is the first one to support a new Python version, or the first
388
- to provide wheels for a new platform or PyPy version, the version pinnings
389
- in https://github.com/scipy/oldest-supported-numpy should be updated.
390
- Either submit a PR with changes to ``setup.cfg `` there, or open an issue with
391
- info on needed changes.
392
-
0 commit comments