...
- Remove dependency on any proprietary build tools.
- Require at least 2 people to approve a release.
- Reduce possibility for error during the build process.
- Continue CalVer version numbering scheme.
- Improve artifact publication security.
Status Quo
Besu currently does branch based release strategy, using a proprietary tool developed by ConsenSys. Regardless of the branch being released from, a new release branch is created and pushed to origin. This triggers an additional (arguably unnecessary) build PR for the merge back to the “releasing branch” (master, release-<calver>, etc). It also forces a “quiet period” where we do not / cannot merge to the branch-to-release. The branch based flow also submits an additional post-release PR to merge the next project version property (so that build artifacts are <next-calver>-SNAPSHOT).
...