87 lines
2.1 KiB
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
|