Skip to content

Latest commit

 

History

History
113 lines (76 loc) · 2.58 KB

RELEASE.md

File metadata and controls

113 lines (76 loc) · 2.58 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 twine for pypi package uploads and update setuptools, pipenv and wheel packages

    python3 -m pip install --user --upgrade twine setuptools wheel pipenv
  • Fetch upstream changes and create release branch

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

  • Update CHANGELOG.md

  • Create a source and wheel distribution

    rm -rf dist build python_gvm.egg-info
    pipenv install
    pipenv run python setup.py sdist bdist_wheel
  • 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/gvm-tools

  • Create a test directory

    mkdir gvm-tools-install-test
    cd gvm-tools-install-test
    pipenv run pip install --pre -I --extra-index-url https://test.pypi.org/simple/ gvm-tools
  • Check install version with a python script

    pipenv run python -c "from gvmtools import get_version; print(get_version())"
  • Remove test environment

    pipenv --rm
    cd ..
    rm -rf gvm-tools-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/gvm-tools

  • Create a git tag

    git tag v<version>

    or even signed with your gpg key

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

    Use a development version like (1, 0, 0, 'beta', 1, 'dev', 1) or (1, 1, 0, 'dev', 1)

  • Create a commit

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

    git push --tags upstream master
  • Create a Github release

    See https://help.github.com/articles/creating-releases/