frostfs-node/docs/release-instruction.md

61 lines
1.9 KiB
Markdown
Raw Normal View History

# Release instructions
## Pre-release checks
These should run successfully:
* build,
* unit-tests,
* integration tests in
[neofs-devenv](https://github.com/nspcc-dev/neofs-devenv).
## 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](https://semver.org/) standard.
## 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](https://github.com/nspcc-dev/neofs-devenv).
Rebuild NeoFS LOCODE database via CLI `util locode generate` command (if needed).