Skip to content

Latest commit

 

History

History
101 lines (69 loc) · 2.01 KB

RELEASE.md

File metadata and controls

101 lines (69 loc) · 2.01 KB

Release instructions

Before creating a new release please do a careful consideration about the version number for the new release. We are following Semantic Versioning and PEP440.

  • Install development dependencies

    pipenv install --dev
  • Fetch upstream changes and create release branch

    git fetch upstream
    git checkout -b create-new-release upstream/master
  • Open autohooks/version.py and increment the version number.

  • Create a source distribution only. Do NOT create a wheel by running bdist_wheel.

    rm -rf dist build autohooks.egg-info
    python3 setup.py sdist
  • Create a git commit

    git add .
    git commit -m "Prepare release <version>"
  • Create an account at Test PyPI

  • Upload the archives in dist to Test PyPI

    twine upload --repository-url https://test.pypi.org/legacy/ dist/*
  • Check if the package is available at https://test.pypi.org/project/autohooks

  • Create a test directory

    mkdir autohooks-install-test
    cd autohooks-install-test
    pipenv run pip install --pre -I --extra-index-url https://test.pypi.org/simple/ autohooks
  • Remove test environment

    pipenv --rm
    cd ..
    rm -rf autohooks-install-test
  • Create an account at PyPI if not exist already

  • Upload to real PyPI

    twine upload dist/*
  • Check if new version is available at https://pypi.org/project/autohooks

  • Create a git tag

    git tag v<version>

    or even signed with your gpg key

    git tag -s v<version>
  • Update version in autohooks/version.py

    Use a alpha version like (1, 1, 1, 'alpha') or (1, 1, 1, 'alpha', 0)

  • Create a commit

    git commit -m "Update version after <version> release"
  • Push changes and tag to GitHub

    git push --tags upstream master