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 in release_notes.html by copying contents from the release notes issue. Texts can be rewritten for legibility.
  • Verify that all tests pass.

Create and Publish

  • Update the version number in __init__.py (see example).
  • 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!

Preparation for next release

  • Define the next version number and expected release date (3 month after the current release date, as per #524)).
  • Create the milestone and set the release date.
  • Create an issue for the upcoming release (tagged as Release), and one for the corresponding release notes.