Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 1.35 KB

RELEASING.md

File metadata and controls

20 lines (15 loc) · 1.35 KB

Release process

Testcontainers' release process is automated as a Travis deployment. This describes the basic steps for a project member to perform a release.

Steps

  1. Ensure that the master branch is building and that tests are passing.
  2. Ensure that the CHANGELOG file is up to date and includes all merged features.
  3. 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).
  4. Check that the Travis build passed.
  5. Release of published artifacts is fully automated. Once the Travis build completes, there are no further actions to perform on the repository.
  6. When available through Maven Central, poke @whichrich to announce the release on Twitter!

Internal details

  • 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.