============================= Docutils_ Release Procedure ============================= :Authors: David Goodger; Lea Wiemann; open to all Docutils developers :Contact: docutils-develop@lists.sourceforge.net :Date: $Date$ :Revision: $Revision$ :Copyright: This document has been placed in the public domain. .. _Docutils: http://docutils.sourceforge.io/ Releasing (post 2020) --------------------- * Announce the upcoming release on docutils-develop list. Consider **feature freeze** or/and **check-in freeze** . * Update RELEASE-NOTES.txt. Consult HISTORY.txt for important changes. Change the ``Changes Since `` to ``Release ``. * Set new version with ``sandbox/infrastructure/set_version.sh `` Check what was changed with version control system Run tests :: export PYTHONWARNINGS=default python2 test/alltests.py python3 test/alltests.py or use tox. ``export PYTHONWARNINGS=default`` prints DeprecationWarnings in python3. * Generate universal wheel and source-distribution:: python3 setup.py sdist python3 setup.py bdist_wheel --universal * Upload universal wheel and source to test.pypi:: python3 -m twine upload --repository-url https://test.pypi.org/legacy/ dist/* Wait some minutes to test in virtualenv :: python2 -m virtualenv du2 ; cd du2 export PYTHONPATH= ; . bin/activate python -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils cp -r ../docutils-code/docutils/test . python2 test/alltests.py # IGNORE stylesheet path differences ? python -m pip uninstall docutils deactivate ; cd .. ; rm -r du2 Test in venv :: python3 -m venv du3 ; cd du3 export PYTHONPATH= ; . bin/activate python3 -m pip install --index-url https://test.pypi.org/simple/ --no-deps docutils cp -r ../docutils-code/docutils/test . python test/alltests.py # IGNORE stylesheet path differences ? python -m pip uninstall docutils deactivate ; cd .. ; rm -r du3 * Commit changes ... the changed version number. * tag 0.## (Note: only directory docutils is copied):: svn copy svn+ssh://grubert@svn.code.sf.net/p/docutils/code/trunk/docutils \ svn+ssh://grubert@svn.code.sf.net/p/docutils/code/tags/docutils-0.## \ -m "tagging release 0.##" * Now upload to pypi:: python3 -m twine upload dist/docutils-0.##* and test:: python3 -m venv du3 ; cd du3 export PYTHONPATH= ; . bin/activate pip install --no-deps docutils cp -r ../docutils-code/docutils/test . python test/alltests.py # css paths fail python2 -m virtualenv du2 ; cd du2 export PYTHONPATH= ; . bin/activate pip install --no-deps docutils cp -r ../docutils-code/docutils/test . python test/alltests.py # css paths fail * Notify to docutils-developer and user. * upload doc/0.## :: mkdir tmp1 cd tmp1 tar xzvf ../dist/docutils-0.##.tar.gz cd docutils-0.##/ tools/buildhtml.py . find . -name \*.pyc -exec rm {} \; rm -rf docutils.egg-info rsync -e ssh -r -t ./ web.sourceforge.net:/home/project-web/docutils/htdocs/0.## * change web index.txt * run sandbox/infrastructure/docutils-update.local * set version 0.##+1b.dev * test with py2 and py3 * run sandbox/infrastructure/docutils-update.local * docutils/HISTORY.txt: add title "Changes Since 0.##" * Release to sourceforge. - Remove test/outputs from tar.gz. - Upload tar.gz and 0.16 release notes to sourceforge. - Select docutils-0.16.tar.gz as default for all OS. .. Local Variables: mode: indented-text indent-tabs-mode: nil sentence-end-double-space: t fill-column: 70 End: