diff options
Diffstat (limited to 'release')
-rw-r--r-- | release/README.md | 52 | ||||
-rwxr-xr-x | release/cibuild.py | 7 | ||||
-rw-r--r-- | release/hooks/hook-publicsuffix2.py | 3 |
3 files changed, 34 insertions, 28 deletions
diff --git a/release/README.md b/release/README.md index ab15f39f..1b8614ea 100644 --- a/release/README.md +++ b/release/README.md @@ -1,21 +1,16 @@ # 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. +These steps assume you are on the correct branch and have a git remote called `origin` that points to the `mitmproxy/mitmproxy` repo. If necessary, create a major version branch starting off the release tag (e.g. `git checkout -b v4.x v4.0.0`) first. -- Verify that `mitmproxy/version.py` is correct. - Update CHANGELOG. - Verify that all CI tests pass. -- If needed, 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` +- Verify that `mitmproxy/version.py` is correct. Remove `.dev` suffix if it exists. - Tag the release and push to Github. - `git tag v4.0.0` - - `git push upstream v4.0.0` + - `git push origin v4.0.0` - Wait for tag CI to complete. -## GitHub Release +### GitHub Releases - Create release notice on Github [here](https://github.com/mitmproxy/mitmproxy/releases/new) if not already auto-created by the tag. @@ -23,33 +18,38 @@ release for! The command examples assume that you have a git remote called following snippet to the notice: `You can find the latest release packages at https://mitmproxy.org/downloads/.` -## PyPi +### PyPi - The created wheel is uploaded to PyPi automatically. -- Please check https://pypi.python.org/pypi/mitmproxy about the latest version. +- Please verify that https://pypi.python.org/pypi/mitmproxy has the latest version. -## Homebrew +### 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: `export VERSION=4.0.3 && docker pull mitmproxy/mitmproxy:$VERSION && docker tag mitmproxy/mitmproxy:$VERSION mitmproxy/mitmproxy:latest && docker push mitmproxy/mitmproxy:latest`. +### Docker +- The docker image is built by our CI workers and pushed to Docker Hub automatically. +- Please verify that https://hub.docker.com/r/mitmproxy/mitmproxy/tags/ has the latest version. +- The latest and latest-ARMv7 tags should auto-update. @mhils introduced this after the 5.0.0 release. + Please verify that this is the case and remove this notice. For reference, this is how to do it manually: + `export VERSION=4.0.3 && docker pull mitmproxy/mitmproxy:$VERSION && docker tag mitmproxy/mitmproxy:$VERSION mitmproxy/mitmproxy:latest && docker push mitmproxy/mitmproxy:latest`. -## Website +### Docs + - `./build-current`. If everything looks alright, continue with + - `./upload-stable`, + - `./build-archive`, and + - `./upload-archive v4`. Doing this now already saves you from switching back to an old state on the next release. + +### Website - Update version here: https://github.com/mitmproxy/www/blob/master/src/config.toml + - Update docs menu here: + https://github.com/mitmproxy/www/blob/master/src/themes/mitmproxy/layouts/partials/header.html - Run `./build && ./upload-test`. - - If everything looks alright at http://www-test.mitmproxy.org, run `./upload-prod`. + - If everything looks alright at https://www-test.mitmproxy.org, run `./upload-prod`. -## 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 - - Last but not least, bump the version on master in - [https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/version.py](mitmproxy/version.py) for major releases. +### Prepare for next release + - Last but not least, bump the major version on master in + [https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/version.py](mitmproxy/version.py) and add a `.dev` suffix. diff --git a/release/cibuild.py b/release/cibuild.py index 46066099..b2bad9a0 100755 --- a/release/cibuild.py +++ b/release/cibuild.py @@ -569,8 +569,11 @@ def upload(): # pragma: no cover "-u", be.docker_username, "-p", be.docker_password, ]) - subprocess.check_call(["docker", "push", be.docker_tag]) - subprocess.check_call(["docker", "push", be.docker_tag + "-ARMv7"]) + for variant in ["", "-ARMv7"]: + subprocess.check_call(["docker", "push", be.docker_tag + variant]) + if be.is_prod_release: + subprocess.check_call(["docker", "tag", be.docker_tag + variant, "mitmproxy/mitmproxy:latest" + variant]) + subprocess.check_call(["docker", "push", "mitmproxy/mitmproxy:latest" + variant]) if __name__ == "__main__": # pragma: no cover diff --git a/release/hooks/hook-publicsuffix2.py b/release/hooks/hook-publicsuffix2.py new file mode 100644 index 00000000..f16c9911 --- /dev/null +++ b/release/hooks/hook-publicsuffix2.py @@ -0,0 +1,3 @@ +from PyInstaller.utils.hooks import collect_data_files + +datas = collect_data_files('publicsuffix2') |