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 .. code-block:: bash 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 `_) .. code-block:: bash 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.