regenerate wheel after tagging source
[docutils.git] / docutils / docs / dev / release.txt
blobef1e99014f2cb3b573884ba53f3f7a22bd793441
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.io/
13 Releasing (post 2020)
14 ---------------------
16 * Announce the upcoming release on docutils-develop list.
18   Consider **feature freeze** or/and **check-in freeze** .
20 * Update RELEASE-NOTES.txt add section ``Release <version>``.
22   Consult HISTORY.txt for important changes.
24 * Change HISTORY.txt title ``Changes Since <previous release>`` to ``Release <version>``.
26 * Set new version with ``sandbox/infrastructure/set_version.sh <version>``
28   Check what was changed with version control system by ``set_version.sh``
30   Run tests ::
32     export PYTHONWARNINGS=default
33     python2 test/alltests.py
34     python3 test/alltests.py
36   or use tox.
37     
38   ``export PYTHONWARNINGS=default`` prints DeprecationWarnings in python3.
40 * Generate universal wheel and source-distribution::
42     python3 setup.py sdist
43     python3 setup.py bdist_wheel --universal
45 * Upload universal wheel and source to test.pypi::
47     python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/*
49   Wait some minutes to test in virtualenv ::
51     python2 -m virtualenv py2.7 ; cd py2.7
52     export PYTHONPATH= ; . bin/activate
54     python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
56     cp -Lr ../docutils-code/docutils/test .
57     python test/alltests.py
59     python -m pip uninstall docutils
60     deactivate ; cd .. ; rm -r py2.7
62   Test in venv ::
64     python3 -m venv du3 ; cd du3
65     export PYTHONPATH= ; . bin/activate
67     python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils
69     cp -Lr ../docutils-code/docutils/test .
70     python test/alltests.py
72     python -m pip uninstall docutils
73     deactivate ; cd .. ; rm -r du3
75 * Commit changes ... the changed version number.
77 * tag 0.## (Note: only directory docutils is copied)::
79     svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \
80              svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.## \
81              -m "tagging release 0.##"
83 * Update your source directory. 
84 * Remove distribution files and build universal wheel and source-distribution again::
86     python3 setup.py sdist
87     python3 setup.py bdist_wheel --universal
89 * Now upload to pypi::
91     python3 -m twine upload  dist/docutils-0.##*
93 * Remove previous package from local cache::
95     find .cache/pip/wheels -name docutils\*whl -exec rm -v -i {} \;
97 * and test::
99     python3 -m venv du3 ; cd du3
100     export PYTHONPATH= ; . bin/activate
102     pip install --no-deps docutils
103     cp -Lr ../docutils-code/docutils/test .
104     python test/alltests.py
106     deactivate ; cd .. ; rm -r du3
108     python2 -m virtualenv du2 ; cd du2
109     export PYTHONPATH= ; . bin/activate
111     pip install --no-deps docutils
112     cp -Lr ../docutils-code/docutils/test .
113     python test/alltests.py
115     deactivate ; cd .. ; rm -r du2
117 * Notify to docutils-developer and user.
119 * upload source and generated html to sf-htdocs/0.## ::
121     mkdir tmp1
122     cd tmp1
123     tar xzvf ../dist/docutils-0.##.tar.gz
124     cd docutils-0.##/
125     tools/buildhtml.py .
126     find . -name \*.pyc -exec rm -v {} \;
127     find . -name __pycache__ -exec rmdir -v {} \;
128     rm -r docutils.egg-info
129     rsync -e ssh -r -t ./ web.sourceforge.net:/home/project-web/docutils/htdocs/0.##
131 * Check web/index.txt for necessary corrections.
132 * Run sandbox/infrastructure/docutils-update.local to update web-content.
133 * Release to sourceforge.
135   - Upload tar.gz and 0.16 release notes to sourceforge.
136   - Select docutils-0.16.tar.gz as default for all OS.  
138 * set_version 0.#.#+1b.dev
139 * test with py2 and py3
140 * docutils/HISTORY.txt: add title "Changes Since 0.##"
141 * run sandbox/infrastructure/docutils-update.local
145    Local Variables:
146    mode: indented-text
147    indent-tabs-mode: nil
148    sentence-end-double-space: t
149    fill-column: 70
150    End: