[#305] docs: Add release instructions

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
remotes/KirillovDenis/feature/refactor-sig-rpc
Pavel Karpy 2021-06-09 22:26:09 +03:00 committed by Alex Vanin
parent 59179bed92
commit 0e53766f2d
1 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
# Release instructions
## Pre-release checks
These should run successfully:
* `go test ./...`;
* `golangci-lint run ./...`;
* `go fmt ./...` (should not change any files);
* `go mog tidy` (should not change any files);
* `./prepare.sh /path/to/neofs-api/on/your/machine` (should not change any files).
## Writing changelog
Add an entry to the `CHANGELOG.md` following the style established there. Add an
optional codename(for not patch releases), 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, new features and
other changes.
Open Pull Request (must receive at least one approval) and merge this changes.
## Tag a 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.
Update your local `master` branch after approved and merged `CHANGELOG.md` changes.
Tag a release (must be signed) and push it:
```
$ git tag -s vX.Y.Z[-rc.N] && git push origin vX.Y.Z[-rc.N]
```
## Make a Github release
Using Github's web interface create a new release based on just created tag
with the same changes from changelog and publish it.
## Close github milestone
Close corresponding vX.Y.Z github milestone.