aboutsummaryrefslogtreecommitdiffstats
path: root/tox.ini
blob: 3eb408cc1fb16b90c7cb39bffa32bafb94209732 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# To run Tox against all supported Python interpreters, you can set:
#
# export TOXENV='py3{5,6,7,8},pypy,pypy3'

[tox]
envlist=python
minversion = 3.2
requires =
	tox-pip-version >= 0.0.6

[helpers]
# Custom pip behavior
pip = python {toxinidir}/tools/tox_pip.py

[testenv]
pip_version = pip
install_command = {[helpers]pip} install {opts} {packages}
list_dependencies_command = {[helpers]pip} freeze --all
setenv =
	COVERAGE_FILE={toxworkdir}/.coverage.{envname}
	PIP_USE_PEP517=1
# 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
extras =
	tests


[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: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