Skip to content
Frank Schröder edited this page Nov 18, 2019 · 9 revisions

Build env

  1. Is git setup for signed commits? (the release tags are signed) git config --global user.signingkey <gpg signing key>

  2. Run brew install make git bazaar consul vault

  3. Is homebrew up-to-date? Run brew update ; brew cleanup

  4. Is the latest consul and vault installed via homebrew? Check with consul version and vault version.

  5. Is goreleaser installed? If not run brew install goreleaser.

  6. Is the GITHUB_TOKEN environment variable set with a valid github api token? (required for goreleaser) If not, create one at https://github.com/settings/tokens

  7. Does https://github.com/magiconair/homebrew-core exist? (required for homebrew update)

  8. Check that the docker login works, e.g. docker login -u magiconair

Pre-flight

  1. Does the code build? Run make to check.
  2. Is Codeship green? Codeship CI Status
  3. Is there a milestone for that release in github?
  4. Are all issues and pull requests which got merged associated with that milestone?
  5. Are all items of the milestone closed?
  6. Is the due date of the milestone set to the release date?
  7. Does CHANGELOG.md contain all changes from the milestone?

Release

  1. Update CHANGELOG.md and update the Unreleased title to version and date of the release.
  2. Commit the CHANGELOG.md with message Prepare for release x.y.z
  3. Run make release to tag the code, build the release for all supported platforms, package it with goreleaser and push it to homebrew and github with changelog. This will update the version in main.go and commit it.
  4. A browser window should open for the homebrew pull request. Mark all [X] checkboxes and submit.