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:

Please create a branch release/v<version>

  1. Create a pull request from release/v<version> to develop containing:

    1. Update the CHANGELOG.md with Added, Fixed and Changed.

    2. Adjust the version number in pyproject.toml and CITATION.cff as necessary (major, minor or patch release). 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. Merge and delete the release release/v<version> branch.

  3. Create a pull request from develop to main.

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

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

  6. 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.

  7. 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"