Original document: github.com/nyg/kraken-api-java/blob/master/RELEASE.md
This document explains how a kraken-api-java release is created, describes what are the tools used, and how they interact with each other.
When a release is created, the visible “output” is an updated CHANGLOG.md file, a GitHub release with a changelog, and the release artifact available in the Maven Central repository.
Overview When wanting to make a release, the following must/will be performed:
Manually execute the prepare goal of the maven-release-plugin, this will create a git tag and push it to the remote repository. Once the tag is pushed, the user-defined GitHub Actions workflow is triggered and creates a GitHub release with a changelog generated by git-cliff. Manually execute the perform goal of the maven-release-plugin, this will build and upload the artifacts to Sonatype’s servers. Manually publish to Maven Central the uploaded artifacts using Sonatype’s website (this can be done automatically in step 3, see below). In theory, all of these steps could be merged into a single GitHub Actions workflow. However, for the time being, we prefer to delegate a minimum amount of steps to GitHub. Regarding step 2, it could be run manually from one’s own machine as it consists of a single GitHub REST API call.
...