frostfs-api-go/docs/release-instruction.md

50 lines
1.5 KiB
Markdown
Raw Normal View History

# 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.
## Update README
Actualize compatibility table in `README.md` with relevant information.
## Update version
Actualize minor/major version constants in `pkg/version.go` file.
## 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.