Releases are automated via release-please.
- Commits to
mainusing Conventional Commits are tracked by release-please. - Release-please maintains a release PR that accumulates changes and updates the changelog.
- When the release PR is merged, release-please creates a GitHub
release and a
vX.Y.Ztag. - The tag triggers the existing
release.ymlworkflow, which deploys to Maven Central. - After tagging, release-please opens a follow-up PR to bump the
SNAPSHOT version in all
pom.xmlfiles.
Simply merge the release PR — release-please bumps the patch version
by default (e.g. 1.5.0 -> 1.5.1).
Add a release-as: X.Y.0 footer to any commit on main:
feat: add new feature
release-as: 1.6.0
Alternatively, edit the release PR title to
chore(main): release 1.6.0.
If there have been significant changes since the last release, update the benchmarks before merging the release PR:
mise run update-benchmarks- Generate a new key: https://central.sonatype.org/publish/requirements/gpg/#generating-a-key-pair
- Distribute the key: https://central.sonatype.org/publish/requirements/gpg/#distributing-your-public-key
- Use
gpg --armor --export-secret-keys YOUR_IDto export (docs) - Update the passphrase: http://github.com/prometheus/client_java/settings/secrets/actions/GPG_SIGNING_PASSPHRASE
- Update the GPG key: http://github.com/prometheus/client_java/settings/secrets/actions/GPG_SIGNING_KEY