-
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.
tbd
tbd
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.BUILD
remotes/origin/2.2.3.BUILD
$ git tag -l|grep 2.2.3.BUILD
v2.2.3.BUILD
It should have been 2.2.3.BUILD-SNAPSHOT
as with 2.3.x
we moved to generic spring convention of x.x.x-SNAPSHOT
.
As things failed after push to github repo and artifactory repo, but before this were promoted from staging into milestone, we can fix things and clear GH:
$ git push origin :2.2.3.BUILD
remote:
To github.com:spring-projects/spring-statemachine.git
- [deleted] 2.2.3.BUILD
$ git push origin :v2.2.3.BUILD
To github.com:spring-projects/spring-statemachine.git
- [deleted] v2.2.3.BUILD