Release ProcessΒΆ
Increment version number in
cloudbridge/__init__.py
as per `semver rules <https://semver.org/>_.Freeze all library dependencies in
setup.py
. The version numbers can be a range with the upper limit being the latest known working version, and the lowest being the last known working version.Run all
tox
tests.Add release notes to
CHANGELOG.rst
. Also add last commit hash to changelog. List of commits can be obtained usinggit shortlog <last release hash>..HEAD
Release to PyPi. (make sure you have run pip install wheel) First, test release with PyPI staging server as described in: https://hynek.me/articles/sharing-your-labor-of-love-pypi-quick-and-dirty/
Once tested, run:
# remove stale files or wheel might package them
rm -r build dist
python setup.py sdist upload
python setup.py bdist_wheel upload
- Tag release and make a GitHub release.
git tag -a v1.0.0 -m "Release 1.0.0"
git push --tags
- Increment version number in
cloudbridge/__init__.py
toversion-dev
to indicate the development cycle, commit, and push the changes.