Release Process

Contents

Release Process

Regular Releases

To release a new version of HERMES when a new set of features and/or fixes have been merged, execute the following steps:

  1. Adjust the version number in pyproject.toml and CITATION.cff as necessary (major, minor or patch release). Please create a branch release/v<version> and merge it in a PR - don’t just push to develop. After merging, delete the “release” branch.

    To edit the version in pyproject.toml, there are two ways:

    • Manually edit the file with an editor.

    • Use poetry version <rule>. See also Poetry Docs

  2. Create a pull request from develop to main.

  3. Check if all the CI pipelines for that PR succeed.

  4. Let the named maintainer (see GOVERNANCE.md) merge the PR into main.

  5. Create a new release by using the Github UI.

    • Choose to create a new tag with the format v<version number>.

    • Target branch is main.

    • The release title will be set to the tag name, keep as is.

    • A description should be added, giving a very brief summary of the contained changes.

    • Publish the release.

    Note: this will also ensure usage of annotated tags, making Software Heritage archive the release.

  6. On develop, update the version in pyproject.toml to <major>.<minor+1>.0.dev0 in another pull request. To edit the version, you can use two ways:

    • Manually edit the file with an editor.

    • Use poetry version "<major>.<minor+1>.0.dev0"