2.3 KiB
Releasing software
When releasing a new version, the following steps should be taken:
Make sure all automated tests pass.
Fill in the release date in
CHANGES
. Make sure the changelog is complete. Commit this change.Make sure the package metadata in
setup.py
is up-to-date. You can verify the information by re-generating the egg info:python setup.py egg_info
and inspecting
src/pysaml2.egg-info/PKG-INFO
. You should also make sure that the long description renders as valid reStructuredText. You can do this by using therst2html.py
utility from docutils:python setup.py --long-description | rst2html > test.html
If this will produce warning or errors, PyPI will be unable to render the long description nicely. It will treat it as plain text instead.
Update the version in the setup.py file and the doc conf.py file. Commit these changes.
Create a release tag:
bzr tag X.Y.Z
Push these changes to Launchpad:
bzr push
Create a source distribution and upload it to PyPI using the following command:
python setup.py register sdist upload
Upload the documentation to PyPI. First you need to generate the html version of the documentation:
cd doc make clean make html cd _build/html zip -r pysaml2-docs.zip *
now go to http://pypi.python.org/pypi?%3Aaction=pkg_edit&name=pysaml2 and submit the pysaml2-docs.zip file in the form at the bottom of that page.
Create a new release at Launchpad. If no milestone was created for this release in the past, create it now at https://launchpad.net/pysaml2/main Then create a release for that milestone. You can copy the section of the CHANGES file that matches this release in the appropiate field of the Launchpad form. Finally, add a download file for that release.
Send an email to the pysaml2 list announcing this release
Important: Once released to PyPI or any other public download location, a released egg may never be removed, even if it has proven to be a faulty release ("brown bag release"). In such a case it should simply be superseded immediately by a new, improved release.
This document is based on http://svn.zope.org/*checkout*/Sandbox/philikon/foundation/releasing-software.txt