found this time
[docutils/kirr.git] / docutils / docs / dev / release.txt
blobe4846768cfaba2ca783da3a9876929253479c91d
1 =============================
2  Docutils_ Release Procedure
3 =============================
5 :Authors: David Goodger; Lea Wiemann; open to all Docutils developers
6 :Contact: docutils-develop@lists.sourceforge.net
7 :Date: $Date$
8 :Revision: $Revision$
9 :Copyright: This document has been placed in the public domain.
11 .. _Docutils: http://docutils.sourceforge.net/
13 REWORK FOR SOURCEFORGE REPO
15 Steps in boldface text are *not* covered by the release script at
16 sandbox/infrastructure/release.sh.  "Not covered" means that you aren't even
17 reminded of them.
19 .. Note:: This document does not cover branching and tagging, but the
20    release script does.
22 .. Note:: You may want to use ReleaseForge_ instead of using
23    SourceForge's file release system.
25    .. _ReleaseForge: http://releaseforge.sourceforge.net/
28 * **On the Docutils-develop mailing list, announce that the release is
29   going to be made, update the release notes and ask for additions.**
31   Consult HISTORY.TXT for changes.
33 * **Announce a check-in freeze on Docutils-develop.**
35 Call ``sandbox/infrastructure/release.sh new_version svn_version``.
36 For details see the script.
38 ``new_version`` is the current version, status will change from ``repository`` to 
39 ``release``. ``svn_version`` is the version after release.
41 .. Note:: *BUG* The script requires that all supported python2-versions are installed.
43 .. Note:: *BUG* test tarball requires root password, but it is possible to skip
44    this stage interactively, and testing should be done before release.
46 * Change ``__version_details__`` in docutils/docutils/__init__.py to
47   "release" (from "repository").
49 * Check the _`version number` in the following files, should be already 
50   correct:
52   + docutils/setup.py
53   + docutils/docutils/__init__.py
54   + docutils/test/functional/expected/* ("Generator: Docutils X.Y.Z")
55   + docutils/README.txt
56   + web/index.txt
58 * Close the "Changes Since ..." section in docutils/HISTORY.txt.
60 * Clear/unset the PYTHONPATH environment variable.
61    
62 * Create the release tarball:
64   (a) Create a new empty directory and ``cd`` into it.
66   (b) Get a clean snapshot of the main tree::
68           svn export svn://svn.berlios.de/docutils/trunk/docutils
70   (c) Use Distutils to create the release tarball::
72           cd docutils
73           python setup.py sdist
75 * Expand and _`install` the release tarball in isolation:
77   (a) Expand the tarball in a new location, not over any existing
78       files.
80   (b) Remove the old installation from site-packages (including
81       roman.py, and optparse.py, textwrap.py).
83       Install from expanded directory::
85           cd docutils-X.Y.Z
86           python setup.py install
88       The "install" command may require root permissions.
90   (c) Repeat step b) for all supported Python versions.
92 * Run the _`test suite` from the expanded archive directory with all
93   supported Python versions on all available platforms (GNU/Linux, Mac
94   OS X, Windows)::
96       cd test ; python -u alltests.py
98 * Add a directory X.Y.Z (where X.Y.Z is the current version number
99   of Docutils) in the webroot (i.e. the ``htdocs/`` directory).
100   Put all documentation files into it::
102       cd docutils-X.Y.Z
103       rm -rf build
104       cd tools/
105       ./buildhtml.py ..
106       cd ..
107       find -name test -type d -prune -o -name \*.css -print0 \
108           -o -name \*.html -print0 -o -name \*.txt -print0 \
109           | tar -cjvf docutils-docs.tar.bz2 -T - --null
110       scp docutils-docs.tar.bz2 <username>@shell.sourceforge.net:
112   Now log in to shell.sourceforge.net and::
114       cd /home/groups/d/do/docutils/htdocs/
115       mkdir -m g+rwxs X.Y.Z
116       cd X.Y.Z
117       tar -xjvf ~/docutils-docs.tar.bz2
118       rm ~/docutils-docs.tar.bz2
120 * Upload the release tarball, release.sh tries with scp.
122 * Access the _`file release system` on SourceForge (Admin
123   interface).  
125   ``https://sourceforge.net/projects/docutils/files/docutils/``
127   * change into the released version's directory 
128   * click ``(i)`` button of the tar.gz-file
129   * select as default download for all operating systems.
131 * Submit a notification on project news.
133 * For verifying the integrity of the release, download the release
134   tarball (you may need to wait up to 30 minutes), install_ it, and
135   re-run the `test suite`_.
137 * Register with PyPI (``python setup.py register``).
139 * Restore ``__version_details__`` in docutils/docutils/__init__.py to
140   "repository" (from "release").
142 * Bump the `version number`_ again.
144 * Add a new empty section "Changes Since ..." in HISTORY.txt.
146 * Update the web page (web/index.txt).
148 * Run docutils-update on the server.
150 * **Run alltests.py with svn version**
151     
152 * **Send announcement email to:**
154   * docutils-develop@lists.sourceforge.net (also announcing the end of
155     the check-in freeze)
156   * docutils-users@lists.sourceforge.net
157   * doc-sig@python.org
158   * python-announce@python.org
160 * **Add a SourceForge News item, with title "Docutils X.Y.Z released"
161   and containing the release tarball's download URL.**
163 * **Register with freecode.** Add a new release for the
164   `Docutils project`__. (freecode is freshmeat.net's new name)
166   __ http://freecode.com/projects/docutils/
171    Local Variables:
172    mode: indented-text
173    indent-tabs-mode: nil
174    sentence-end-double-space: t
175    fill-column: 70
176    End: