docs: add basic release instruction
This commit is contained in:
parent
c8da34a2c8
commit
b57bbf5838
1 changed files with 67 additions and 0 deletions
67
docs/release-instruction.md
Normal file
67
docs/release-instruction.md
Normal file
|
@ -0,0 +1,67 @@
|
|||
# Release instructions
|
||||
|
||||
This documents outlines the neo-go release process, it can be used as a todo
|
||||
list for a new release.
|
||||
|
||||
## Pre-release checks
|
||||
|
||||
These should run successfuly:
|
||||
* build
|
||||
* unit-tests
|
||||
* vet
|
||||
* lint
|
||||
* privnet with consensus nodes
|
||||
|
||||
## Writing CHANGELOG
|
||||
|
||||
Add an entry to the CHANGELOG.md following the style established there. Add a
|
||||
codename, version and release date in the heading. Write a paragraph
|
||||
describing the most significant changes done in this release. Then add
|
||||
sections with new features and bugs fixed describing each change in detail and
|
||||
with a reference to Github issues. Add generic improvements section for
|
||||
changes that are not directly visible to the node end-user such as performance
|
||||
optimizations, refactoring and API changes. Add a "Behaviour changes" section
|
||||
if there are any incompatible changes in default settings or the way commands
|
||||
operate.
|
||||
|
||||
## Updating ROADMAP
|
||||
|
||||
Update ROADMAP.md if necessary.
|
||||
|
||||
## Tag the release
|
||||
|
||||
Use `vX.Y.Z` tag following the semantic versioning 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.70.1
|
||||
|
||||
This is important to ensure proper version in a CI-built binary. Wait for
|
||||
CircleCI to build it (or them if we're to have more than one OS or
|
||||
architecture), download it and rename to `neo-go-$OS-$ARCH`, at the moment
|
||||
that should be `neo-go-linux-amd64`.
|
||||
|
||||
## Make a proper Github release
|
||||
|
||||
Edit an automatically-created release on Github, copy things from changelog
|
||||
there and attach previously downloaded binary. Make a release.
|
||||
|
||||
## Announcements
|
||||
|
||||
Copy the github release page link to:
|
||||
* Discord channel
|
||||
* Riot channel
|
||||
|
||||
## Deployment
|
||||
|
||||
Create an issue in JIRA to deploy new version to the mainnet.
|
||||
|
||||
## Post-release
|
||||
|
||||
The first commit after the release must be tagged with `X.Y.Z+1-pre` tag for
|
||||
proper semantic-versioned builds, so it's good to make some minor
|
||||
documentation update after the release and push it with this new tag.
|
Loading…
Reference in a new issue