This page covers the processes used by the maintainers of logstash-logback-encoder.
The main
branch is the head for the next release.
The project version referenced in the pom.xml
file on the main
branch is
the next release version appended with -SNAPSHOT
.
PRs are submitted against main
.
Only the latest version is "supported" and actively maintained.
All changes and improvements are made against the latest version.
In other words, older releases will not be hotfixed, and backports will not be performed to older releases.
To perform a release, push a commit (like this one)
to the main
branch that:
- Bumps the version references in the README.md
- Contains a commit message that starts with
[release]
The build workflow sees [release]
in the commit message
and uses the maven-release-plugin
to perform the release, which then:
- Strips the
-SNAPSHOT
from the pom version, - Creates the git tag, and builds the artifacts
- Uses the
maven-gpg-plugin
to sign the artifacts with this GPG signing key using theGPG_KEY
andGPG_PASSPHRASE
secrets - Uses the
nexus-staging-maven-plugin
to:- Deploy the artifact to a staging repository hosted at https://oss.sonatype.org/
using the
OSSRH_USERNAME
andOSSRH_PASSWORD
secrets - Automatically release the staging repository if no errors occur.
- After the staging repository is released, the new artifacts will eventually propagate to maven central.
- Deploy the artifact to a staging repository hosted at https://oss.sonatype.org/
using the
- Bumps the version to the next
-SNAPSHOT
version.
After releasing, create a release for the tag that includes release notes of all the changes in the new version.