afkak icon indicating copy to clipboard operation
afkak copied to clipboard

Write release procedure

Open twm opened this issue 6 years ago • 1 comments

As a follow-up to #67, write up a release procedure that describes the steps to release Afkak and publish it to GitHub releases and PyPI.

twm avatar Mar 22 '19 19:03 twm

Here's a draft:

Release Procedure

  1. Update version in setup.py and afkak/__init__.py.

  2. Update the changelog with the new version number. Review the release notes, editing and reformatting as necessary.

  3. Make sure tests still pass (tox etc.).

  4. Tag release

    version="$(python setup.py --version)"
    git tag $version
    git push origin $version
    
  5. Generate release artifacts:

    tox -e twine -- python setup.py sdist --formats=gztar
    tox -e twine -- pip wheel -w dist/ --no-deps dist/afkak-${version}.tar.gz
    tox -e twine -- twine check dist/afkak-${version}.tar.gz dist/afkak-${version}-py2.py3-none-any.whl
    
  6. Generate a GitHub release from the tag:

    python -m webbrowser "https://github.com/ciena/afkak/releases/tag/${version}"
    

    Update the tag to contain the release notes from CHANGES.md.

  7. Upload to PyPI:

    tox -e twine -- twine upload dist/afkak-${version}.tar.gz dist/afkak-${version}-py2.py3-none-any.whl
    
  8. Visit https://pypi.org/project/afkak/ and make sure everything looks okay.

twm avatar Aug 22 '19 02:08 twm