Releases use two GitHub Actions workflows with a manual approval boundary between them:
Prepare Maven Releasecreates the release version pull request.Publish Maven Releasepublishes from a manually created GitHub release.
- Open Actions, select Prepare Maven Release, and choose Run workflow from the default branch.
- Enter the release version without a leading
v, for example2.1.1. - Wait for the workflow to validate the release and open a pull request that updates all Maven POMs to the release version.
- Review, approve, and merge the release version pull request.
The preparation workflow validates that releases containing BREAKING changes
increment the major version. It commits the version change to
release/v<version> and stops after opening the pull request. It does not
publish artifacts or create a GitHub release.
After the release version pull request is merged:
- Open Releases and choose Draft a new release.
- Create the tag
v<version>, for examplev2.1.1, from the release version pull request's merge commit on the default branch. - Set the title to
Release v<version>and generate or enter the release notes. - Mark the release as a prerelease when applicable.
- Publish the release.
Publishing the GitHub release emits the release.published event. This starts
the Maven publication workflow and the release notification workflow.
The publication workflow:
- Verifies that the tag is a semantic version, points to a commit on the default branch, and matches the Maven version in the tagged POM.
- Builds, signs, and uploads the SDK, testing library, and OpenTelemetry plugin to Sonatype Central Portal.
- Uploads the three JARs to the existing GitHub release.
- Opens a pull request for the next development version. A final release
increments the patch version, so
2.1.1produces2.1.2-SNAPSHOT. A prerelease keeps the same base version, so2.1.1-rc1produces2.1.1-SNAPSHOTuntil the final2.1.1release.
After Publish Maven Release succeeds:
- Open Publishing Deployments in Sonatype Central Portal.
- Find the deployments for the release version and verify that they contain the expected SDK, testing library, and OpenTelemetry plugin artifacts.
- Click Publish for each deployment and wait for publication to complete.
The workflow uses
autoPublish=false, so this manual action is required. - Confirm that the GitHub release contains the expected JARs and that the artifacts are available in Maven Central.
- Review, approve, and merge the next development version pull request.