The release process described below uses the 'current' branch. For patch releases see the Patch releases section below
- Create release-X.Y.Z branch from current
- Wait for the build on the release-X.Y.Z branch to complete
- If the build was not successful
- Checkout the release-X.Y.Z branch
- Apply whatever fixes are needed
- Commit and push them to release-X.Y.Z branch
- Redo steps #2 and #3
- On the current branch update the POMs to point to the next SNAPSHOT version
- Trigger release using release-X.Y.Z as branch to release from
- If release build fails
- Remove the vX.Y.Z tag
- Checkout the release-X.Y.Z branch
- Apply whatever fixes are needed
- Commit and push them to release-X.Y.Z
- Retrigger the release
- Trigger release docs workflow
- Create release notes
- Set correct tag for release notes
- Make sure “Create a discussion for this release” is checked
- Make sure Category is set to General
- Publish release notes
- Wait for release bits to show up on Maven Central
- On the piranha_cloud Twitter announce that Piranha X.Y.Z has been released and make sure to thank our contributors.
- Apply fixes from release-X.Y.Z branch to the current branch with a corresponding issue (if any).
- Delete the release-X.Y.Z branch
- Close the milestone on GitHub
If you are creating a patch release against a branch please follow all the steps above and replace current with the branch you are patching against where appropriate (without waiting a day in between).