mitmproxy/release
Aldo Cortesi 85526e5370 cibuild: Match Travis env variable behaviour
Whenever TRAVIS_TAG is non-empty, TRAVIS_BRANCH is over-ridden to match the
TRAVIS_TAG value. Adjust our tests to reflect this, and add a sanity check that
fails hard if this constraint is ever not met.

See https://github.com/travis-ci/travis-ci/issues/4745
2018-06-16 10:23:33 +12:00
..
hooks fix appveyor build script 2017-12-30 18:48:49 +01:00
installbuilder Such CI, Very Wow. (#3182) 2018-06-02 21:37:44 +02:00
specs fix pyinstaller 2016-11-28 00:51:52 +01:00
windows-store-experiment minor fixes for windows package 2017-06-14 14:35:51 +02:00
__init__.py cibuild: Consolidate build environment and add tests 2018-05-24 11:06:43 +12:00
.gitignore pin snapshot server hostkey, update pysftp 2018-01-04 14:12:30 +01:00
cibuild.py cibuild: Match Travis env variable behaviour 2018-06-16 10:23:33 +12:00
README.md release: update docker instructions 2018-05-25 23:54:42 +02:00

Release Checklist

Make sure to run all these steps on the correct branch you want to create a new release for! The command examples assume that you have a git remote called upstream that points to the mitmproxy/mitmproxy repo.

  • Verify that mitmproxy/version.py is correct
  • Update CHANGELOG
  • Verify that all CI tests pass
  • Create a major version branch - e.g. v4.x. Assuming you have a remote repo called upstream that points to the mitmproxy/mitmproxy repo::
    • git checkout -b v4.x upstream/master
    • git push -u upstream v4.x
  • Tag the release and push to Github
    • For alphas, betas, and release candidates, use lightweight tags. This is necessary so that the .devXXXX counter does not reset.
    • For final releases, use annotated tags. This makes the .devXXXX counter reset.
      • git tag -a v4.0.0 -m v4.0.0
      • git push upstream v4.0.0
  • Wait for tag CI to complete

GitHub Release

  • Create release notice on Github here if not already auto-created by the tag.
  • We DO NOT upload release artifacts to GitHub anymore. Simply add the following snippet to the notice: You can find the latest release packages on our snapshot server: https://snapshots.mitmproxy.org/v<version number here>

PyPi

Homebrew

  • The Homebrew maintainers are typically very fast and detect our new relese within a day.
  • If you feel the need, you can run this from a macOS machine: brew bump-formula-pr --url https://github.com/mitmproxy/mitmproxy/archive/v<version number here>

Docker

  • The docker image is built on Travis and pushed to Docker Hub automatically.
  • Please check https://hub.docker.com/r/mitmproxy/mitmproxy/tags/ about the latest version
  • Update latest tag: docker tag mitmproxy/mitmproxy:<version number here> mitmproxy/mitmproxy:latest && docker push mitmproxy/mitmproxy:latest

Website

Docs

  • Make sure you've uploaded the previous version's docs to archive
  • If everything looks alright:
    • ./build-current
    • ./upload-stable

Prepare for next release