- Warn people in chat
- Get the branch ready
- either you're doing a release off main
- or a release-x.y.z branch in which case you may need to cherry pick commits into it
- push a PR with a non`-SNAPSHOT` version in gradle.properties
- once the PR is merged, the build automation detects it and does all the release packaging and publishing
- push a PR with the next `-SNAPSHOT` version in gradle.properties - this prevents the release you just did from being overwritten.
- Also include the download links in CHANGELOG when done (download the zip file and run shasum besu.zip to get the hashes)
- push a PR to update homebrew (not for RC)
Then, the non-code items:
- Create a github release (copy CHANGELOG section in there)
- Create a docs github release (copy the same CHANGELOG section in there)
- announcement in chat
- announcement on twitter etc