frostfs-api/doc/release_instructions.md
Ori Bruk c3665fc29f [#68] Ensure compatibility of different API versions with each other.
Update linters.

Signed-off-by: Ori Bruk <o.bruk@yadro.com>
2024-11-05 16:52:00 +03:00

1.8 KiB

Release instructions

This documents outlines the frostfs-api release process and can be used as a TODO list for a new release.

Pre-release actions

Increment the milestone version or patch version in case of bug fixes. To add information about compatibility with previous versions of the api for the new code. This must be run:

  • make doc

Pre-release checks

This should run successfully:

  • make pre-commit-run

Writing CHANGELOG

Add an entry to the CHANGELOG.md following the style established there.

Add a codename for releases with the new major version, version and release date in the heading. Write a paragraph describing the most significant changes done in this release. Then add sections with what has been added, changed and removed, describing each change briefly with a reference to GitHub issues, where available.

Release commit

Release commit summary should follow the template:

Release v<Version> - <Codename island> (<Hangeul>, <Hanja>), e.g.:

Release v3.0 - Anmyeondo (안면도, 安眠島)

Tag the release

Use vX.Y tag (milestone version with patch). For pre-release versions use vX.Y-rc.N scheme.

Push changes and release tag to Github

This step should bypass the default PR mechanism to get a correct result (so that releasing requires admin privileges for the project), both the master branch update and tag must be pushed simultaneously like this:

$ git push origin master v2.7

Make a proper Github release

Edit an automatically-created release on Github.

Release title has to follow <version> <Romanized codename> (<Hangeul, Hanja codename> ) scheme for major releases and just <version> for regular point releases.

Post-release actions

  • Close corresponding X.Y Github milestone
  • Make announcements in Matrix and Discord channels