-
Notifications
You must be signed in to change notification settings - Fork 618
Release Process
Release for a milestone or GA is done via GitHub Actions. Process is mostly automated to make process stable but due to distributed nature, things may be unstable whatever happens withing a release build process.
When release is requested via GitHub workflow dispatch, things are generally speaking automated but what comes for a promotion between staging repos into milestone/release repos and sync to central, workflows will ask manual approval to continue. This is a stop having a person doing a release to do manual checks before committing particular release.
Generally speaking release process is to pick Release GA
workflow and execute it manually with a particular branch. You need to manually update gradle.properties
for next snapshot version.
Generally speaking milestone process is to pick Release Milestone
workflow and execute it manually with a given milestone version
as M1
, RC1
, etc and with a particular branch.
When things didn't go as planned this is a section to read. As there's many points where things may fail, we need to choose if to manually continue to finish release tasks or revert and restart whole release process. This depends on where release failed and sometimes it's easier to manually complete rather than revert and re-do.
If release process pushed a build branch and a tag, these needs to be removed before next release attempt is made as next push would fail.
For example during backporting GH release things into older branches mistakes were made and we resulted:
$ git branch -la|grep 2.2.3
remotes/origin/2.2.3
$ git tag -l|grep 2.2.3
v2.2.3