py-setuptools/tox.ini

87 lines
2.1 KiB
INI

# To run Tox against all supported Python interpreters, you can set:
#
# export TOXENV='py27,py3{5,6,7,8},pypy,pypy3'
[tox]
envlist=python
minversion = 3.2
requires =
tox-pip-version >= 0.0.6
# workaround for #1998
virtualenv < 20
[helpers]
# Custom pip behavior
pip = python {toxinidir}/tools/tox_pip.py
[testenv]
deps=-r{toxinidir}/tests/requirements.txt
pip_version = pip
install_command = {[helpers]pip} install {opts} {packages}
list_dependencies_command = {[helpers]pip} freeze --all
setenv=COVERAGE_FILE={toxworkdir}/.coverage.{envname}
# TODO: The passed environment variables came from copying other tox.ini files
# These should probably be individually annotated to explain what needs them.
passenv=APPDATA HOMEDRIVE HOMEPATH windir APPVEYOR APPVEYOR_* CI CODECOV_* TRAVIS TRAVIS_* NETWORK_REQUIRED
commands=pytest --cov-config={toxinidir}/tox.ini --cov-report= {posargs}
usedevelop=True
[testenv:coverage]
description=Combine coverage data and create report
deps=coverage
skip_install=True
changedir={toxworkdir}
setenv=COVERAGE_FILE=.coverage
commands=coverage erase
coverage combine
coverage {posargs:xml}
[testenv:codecov]
description=[Only run on CI]: Upload coverage data to codecov
deps=codecov
skip_install=True
commands=codecov -X gcov --file {toxworkdir}/coverage.xml
[testenv:docs]
deps = -r{toxinidir}/docs/requirements.txt
skip_install=True
commands =
python -m bootstrap
sphinx-build -W -b html -d {envtmpdir}/doctrees docs docs/build/html
sphinx-build -W -b man -d {envtmpdir}/doctrees docs docs/build/man
[coverage:run]
source=
pkg_resources
setuptools
omit=
*/_vendor/*
[testenv:finalize]
skip_install = True
deps =
towncrier
bump2version
commands =
python tools/finalize.py
[testenv:release]
skip_install = True
deps =
wheel
twine[keyring]>=1.13
path
jaraco.tidelift
passenv =
TWINE_PASSWORD
TIDELIFT_TOKEN
setenv =
TWINE_USERNAME = {env:TWINE_USERNAME:__token__}
commands =
python -m bootstrap
python -c "import path; path.Path('dist').rmtree_p()"
python setup.py release
python -m twine upload dist/*
python -m jaraco.tidelift.publish-release-notes