- Add VERSION file to make it work without .git folder - Remove obsolete GO111MODULE flag - Move linter version to variable - clean .cache on `make clean` - Move help target to a separate help.mk file Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
2.4 KiB
Release instructions
Pre-release checks
These should run successfully:
make all
;make test
;make lint
(should not change any files);make fmts
(should not change any files);go mod tidy
(should not change any files);- integration tests in 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 the supported version of neofs-contract in README.md
if there were
changes in 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.
Update VERSION files
Make sure the VERSION file contains correct release version. It must be the tag you have just created.
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 Docker Hub
Create images for neofs-storage
, neofs-ir
and neofs-cli
, neofs-adm
applications
and push them into Docker Hub (so that releasing requires privileges in nspccdev
organization in Docker Hub)
$ make images
$ docker push nspccdev/neofs-storage:0.24.0
$ docker push nspccdev/neofs-storage-testnet:0.24.0
$ docker push nspccdev/neofs-ir:0.24.0
$ docker push nspccdev/neofs-cli:0.24.0
$ docker push nspccdev/neofs-adm:0.24.0
Make a proper GitHub release
Edit an automatically-created release on GitHub, copy things from changelog.
Build and tar release binaries with make prepare-release
, attach them to
the release. Publish the 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).