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.