Skip to content

TestingReleaseProcess

Matthias Radestock edited this page Aug 11, 2015 · 4 revisions

Testing the release process

The release process (as embodied in the script ./bin/release can be tested without polluting the official {Git,Docker}Hub repositories.

You will of course need your own GitHub repo and DockerHub account. Then,

  1. Branch from master (or whatever you want to test releasing). This is so you can throw the branch away when you're done (or keep it around. You only need it locally): git checkout -b test_releases

  2. In the shell, set GITHUB_USER and DOCKERHUB_USER to your accounts and export them. You'll need to have a GitHub application token in the environment too (as the script tells you), and be authenticated with DockerHub as the given account.

Now you are ready to prepare a release. Pick a version, preferably with the suffix -test to distinguish it from proper releases, just in case.

Publishing the test release

Follow the normal release process, with just one difference: when pushing the git tags, push them to your own account, e.g. git push -f git@github.com:$GITHUB_USER/weave v0.8.2-test latest_release

Tidying up

These things have been created or changed:

  • a release tag in your local and origin repos
  • the "latest_release" tag (has been moved)
  • a GitHub release in your GitHub account
  • DockerHub images

Of these, you really only need to care about the GitHub release, and only if you want to test with the same tag again. The easiest thing to do to clean up is just to go to `https://github.com/$GITHUB_USER/weave/releases", follow the link to the test release, and delete it.

Tags you can delete in much the same place (tags tab), and locally with git tag -d $tag. DockerHub images can be deleted through the DockerHub site, if you care enough.