Skip to content

Commit

Permalink
Update RELEASE.md to follow best current packaging practices
Browse files Browse the repository at this point in the history
  • Loading branch information
CAM-Gerlach committed Nov 2, 2021
1 parent d6dfac8 commit 1f37195
Showing 1 changed file with 50 additions and 16 deletions.
66 changes: 50 additions & 16 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,65 @@
To release a new version of qtpy on PyPI:
# Release Procedure

* Close Github milestone
To release a new version of QtPy on PyPI:

* git fetch upstream && git merge upstream/master

* git clean -xfdi
## Prepare

* Update CHANGELOG.md using `loghub` to generate the list of issues and PRs merged to add at the top of the file
* Close Github milestone and ensure all issues are resolved/moved

loghub -m vX.X.X spyder-ide/qtpy
* `git switch <release-branch>` then `hub sync` or `git fetch upstream && git merge upstream/<release-branch>`

* Update `__version__` in `__init__.py` (set release version, remove 'dev0')
* Check `MANIFEST.in` and `setup.cfg` to ensure they are up to date

* git add . && git commit -m 'Release X.X.X'
* `git clean -xfdi`

* python -m build

* twine check dist/*
## Commit

* twine upload dist/*
* Update `CHANGELOG.md` using `loghub` to generate the list of issues and PRs merged to add at the top of the file:

* git tag -a vX.X.X -m 'Release X.X.X'
```bash
loghub -m vX.Y.Z spyder-ide/qtpy
```

* Update `__version__` in `__init__.py` (add 'dev0' and increment minor)
* Update `__version__` in `__init__.py` (set release version, remove `.dev0`)

* git add . && git commit -m 'Back to work'
* `git commit -am 'Release X.Y.Z'`

* git push

* git push --tags
## Build

* `conda install build twine` or `pip install build twine` (if not installed)

* `conda update build pip setuptools twine wheel` or `pip install --upgrade-strategy eager --upgrade build pip setuptools twine wheel`

* `python -bb -X dev -W error -m build`


## Test

* `python -bb -X dev -W error -m pip install dist/*.whl`

* `pytest qtpy/tests`

* `python -bb -X dev -W error -m pip install -e .`


## Upload

* `twine check --strict dist/*`

* `twine upload dist/*`

* `git tag -a vX.Y.Z -m 'Release X.Y.Z'`


## Cleanup

* Update `__version__` in `__init__.py` (add `.dev0` and increment minor)

* `git commit -am 'Back to work'`

* `git push upstream --follow-tags`

* Create a GitHub release from the tag

0 comments on commit 1f37195

Please sign in to comment.