Release Procedures
This document describes the necessary steps for creating a new release of SoCo.
Preparations
Verify the version number stated in the release ticket (according to semantic versioning. Tag names should be prefixed with
v
.Create the release notes RST document in
doc/releases
by copying contents from the release notes issue. Texts can be rewritten for legibility.Verify that all tests pass locally and on all supported versions of Python via Travis-CI (the status is visible on the project frontpage on GitHub).
Create and Publish
Update the version number in
__init__.py
(see example) and commit.(If any changes other than the version number was made in preparation for the release, push the release commit to GitHub before proceeding, to ensure that all the continuous integration passes. The automatic deployment to PyPI mentioned below, will not work if continuous integration fails.)
Tag the current commit, eg
git tag -a v0.7 -m 'release version 0.7'
Push the tag. This will create a new release on GitHub, and will automatically deploy the new version to PyPI (see #593)
git push --tags
Update the GitHub release using the release notes from the documentation. The release notes can be abbreviated if a link to the documentation is provided.
Wrap-Up
Close the milestone and issues for the release.
Update the version number in
__init__.py
with an added “+” to indicate development status (see example).Share the news!