2019-12-16 10:38:26 +00:00
|
|
|
# Release instructions
|
|
|
|
|
2022-04-20 18:30:09 +00:00
|
|
|
This document outlines the neo-go release process. It can be used as a todo
|
2019-12-16 10:38:26 +00:00
|
|
|
list for a new release.
|
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
## Check the state
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2022-04-20 18:30:09 +00:00
|
|
|
These should run successfully:
|
2019-12-16 10:38:26 +00:00
|
|
|
* build
|
|
|
|
* unit-tests
|
|
|
|
* lint
|
|
|
|
* privnet with consensus nodes
|
2022-10-05 19:05:44 +00:00
|
|
|
* mainnet synchronization
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
## Update CHANGELOG and ROADMAP
|
2019-12-16 10:38:26 +00:00
|
|
|
|
|
|
|
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
|
2022-04-20 18:30:09 +00:00
|
|
|
describing the most significant changes done in this release. Then, add
|
|
|
|
sections with new features implemented and bugs fixed describing each change in detail and
|
2019-12-16 10:38:26 +00:00
|
|
|
with a reference to Github issues. Add generic improvements section for
|
2022-04-20 18:30:09 +00:00
|
|
|
changes that are not directly visible to the node end-user, such as performance
|
2019-12-16 10:38:26 +00:00
|
|
|
optimizations, refactoring and API changes. Add a "Behaviour changes" section
|
|
|
|
if there are any incompatible changes in default settings or the way commands
|
|
|
|
operate.
|
|
|
|
|
|
|
|
Update ROADMAP.md if necessary.
|
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
Create a PR with CHANGELOG/ROADMAP changes, review/merge it.
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
## Create a Github release and a tag
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
Use "Draft a new release" button in the "Releases" section. Create a new
|
|
|
|
`vX.Y.Z` tag for it following the semantic versioning standard. Put change log
|
|
|
|
for this release into the description. Do not attach any binaries at this step.
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
## Add automatically-built binaries
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2022-10-05 19:05:44 +00:00
|
|
|
New release created at the previous step triggers automatic builds (if not,
|
|
|
|
start them manually from the Build Github workflow), so wait for them to
|
|
|
|
finish. Then download currently supported binaries (at the time of writing
|
|
|
|
that's `neo-go-darwin-arm64`, `neo-go-linux-amd64`, `neo-go-linux-arm64` and
|
|
|
|
`neo-go-windows-amd64`), unpack archives and add resulting binaries (named in
|
|
|
|
the same way as archives) to the previously created release.
|
2019-12-16 10:38:26 +00:00
|
|
|
|
2019-12-16 12:01:46 +00:00
|
|
|
## Close Github milestone
|
|
|
|
|
|
|
|
Close corresponding X.Y.Z Github milestone.
|
|
|
|
|
2019-12-16 10:38:26 +00:00
|
|
|
## Announcements
|
|
|
|
|
|
|
|
Copy the github release page link to:
|
|
|
|
* Discord channel
|
|
|
|
* Riot channel
|
|
|
|
|
|
|
|
## Deployment
|
|
|
|
|
2022-04-20 18:30:09 +00:00
|
|
|
Deploy the updated version to the mainnet/testnet.
|