|
| 1 | +# Prerequisites |
| 2 | +The following packages are needed for the release process: |
| 3 | + |
| 4 | +- build |
| 5 | +- setuptools |
| 6 | +- twine |
| 7 | +- wheel |
| 8 | + |
| 9 | +# Steps |
| 10 | + |
| 11 | +## Validate tests pass |
| 12 | +To release a new version of waapi-client-python, make sure the test suite passes for all versions covered by `tox.ini`. |
| 13 | + |
| 14 | +## Bump version |
| 15 | +The version is a field in `setup.py`: only bump the major on a breaking change. |
| 16 | + |
| 17 | +## Update the CHANGELOG |
| 18 | +Make sure to update the CHANGELOG file with the latest changes for that release. |
| 19 | +Explain any changes and/or limitation, and the impact it has on users of the library. |
| 20 | + |
| 21 | +## Test install from the pypitest server |
| 22 | +To test the package installs correctly, first package it with the following command: |
| 23 | + |
| 24 | +``` |
| 25 | +# Run from clone root, first install the `build` package if you don't have it |
| 26 | +python3 -m build --wheel --sdist . |
| 27 | +``` |
| 28 | + |
| 29 | +Then, upload to the `pypitest` to make sure the install process works: |
| 30 | + |
| 31 | +``` |
| 32 | +# Run from clone root, first install the `twine` package if you don't have it |
| 33 | +python3 -m twine upload -r testpypi dist/* |
| 34 | +``` |
| 35 | + |
| 36 | +If successful, you can validate the package installs correctly by doing: |
| 37 | +``` |
| 38 | +python3 -m pip install -i https://test.pypi.org/simple/ waapi-client |
| 39 | +``` |
| 40 | + |
| 41 | +## Upload on the real server |
| 42 | +You can now upload to the real server: |
| 43 | + |
| 44 | +``` |
| 45 | +python3 -m twine upload dist/* |
| 46 | +``` |
| 47 | + |
| 48 | +Again, confirm the version installs correctly. |
| 49 | + |
| 50 | +## Release on Github |
| 51 | +Finally, release the code on Github with a version tag. |
| 52 | +Tag the HEAD commit of master you uploaded with |
| 53 | + |
| 54 | +``` |
| 55 | +# Version has a `v` prefix, e.g., v0.7 |
| 56 | +git tag vVERSION |
| 57 | +``` |
| 58 | + |
| 59 | +Then push the master branch with tags: |
| 60 | +``` |
| 61 | +# Assuming you have a remote called `github` |
| 62 | +git push github --tags |
| 63 | +``` |
| 64 | + |
| 65 | +On Github, create a new release and copy the latest CHANGELOG entry text into the release body. |
| 66 | +Releases appear at https://github.com/audiokinetic/waapi-client-python/releases |
0 commit comments