@@ -6,6 +6,24 @@ A guide to making a nibabel release
66
77This is a guide for developers who are doing a nibabel release.
88
9+ The general idea of these instructions is to go through the following steps:
10+
11+ * Make sure that the code is in the right state for release;
12+ * update release-related docs such as the Changelog;
13+ * update various documents giving dependencies, dates and so on;
14+ * check all standard and release-specific tests pass;
15+ * make the *release commit * and release tag;
16+ * check Windows binary builds and slow / big memory tests;
17+ * push source and windows builds to pypi;
18+ * push docs;
19+ * push release commit and tag to github;
20+ * announce.
21+
22+ We leave pushing the tag to the last possible moment, because it's very bad
23+ practice to change a git tag once it has reached the public servers (in our
24+ case, github). So we want to make sure of the contents of the release before
25+ pushing the tag.
26+
927.. _release-checklist :
1028
1129Release checklist
@@ -121,6 +139,11 @@ Release checklist
121139
122140 python -m compileall .
123141
142+ * Edit ``nibabel/info.py `` to set ``_version_extra `` to ``'' ``; commit.
143+ Then::
144+
145+ make source-release
146+
124147* Make sure you are set up to use the ``try_branch.py `` - see
125148 https://github.com/nipy/nibotmi/blob/master/install.rst#trying-a-set-of-changes-on-the-buildbots
126149
@@ -159,13 +182,6 @@ Release checklist
159182 If you are already on a Windows machine, you could have done the manual
160183 command to build instead: ``python setup.py bdist_wininst ``.
161184
162- * The release should now be ready.
163-
164- * Edit ``nibabel/info.py `` to set ``_version_extra `` to ``'' ``; commit.
165- Then::
166-
167- make source-release
168-
169185* Once everything looks good, you are ready to upload the source release to
170186 PyPi. See `setuptools intro `_. Make sure you have a file
171187 ``\$HOME/.pypirc ``, of form::
@@ -227,10 +243,9 @@ Release checklist
227243 by 1. Thus the development series ('trunk') will have a version number
228244 here of '2.1.0.dev' and the next full release will be '2.1.0'.
229245
230- Next merge the maintenace branch with the "ours" strategy. This just
246+ Next merge the maintenance branch with the "ours" strategy. This just
231247 labels the maintenance `info.py` edits as seen but discarded, so we can
232- merge from maintenance in future without getting spurious merge
233- conflicts::
248+ merge from maintenance in future without getting spurious merge conflicts::
234249
235250 git merge -s ours maint/2.0.x
236251
0 commit comments