Skip to content
Janne Valkealahti edited this page Jul 4, 2021 · 7 revisions

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.

Doing a Release

Release Milestone

tbd

Release GA

tbd

When Things Go Wrong

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.

Clean GitHub tags/repos

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

Clone this wiki locally