~ubuntu-branches/ubuntu/wily/nibabel/wily-proposed

« back to all changes in this revision

Viewing changes to doc/source/devel/make_release.rst

  • Committer: Package Import Robot
  • Author(s): Yaroslav Halchenko
  • Date: 2012-05-06 12:58:22 UTC
  • mfrom: (1.1.3)
  • Revision ID: package-import@ubuntu.com-20120506125822-3jiwjkmdqcxkrior
Tags: 1.2.0-1
* New upstream release: bugfixes, support for new formats
  (Freesurfer, ECAT, etc), nib-ls tool.
* debian/copyright
  - corrected reference to the format specs
  - points to github's repository as the origin of sources
  - removed lightunit license/copyright -- removed upstream
  - added netcdf module license/copyright terms
* debian/control
  - added python-fuse to Recommends and Build-Depends for dicomfs
  - boosted policy compliance to 3.9.3 (no further changes)
* debian/watch
  - adjusted to download numbered tag

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
 
7
7
A guide for developers who are doing a nibabel release
8
8
 
9
 
* Edit :file:`info.py` and bump the version number
10
 
 
11
9
.. _release-tools:
12
10
 
13
11
Release tools
41
39
Release checklist
42
40
=================
43
41
 
44
 
* Review the open list of `issues <http://github.com/nipy/nibabel/issues>`_ .
45
 
  Check whether there are outstanding issues that can be closed, and whether
46
 
  there are any issues that should delay the release.  Label them !
 
42
* Review the open list of `nibabel issues`_.  Check whether there are
 
43
  outstanding issues that can be closed, and whether there are any issues that
 
44
  should delay the release.  Label them !
47
45
 
48
46
* Review and update the release notes.  Review and update the :file:`Changelog`
49
47
  file.  Get a partial list of contributors with something like::
50
48
 
51
 
      git log 0.9.0.. | grep '^Author' | cut -d' ' -f 2- | sort | uniq
52
 
 
53
 
  where ``0.9.0`` was the last release tag name.
54
 
 
55
 
  Then manually go over the *git log* to make sure the release notes are
56
 
  as complete as possible and that every contributor was recognized.
 
49
      git log 1.2.0.. | grep '^Author' | cut -d' ' -f 2- | sort | uniq
 
50
 
 
51
  where ``1.2.0`` was the last release tag name.
 
52
 
 
53
  Then manually go over ``git shortlog 1.2.0..`` to make sure the release notes
 
54
  are as complete as possible and that every contributor was recognized.
 
55
 
 
56
* Use the opportunity to update the ``.mailmap`` file if there are any duplicate
 
57
  authors listed from ``git shortlog``.
57
58
 
58
59
* Check the ``long_description`` in ``nibabel/info.py``.  Check it matches the
59
60
  ``README`` in the root directory.
60
61
 
 
62
* Do a final check on the `nipy buildbot`_
 
63
 
 
64
* If you have travis-ci_ building set up you might want to push the code in it's
 
65
  current state to a branch that will build, e.g::
 
66
 
 
67
    git branch -D pre-release-test # in case branch already exists
 
68
    git co -b pre-release-test
 
69
    git push origin pre-release-test
 
70
 
61
71
* Clean::
62
72
 
63
73
    make distclean
127
137
    # in wine bash
128
138
    make sdist-tests
129
139
 
130
 
  For the PPC I have to log into an old Mac G5 in Berkeley.  It doesn't have a
131
 
  fixed IP even, but here's an example session::
 
140
  For the PPC I have to log into an old Mac G5 in Berkeley at
 
141
  ``jerry.bic.berkeley.edu``.  Here's an example session::
132
142
 
133
 
    ssh 128.32.52.219
 
143
    ssh jerry.bic.berkeley.edu
134
144
    cd dev_trees/nibabel
135
145
    git co main-master
136
146
    git pull
153
163
 
154
164
    make source-release
155
165
 
156
 
* Once everything looks good, upload the source release to PyPi.  Also upload a
157
 
  Windows exe installer for convenience.  See `setuptools intro`_::
 
166
* Once everything looks good, upload the source release to PyPi.  See
 
167
  `setuptools intro`_::
158
168
 
159
169
    python setup.py register
160
170
    python setup.py sdist --formats=gztar,zip upload
 
171
 
 
172
  From somewhere - maybe a windows machine - upload the windows installer for
 
173
  convenience::
 
174
 
161
175
    python setup.py bdist_wininst upload
162
176
 
163
177
* Tag the release with tag of form ``1.1.0``::
176
190
  further substantial development (often called 'trunk') and another for
177
191
  maintenance releases.
178
192
 
179
 
  * Branch to maintainance::
 
193
  * Branch to maintenance::
180
194
 
181
195
      git co -b maint/1.0.x
182
196
 
213
227
    This tag is used in the Makefile rules to create development snapshot
214
228
    releases to create proper versions for those. The version derives its name
215
229
    from the last available annotated tag, the number of commits since that, and
216
 
    an abbrevated SHA1. See the docs of ``git describe`` for more info.
 
230
    an abbreviated SHA1. See the docs of ``git describe`` for more info.
217
231
 
218
232
    Please take a look at the Makefile rules ``devel-src``,
219
233
    ``devel-dsc`` and ``orig-src``.
222
236
 
223
237
.. _pytox: http://codespeak.net/tox
224
238
.. _setuptools intro: http://packages.python.org/an_example_pypi_project/setuptools.html
 
239
.. _travis-ci: http://travis-ci.org
 
240
 
 
241
.. include:: ../links_names.txt