1 =============================
2 Docutils_ Release Procedure
3 =============================
5 :Authors: David Goodger; Lea Wiemann; open to all Docutils developers
6 :Contact: goodger@python.org
9 :Copyright: This document has been placed in the public domain.
11 .. _Docutils: http://docutils.sourceforge.net/
14 Steps in boldface text are *not* covered by the release script at
15 sandbox/infrastructure/release.sh. "Not covered" means that you aren't even
18 .. Note:: This document does not cover branching and tagging, but the
21 .. Note:: You may want to use ReleaseForge_ instead of using
22 SourceForge's file release system.
24 .. _ReleaseForge: http://releaseforge.sourceforge.net/
27 * **On the Docutils-develop mailing list, announce that the release is
28 going to be made, update the release notes and ask for additions.**
30 * **Announce a check-in freeze on Docutils-develop.**
32 * Change ``__version_details__`` in docutils/docutils/__init__.py to
33 "release" (from "repository").
35 * Bump the _`version number` in the following files:
38 + docutils/docutils/__init__.py
39 + docutils/test/functional/expected/* ("Generator: Docutils X.Y.Z")
41 * Close the "Changes Since ..." section in docutils/HISTORY.txt.
43 * Clear/unset the PYTHONPATH environment variable.
45 * Create the release tarball:
47 (a) Create a new empty directory and ``cd`` into it.
49 (b) Get a clean snapshot of the main tree::
51 svn export svn://svn.berlios.de/docutils/trunk/docutils
53 (c) Use Distutils to create the release tarball::
58 * Expand and _`install` the release tarball in isolation:
60 (a) Expand the tarball in a new location, not over any existing
63 (b) Remove the old installation from site-packages (including
64 roman.py, and optparse.py, textwrap.py).
66 Install from expanded directory::
69 python setup.py install
71 The "install" command may require root permissions.
73 (c) Repeat step b) for all supported Python versions.
75 * Run the _`test suite` from the expanded archive directory with all
76 supported Python versions on all available platforms (GNU/Linux, Mac
79 cd test ; python -u alltests.py
81 * Add a directory X.Y.Z (where X.Y.Z is the current version number
82 of Docutils) in the webroot (i.e. the ``htdocs/`` directory).
83 Put all documentation files into it::
90 find -name test -type d -prune -o -name \*.css -print0 \
91 -o -name \*.html -print0 -o -name \*.txt -print0 \
92 | tar -cjvf docutils-docs.tar.bz2 -T - --null
93 scp docutils-docs.tar.bz2 <username>@shell.sourceforge.net:
95 Now log in to shell.sourceforge.net and::
97 cd /home/groups/d/do/docutils/htdocs/
100 tar -xjvf ~/docutils-docs.tar.bz2
101 rm ~/docutils-docs.tar.bz2
103 * Upload the release tarball::
105 $ ftp upload.sourceforge.net
106 Connected to osdn.dl.sourceforge.net.
108 Name (upload.sourceforge.net:david): anonymous
109 331 Anonymous login ok, send your complete e-mail address as password.
112 230 Anonymous access granted, restrictions apply.
116 250 CWD command successful.
117 ftp> put docutils-X.Y.Z.tar.gz
119 * Access the _`file release system` on SourceForge (Admin
120 interface). Fill in the fields:
122 :Package ID: docutils
123 :Release Name: <use release number only, e.g. 0.3>
124 :Release Date: <today's date>
126 :File Name: <select the file just uploaded>
127 :File Type: Source .gz
128 :Processor Type: Platform-Independent
129 :Release Notes: <insert README.txt file here>
130 :Change Log: <insert current release notes here>
132 Also check the "Preserve my pre-formatted text" box.
134 * For verifying the integrity of the release, download the release
135 tarball (you may need to wait up to 30 minutes), install_ it, and
136 re-run the `test suite`_.
138 * Register with PyPI (``python setup.py register``).
140 * Restore ``__version_details__`` in docutils/docutils/__init__.py to
141 "repository" (from "release").
143 * Bump the `version number`_ again.
145 * Add a new empty section "Changes Since ..." in HISTORY.txt.
147 * Update the web page (web/index.txt).
149 * Run docutils-update on the server.
151 * **Send announcement email to:**
153 * docutils-develop@lists.sourceforge.net (also announcing the end of
155 * docutils-users@lists.sourceforge.net
157 * python-announce@python.org
159 * **Add a SourceForge News item, with title "Docutils X.Y.Z released"
160 and containing the release tarball's download URL.**
162 * **Register with FreshMeat.** (Add a `new release`__ for the
163 `Docutils project`__).
165 __ http://freshmeat.net/add-release/48702/
166 __ http://freshmeat.net/projects/docutils/
173 indent-tabs-mode: nil
174 sentence-end-double-space: t