Fix path to release.sh script
[docutils.git] / docs / dev / release.txt
blob95bd3f681956b8ca258c74ebec4560f7fe3e176f
1 =============================
2  Docutils_ Release Procedure
3 =============================
5 :Authors: David Goodger; Lea Wiemann; open to all Docutils developers
6 :Contact: goodger@python.org
7 :Date: $Date$
8 :Revision: $Revision$
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
16 reminded of them.
18 .. Note:: This document does not cover branching and tagging, but the
19    release script does.
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:
37   + docutils/setup.py
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.
44    
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::
55           cd docutils
56           python setup.py sdist
58 * Expand and _`install` the release tarball in isolation:
60   (a) Expand the tarball in a new location, not over any existing
61       files.
63   (b) Remove the old installation from site-packages (including
64       roman.py, and optparse.py, textwrap.py).
66       Install from expanded directory::
68           cd docutils-X.Y.Z
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
77   OS X, Windows)::
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::
85       cd docutils-X.Y.Z
86       rm -rf build
87       cd tools/
88       ./buildhtml.py ..
89       cd ..
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/
98       mkdir -m g+rwxs X.Y.Z
99       cd X.Y.Z
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.
107       ...
108       Name (upload.sourceforge.net:david): anonymous
109       331 Anonymous login ok, send your complete e-mail address as password.
110       Password:
111       ...
112       230 Anonymous access granted, restrictions apply.
113       ftp> bin
114       200 Type set to I.
115       ftp> cd /incoming
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>
125       :Status:          Active
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.
150     
151 * **Send announcement email to:**
153   * docutils-develop@lists.sourceforge.net (also announcing the end of
154     the check-in freeze)
155   * docutils-users@lists.sourceforge.net
156   * doc-sig@python.org
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/
171    Local Variables:
172    mode: indented-text
173    indent-tabs-mode: nil
174    sentence-end-double-space: t
175    fill-column: 70
176    End: