gpg(for artifact signing)sha256sum(for checksums)~/.m2/settings.xmlwith credentials for Maven Central- Clean git working directory on
main/masterbranch
./release.sh <VERSION>
# With specific GPG key
./release.sh <VERSION> --gpg-key <KEY_ID>
# Show help
./release.sh --help# Release version 1.6.0
./release.sh 1.6.0
# Release with specific GPG key
./release.sh 1.6.0 --gpg-key ABC123DEF- Validates prerequisites (mvnw, maven settings, gpg, git, sha256sum)
- Validates git state (clean worktree, on main/master branch)
- Checks no existing release branch or tag exists
- Creates release branch:
release-{VERSION} - Updates version across all Maven modules
- Builds and verifies all modules
- Deploys
collectormodule to Maven Central - Assembles release artifacts in
RELEASE/directory:- Copies javaagent, isolator_javaagent, and standalone jars
- Signs each jar with GPG
- Generates SHA256 checksums
- Commits release on release branch
- Creates annotated tag:
{VERSION} - Pushes release branch and tag to remote
- Switches back to main branch
- Sets post-release version:
{VERSION}-POST - Commits and pushes post-release version
Documentation deployment is manual and independent of software releases. Use the Deploy Documentation GitHub Actions workflow to publish the Docusaurus site from the selected workflow branch. Documentation updates do not require creating a release.
Release artifacts will be located in the RELEASE directory:
jmx_prometheus_javaagent-<VERSION>.jarjmx_prometheus_javaagent-<VERSION>.jar.ascjmx_prometheus_javaagent-<VERSION>.jar.sha256jmx_prometheus_isolator_javaagent-<VERSION>.jarjmx_prometheus_isolator_javaagent-<VERSION>.jar.ascjmx_prometheus_isolator_javaagent-<VERSION>.jar.sha256jmx_prometheus_standalone-<VERSION>.jarjmx_prometheus_standalone-<VERSION>.jar.ascjmx_prometheus_standalone-<VERSION>.jar.sha256
Attach all files to the GitHub release.