diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-02-15 14:58:53 +0100 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-02-15 14:58:53 +0100 |
commit | dd2c500294c195c9c1c6c774125538968a697583 (patch) | |
tree | c55faf789dcfce6315107490c2fa0c3c9766c5c1 /release/README.mkd | |
parent | 175ce43a30559115c08e41e5d87519e957ff96f6 (diff) | |
parent | 925c2062496f4d0860f9618e968b268bb282a275 (diff) | |
download | mitmproxy-dd2c500294c195c9c1c6c774125538968a697583.tar.gz mitmproxy-dd2c500294c195c9c1c6c774125538968a697583.tar.bz2 mitmproxy-dd2c500294c195c9c1c6c774125538968a697583.zip |
add release
Diffstat (limited to 'release/README.mkd')
-rw-r--r-- | release/README.mkd | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/release/README.mkd b/release/README.mkd new file mode 100644 index 00000000..7754125d --- /dev/null +++ b/release/README.mkd @@ -0,0 +1,83 @@ + +General build and release utilities for the mitmproxy, netlib and pathod +projects. These tools assume a directory structure with all repositories at the +same level, for example: + + /src + /mitmproxy + /netlib + /pathod + /release + + +# Release policies + + - By default, every release is a new minor (`0.x`) release and it will be + pushed for all three projects. + + - Only if an emergency bugfix is needed, we push a new `0.x.y` bugfix release + for a single project. This matches with what we do in `setup.py`: + + "netlib>=%s, <%s" % (version.MINORVERSION, version.NEXT_MINORVERSION) + + + +# Release Checklist + +## Check out release versions + + - Check out the versions of pathod, netlib and mitmproxy due to be released + + - Verify that repositories are in a clean state: + + `./build git status` + + - Ensure that the website style assets have been compiled for production, and + synced to the docs. + + - Render the docs, update CONTRIBUTORS file: + + ./build docs contributors + + +## Test + + - Test the source distributions: + + ./build test + + This does the following: + - creates a venv in release/venv + - creates source distributions in release/release + - installs the source distributions in the venv + - and runs all installed tools + + +## Release + + - Make a release commit for all projects, tag and push it: + + ./build git commit -am "Release v0.13" + ./build git tag v0.13 + ./build git push --tags + + - Build the OSX binaries + - Follow instructions in osx-binaries + - Move to download dir: + + mv ./tmp/osx-mitmproxy-VERSION.tar.gz ~/mitmproxy/www.mitmproxy.org/src/download + + - Move all source distributions from `./dist` to the server: + + mv ./dist/* ~/mitmproxy/www.mitmproxy.org/src/download + + - Upload distributions in `./dist` to PyPI: + + ./build upload + + You can test with [testpypi.python.org](https://testpypi.python.org/pypi) by passing `--repository test`. + ([more info](https://tom-christie.github.io/articles/pypi/)) + + - Now bump the version number to be ready for the next cycle + + `./build set-version 0.13` |