An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
besu/.github/ISSUE_TEMPLATE/release-checklist.md

3.1 KiB

name about title labels assignees
Release Checklist items to be completed for each release
  • Confirm anything outstanding for release with other maintainers on #besu-release in Discord
  • Update changelog if necessary, and merge a PR for it to main
    • Notify maintainers about updating changelog for in-flight PRs
  • Optional: for hotfixes, create a release branch and cherry-pick, e.g. release-<version>-hotfix
    • Optional: for hotfixes, create a PR into main from the hotfix branch to see the CI checks pass
  • On the appropriate branch/commit, create a calver tag for the release candidate, format example: 24.4.0-RC1
    • git tag 24.4.0-RC1
    • git push upstream 24.4.0-RC1
  • Sign-off with team; announce the tag in #besu-release in Discord
  • Consensys staff start burn-in using this tag
  • Seek sign off for burn-in
    • Pass? Go ahead and complete the release process
    • Fail? Put a message in #besu-release in Discord indicating the release will be aborted because it failed burn-in
  • Optional: Perform a dry run with https://github.com/consensys/protocols-release-sandbox to test the workflows
  • Back on besu, using the same git sha as 24.4.0-RC1, create a calver tag for the FULL RELEASE, example format 24.4.0
    • git checkout 24.4.0-RC1
    • git tag 24.4.0
    • git push upstream 24.4.0
  • Manually run https://github.com/hyperledger/besu/actions/workflows/draft-release.yml using main branchand the FULL RELEASE tag name, i.e.24.4.0. Note, this workflow should always be run from main` branch (hotfix tags will still be released even if they were created based on another branch)
    • publishes artefacts and version-specific docker tags but does not fully publish the GitHub release so subscribers are not yet notified
  • Check all draft-release workflow jobs went green
  • Check binary SHAs are correct on the release page
  • Update release notes in the GitHub draft release, save draft and sign-off with team
  • Publish draft release ensuring it is marked as latest release (if appropriate)
    • this is now public and notifies subscribed users
    • makes the release "latest" in github
    • publishes the docker latest tag variants
  • Create homebrew release using update-version workflow
    • If the PR has not been automatically created, create the PR manually using the created branch update-<version>
    • Run commands brew tap hyperledger/besu && brew install besu on MacOSX and verify latest version has been installed
  • Delete the burn-in nodes (unless required for further analysis eg performance)
  • Social announcements