2021-06-09 19:26:09 +00:00
|
|
|
# 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);
|
2022-12-09 11:16:24 +00:00
|
|
|
* `./prepare.sh /path/to/frostfs-api/on/your/machine` (should not change any files).
|
2021-06-09 19:26:09 +00:00
|
|
|
|
|
|
|
## 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.
|
|
|
|
|
2021-08-27 07:44:03 +00:00
|
|
|
## Update README
|
|
|
|
|
|
|
|
Actualize compatibility table in `README.md` with relevant information.
|
|
|
|
|
2021-06-09 19:26:09 +00:00
|
|
|
## 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.
|