This repo uses semantic versions with a twist: we update minors on api-breaks until we hit 1.0. Please keep this in mind when choosing version numbers.
-
Alert others you are releasing
There should be no commits made to master while the release is in progress (about 10 minutes). Before you start a release, alert others on gitter so that they don't accidentally merge anything. If they do, and the build fails because of that, you'll have to recreate the release tag described below.
-
Push a git tag
The tag should be of the format
release-N.M.L
, exgit tag release-1.18.1; git push origin release-1.18.1
. -
Wait for Travis CI
This part is controlled by
travis/publish.sh
. It creates a bunch of new commits, bumps the version, publishes artifacts, syncs to Maven Central, and publishes Javaocs to http://zipkin.io/zipkin into a versioned subdirectory. (Note: Javaocs are also published on all builds of master; due to versioning, it doesn't overwrite docs built for releases.) -
Publish
docker-zipkin
Refer to docker-zipkin/RELEASE.md.
Credentials of various kind are needed for the release process to work. If you notice something
failing due to unauthorized, re-encrypt them using instructions at the bottom of the .travis.yml
Ex You'll see comments like this:
env:
global:
# Ex. travis encrypt BINTRAY_USER=your_github_account
- secure: "VeTO...
To re-encrypt, you literally run the commands with relevant values and replace the "secure" key with the output:
$ travis encrypt BINTRAY_USER=adrianmole
Please add the following to your .travis.yml file:
secure: "mQnECL+dXc5l9wCYl/wUz+AaYFGt/1G31NAZcTLf2RbhKo8mUenc4hZNjHCEv+4ZvfYLd/NoTNMhTCxmtBMz1q4CahPKLWCZLoRD1ExeXwRymJPIhxZUPzx9yHPHc5dmgrSYOCJLJKJmHiOl9/bJi123456="