Testcontainers' release process is automated as a Travis deployment. This describes the basic steps for a project member to perform a release.
- Ensure that the master branch is building and that tests are passing.
- Ensure that the
CHANGELOG
file is up to date and includes all merged features. - Create a new release on GitHub. The tag name is used as the Maven version, so please keep the tag name plain (e.g. 1.2.3).
- Check that the Travis build passed.
- Release of published artifacts is fully automated. Once the Travis build completes, there are no further actions to perform on the repository.
- When available through Maven Central, poke @whichrich to announce the release on Twitter!
- The signing and publishing steps are initiated as a script-type Travis CI deployment phase. The
release/deploy.sh
script performs this process. mvn version:set
is applied to use the tag name to the version number for the build.- An encrypted GPG key within the
release
directory is used for signing. This key file is decrypted using Travis secrets. - Travis secrets also hold key passphrase and Maven Central API username/passwords that are used for publishing.
- The publication process is automated using
nexus-staging-maven-plugin
.