release_process.rst 979 B

123456789101112131415161718192021222324252627282930313233
  1. Release Process
  2. ~~~~~~~~~~~~~~~
  3. 1. Increment version number in ``cloudbridge/__init__.py`` as per
  4. `semver rules <https://semver.org/>_.
  5. 2. Freeze all library dependencies in ``setup.py``. The version numbers can be
  6. a range with the upper limit being the latest known working version, and the
  7. lowest being the last known working version.
  8. 3. Run all ``tox`` tests.
  9. 4. Add release notes to ``CHANGELOG.rst``. Also add last commit hash to
  10. changelog. List of commits can be obtained using
  11. ``git shortlog <last release hash>..HEAD``
  12. 5. Release to PyPi
  13. (make sure you have run `pip install wheel`)
  14. .. code-block:: bash
  15. python setup.py sdist upload
  16. python setup.py bdist_wheel upload
  17. 6. Tag release and make a GitHub release.
  18. .. code-block:: bash
  19. git tag -a v1.0.0 -m "Release 1.0.0"
  20. git push --tags
  21. 7. Increment version number in ``cloudbridge/__init__.py`` to ``version-dev``
  22. to indicate the development cycle, commit, and push the changes.