diff options
| author | euri10 <euri10@users.noreply.github.com> | 2021-07-12 17:11:24 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-12 10:11:24 -0500 |
| commit | 5b61732f2403c378bb60b451d95ce2835f6b5485 (patch) | |
| tree | ee98dd42645cbcbf97c813600a7ec09763a20803 | |
| parent | 64401ba6940ab80ecb93c6012cf3a6d7204e1f2a (diff) | |
| download | urllib3-5b61732f2403c378bb60b451d95ce2835f6b5485.tar.gz | |
Create a PR template for releases including a post-release checklist
| -rw-r--r-- | .github/PULL_REQUEST_TEMPLATE/release.md | 38 | ||||
| -rw-r--r-- | docs/contributing.rst | 24 |
2 files changed, 45 insertions, 17 deletions
diff --git a/.github/PULL_REQUEST_TEMPLATE/release.md b/.github/PULL_REQUEST_TEMPLATE/release.md new file mode 100644 index 00000000..64fdc674 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE/release.md @@ -0,0 +1,38 @@ +* [ ] See if all tests, including integration, pass +* [ ] Get the release pull request approved by a [CODEOWNER](https://github.com/urllib3/urllib3/blob/main/.github/CODEOWNERS) +* [ ] Squash merge the release pull request with message "`Release <VERSION>`" +* [ ] Tag with X.Y.Z, push tag on urllib3/urllib3 (not on your fork, update `<REMOTE>` accordingly) + + * Notice that the `<VERSION>` shouldn't have a `v` prefix (Use `1.26.6` instead of `v.1.26.6`) + * ``` + git tag -a '<VERSION>' -m 'Release: <VERSION>' + git push <REMOTE> --tags + ``` +* [ ] Push to PyPI + + * ``` + cd /tmp + git clone ssh://git@github.com/urllib3/urllib3 + cd urllib3 + git checkout <TAG/VERSION> + python -m venv + source venv/bin/activate + python -m pip install -U pip + python -m pip install -U twine setuptools wheel + python setup.py sdist bdist_wheel + + twine check dist/* + # Inspect the output to make sure it looks right + # Check versions, should be 1 wheel 1 sdist + + twine upload dist/* + ``` +* [ ] Grab sdist and wheel from PyPI to attach to GitHub release +* [ ] Announce on: + + * [ ] GitHub releases + * [ ] Twitter + * [ ] Discord + * [ ] OpenCollective + * [ ] GitCoin Grants +* [ ] Update Tidelift metadata diff --git a/docs/contributing.rst b/docs/contributing.rst index 492d0432..baa3c131 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -130,22 +130,12 @@ While writing documentation you should follow these guidelines: Releases -------- -A release candidate can be created by any contributor by creating a branch -named ``release-x.x`` where ``x.x`` is the version of the proposed release. +A release candidate can be created by any contributor. +- Announce intent to release on Discord, see if anyone wants to include last minute + changes. - Update ``CHANGES.rst`` and ``urllib3/__init__.py`` with the proper version number - and commit the changes to ``release-x.x``. -- Open a pull request to merge the ``release-x.x`` branch into the ``master`` branch. -- Integration tests are run against the release candidate on Travis. From here on all - the steps below will be handled by a maintainer so unless you receive review comments - you are done here. -- Once the pull request is squash merged into master the merging maintainer - will tag the merge commit with the version number: - - - ``git tag -a 1.24.1 [commit sha]`` - - ``git push origin master --tags`` - -- After the commit is tagged Travis will build the tagged commit and upload the sdist and wheel - to PyPI and create a draft release on GitHub for the tag. The merging maintainer will - ensure that the PyPI sdist and wheel are properly uploaded. -- The merging maintainer will mark the draft release on GitHub as an approved release. + and commit the changes to a ``release-X.Y.Z`` branch. +- Create a pull request and append ``&expand=1&template=release.md`` to the URL before + submitting in order to include our release checklist in the pull request description. +- Follow the checklist! |
