...
Example Release Workflow for HL Besu 23.7.3
- Create a PR against main to bump the build version to 23.7.4-SNAPSHOT and add a new version section to CHANGELOG.md to reflect the next snapshot revision
- This prevents blocking main during the release but creates a bookmark to indicate that the release will up to the commit before this.
- Create a release candidate PR which merges `main` into the `release` branch, which also updates the build version to reflect 23.7.3-RC
- During the actual 23.7.3 release, it became clear that the only way to do this nicely is by cherry-picking the commit range from main onto the release branch, e.g.
git cherry-pick 6dc10a9..eef40bd
- Due to 1, we need to use a subset of main commits, not including the bump to 23.7.4-SNAPSHOT
- During the actual 23.7.3 release, it became clear that the only way to do this nicely is by cherry-picking the commit range from main onto the release branch, e.g.
- Upon merge into the release branch, CI builds and publishes the necessary artifacts for the release candidate
- Deploy canary and burn-in builds with the published release candidate artifactsCreate a PR against main to bump the build version to 23.7.4-SNAPSHOT and add a new version section to CHANGELOG.md to reflect the next snapshot revision
- Upon successful validation of the release candidate burn-in:
- create a PR against the release branch to update ONLY the build version to 23.7.3, removing the -RC suffix
- upon successful build and merge of the release PR:
- draft a new github release for 23.7.3
- wait for docker artifacts to build and publish
- publish the github release with artifact SHAs and announce on HL discord
...