@@ -6,6 +6,24 @@ A guide to making a nibabel release
6
6
7
7
This is a guide for developers who are doing a nibabel release.
8
8
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
+
9
27
.. _release-checklist :
10
28
11
29
Release checklist
@@ -121,6 +139,11 @@ Release checklist
121
139
122
140
python -m compileall .
123
141
142
+ * Edit ``nibabel/info.py `` to set ``_version_extra `` to ``'' ``; commit.
143
+ Then::
144
+
145
+ make source-release
146
+
124
147
* Make sure you are set up to use the ``try_branch.py `` - see
125
148
https://github.com/nipy/nibotmi/blob/master/install.rst#trying-a-set-of-changes-on-the-buildbots
126
149
@@ -159,13 +182,6 @@ Release checklist
159
182
If you are already on a Windows machine, you could have done the manual
160
183
command to build instead: ``python setup.py bdist_wininst ``.
161
184
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
-
169
185
* Once everything looks good, you are ready to upload the source release to
170
186
PyPi. See `setuptools intro `_. Make sure you have a file
171
187
``\$HOME/.pypirc ``, of form::
@@ -227,10 +243,9 @@ Release checklist
227
243
by 1. Thus the development series ('trunk') will have a version number
228
244
here of '2.1.0.dev' and the next full release will be '2.1.0'.
229
245
230
- Next merge the maintenace branch with the "ours" strategy. This just
246
+ Next merge the maintenance branch with the "ours" strategy. This just
231
247
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::
234
249
235
250
git merge -s ours maint/2.0.x
236
251
0 commit comments