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.