frostfs-node/docs/release-instruction.md

2.0 KiB

Release instructions

Pre-release checks

These should run successfully:

Writing changelog

Add an entry to the CHANGELOG.md following the style established there. Add an optional codename, version and release date in the heading. Write a paragraph describing the most significant changes done in this release. Add Fixed, Added, Removed and Updated sections with fixed bug descriptions and changes. Describe each change in detail with a reference to github issues if possible.

Update supported version of neofs-contract in README.md if there were changes between releases.

Tag the release

Use vX.Y.Z tag for releases and vX.Y.Z-rc.N for release candidates following the semantic versioning standard. Tag must be created from the latest commit of the master branch.

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 v0.12.0

Prepare and push images to a dockerhub

Create images for neofs-storage, neofs-ir and neofs-cli applications and push them into dockerhub (so that releasing requires privileges in nspccdev organization in dockerhub)

$ make images
$ docker push nspccdev/neofs-storage:0.12.0
$ docker push nspccdev/neofs-ir:0.12.0
$ docker push nspccdev/neofs-cli:0.12.0

Make a proper github release

Edit an automatically-created release on github, copy things from changelog. Make a release.

Close github milestone

Close corresponding vX.Y.Z github milestone.

Post-release

Prepare pull-request for neofs-devenv.

Rebuild NeoFS LOCODE database via CLI util locode generate command (if needed).