Skip to content

Commit 255bb19

Browse files
committed
DOC - update release instructions; link to developer docs
1 parent ae21364 commit 255bb19

File tree

3 files changed

+77
-36
lines changed

3 files changed

+77
-36
lines changed

doc/source/devel/index.rst

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
.. -*- mode: rst -*-
22
.. ex: set sts=4 ts=4 sw=4 et tw=79:
33
4+
.. _devindex:
5+
6+
Developer documentation page
7+
============================
8+
49
.. toctree::
5-
:hidden:
10+
:maxdepth: 2
611

7-
devguide
8-
devdiscuss
9-
make-release
12+
devguide
13+
devdiscuss
14+
make-release

doc/source/devel/make-release.rst

Lines changed: 65 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,41 @@ A guide for developers who are doing a nibabel release
88

99
* Edit :file:`info.py` and bump the version number
1010

11-
.. _release-tools::
11+
.. _release-tools:
1212

1313
Release tools
1414
=============
1515

16-
In :file:`nibabel/tools`, among other files, you will find
17-
the following utilities::
16+
In the :file:`tools` directory, among other files, you will find the following
17+
utilities::
1818

19-
nibabel/tools/
19+
tools/
2020
|- build_release
2121
|- release
2222
|- compile.py
2323
|- make_tarball.py
2424
|- toollib.py
2525

26+
There are also some release utilities in :file:`nisext/testers.py`, with
27+
makefile targets for their use. The relevant targets are::
28+
29+
make check-version-info
30+
make sdist-tests
31+
32+
The first installs the code from a git archive, from the repository, and for
33+
in-place use, and runs the ``get_info()`` function to confirm that installation
34+
is working and information parameters are set correctly.
35+
36+
The second (``sdist-tests``) makes an sdist source distribution archive,
37+
installs it to a temporary directory, and runs the tests of that install.
38+
2639
.. _release-checklist:
2740

2841
Release checklist
2942
=================
3043

31-
* Make sure all tests pass.
32-
3344
* Review the open list of `issues <http://github.com/nipy/nibabel/issues>`_
3445

35-
* Run :file:`build_release` from the :file:`tools` directory::
36-
37-
cd tools
38-
./build_release
39-
4046
* Review and update the release notes. Review and update the :file:`Changelog`
4147
file. Get a partial list of contributors::
4248

@@ -45,27 +51,59 @@ Release checklist
4551
Then manually go over the *git log* to make sure the release notes are
4652
as complete as possible and that every contributor was recognized.
4753

48-
* Tag the release.
54+
* Make sure all tests pass::
55+
56+
nosetests --with-doctest nibabel
57+
58+
* Make sure all tests pass from sdist::
59+
60+
make sdist-tests
61+
62+
* First pass run :file:`build_release` from the :file:`tools` directory::
63+
64+
cd tools
65+
./build_release
66+
67+
* The release should now be ready.
68+
69+
* Edit :file:`nibabel/info.py` to set ``_version_extra`` to ``''``; commit
4970

5071
* Once everything looks good, run :file:`release` from the
5172
:file:`tools` directory.
5273

53-
* Announce to the mailing lists.
74+
* Tag the release with tag of form ``1.0.0``::
75+
76+
git tag -am 'First public release' 1.0.0
77+
78+
* Branch to maintainance::
79+
80+
git co -b maint/1.0.0
5481

55-
Releases
56-
========
82+
Set ``_version_extra`` back to ``.dev`` and bump ``_version_micro`` by 1.
83+
Commmit. Push.
5784

58-
After each release the master branch should be tagged
59-
with an annotated (or/and signed) tag, naming the intended
60-
next version, plus an 'upstream/' prefix and 'dev' suffix.
61-
For example 'upstream/1.0.0.dev' means "development start
62-
for upcoming version 1.0.0.
85+
* Start next development series::
6386

64-
This tag is used in the Makefile rules to create development
65-
snapshot releases to create proper versions for those. The
66-
will name the last available annotated tag, the number of
67-
commits since that, and an abbrevated SHA1. See the docs of
68-
``git describe`` for more info.
87+
git co main-master
88+
89+
then restore ``.dev`` to ``_version_extra``, and bump ``_version_minor`` by 1.
90+
91+
* Make next development release tag
92+
93+
After each release the master branch should be tagged
94+
with an annotated (or/and signed) tag, naming the intended
95+
next version, plus an 'upstream/' prefix and 'dev' suffix.
96+
For example 'upstream/1.0.0.dev' means "development start
97+
for upcoming version 1.0.0.
98+
99+
This tag is used in the Makefile rules to create development
100+
snapshot releases to create proper versions for those. The
101+
will name the last available annotated tag, the number of
102+
commits since that, and an abbrevated SHA1. See the docs of
103+
``git describe`` for more info.
104+
105+
Please take a look at the Makefile rules ``devel-src``,
106+
``devel-dsc`` and ``orig-src``.
107+
108+
* Announce to the mailing lists.
69109

70-
Please take a look at the Makefile rules ``devel-src``,
71-
``devel-dsc`` and ``orig-src``.

doc/source/index.rst

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ Documentation
1515
* :ref:`User Documentation <manual>` (manual)
1616
* :ref:`API Documentation <api>` (comprehensive reference)
1717
* :ref:`Developer Guidelines <chap_devguide>` (for those who want to contribute)
18-
* :ref:`Developer discussions <chap_devdiscuss>` (arcane discussions about code
19-
design)
2018
* :ref:`Development Changelog <changelog>` (see what has changed)
2119
* :ref:`DICOM concepts <dicom>` (details about implementing DICOM reading)
2220
* :ref:`genindex` (access by keywords)
2321
* :ref:`search` (online and offline full-text search)
2422

23+
See also the :ref:`Developer documentation page <devindex>` for development
24+
discussions, release procedure and more.
2525

2626
Authors and Contributors
2727
========================
@@ -50,7 +50,6 @@ Download and Installation
5050
Please find detailed :ref:`download and installation instructions
5151
<installation>` in the manual.
5252

53-
5453
Support
5554
=======
5655

@@ -75,7 +74,6 @@ search* located in the sidebar of the NiBabel home page.
7574
:hidden:
7675

7776
manual
78-
devel/devguide
79-
devel/devdiscuss
77+
devel/index
8078
dicom/dicom
8179
api

0 commit comments

Comments
 (0)