2016-10-26 06:48:03 +00:00
|
|
|
# Release Checklist
|
|
|
|
|
2018-05-17 09:25:32 +00:00
|
|
|
Make sure to run all these steps on the correct branch you want to create a new
|
2018-05-16 23:15:15 +00:00
|
|
|
release for! The command examples assume that you have a git remote called
|
|
|
|
`upstream` that points to the `mitmproxy/mitmproxy` repo.
|
|
|
|
|
2018-05-17 08:47:21 +00:00
|
|
|
- Verify that `mitmproxy/version.py` is correct
|
2017-02-21 17:37:56 +00:00
|
|
|
- Update CHANGELOG
|
2017-03-15 21:36:58 +00:00
|
|
|
- Verify that all CI tests pass
|
2018-05-16 23:15:15 +00:00
|
|
|
- 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`
|
2017-03-15 21:36:58 +00:00
|
|
|
- Tag the release and push to Github
|
2018-05-16 23:15:15 +00:00
|
|
|
- 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`
|
2016-10-26 06:48:03 +00:00
|
|
|
- Wait for tag CI to complete
|
2017-03-15 21:36:58 +00:00
|
|
|
|
|
|
|
## GitHub Release
|
2018-05-17 09:25:32 +00:00
|
|
|
- Create release notice on Github
|
|
|
|
[here](https://github.com/mitmproxy/mitmproxy/releases/new) 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:
|
2018-05-17 08:47:21 +00:00
|
|
|
`You can find the latest release packages on our snapshot server: https://snapshots.mitmproxy.org/v<version number here>`
|
2017-03-15 21:36:58 +00:00
|
|
|
|
|
|
|
## PyPi
|
2018-05-17 09:25:32 +00:00
|
|
|
- The created wheel is uploaded to PyPi automatically
|
|
|
|
- Please check https://pypi.python.org/pypi/mitmproxy about the latest version
|
2018-02-25 16:49:54 +00:00
|
|
|
|
|
|
|
## Homebrew
|
2018-05-17 09:25:32 +00:00
|
|
|
- The Homebrew maintainers are typically very fast and detect our new relese
|
|
|
|
within a day.
|
2018-05-17 08:47:21 +00:00
|
|
|
- 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>`
|
2017-03-15 21:36:58 +00:00
|
|
|
|
|
|
|
## Docker
|
2018-05-18 08:37:56 +00:00
|
|
|
- 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
|
2018-06-16 09:19:11 +00:00
|
|
|
- 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`
|
2018-05-18 08:37:56 +00:00
|
|
|
|
2018-04-05 16:26:55 +00:00
|
|
|
## Website
|
2018-05-17 09:25:32 +00:00
|
|
|
- Update version here:
|
|
|
|
https://github.com/mitmproxy/www/blob/master/src/config.toml
|
|
|
|
- Run `./build && ./upload-test`
|
|
|
|
- If everything looks alright, run `./upload-prod`
|
2018-04-05 16:26:55 +00:00
|
|
|
|
2018-05-16 23:15:15 +00:00
|
|
|
## Docs
|
|
|
|
- Make sure you've uploaded the previous version's docs to archive
|
|
|
|
- If everything looks alright:
|
|
|
|
- `./build-current`
|
|
|
|
- `./upload-stable`
|
|
|
|
|
2018-02-22 13:21:46 +00:00
|
|
|
## Prepare for next release
|
2018-05-17 09:25:32 +00:00
|
|
|
- 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.
|