1[tox]
2envlist = python
3minversion = 3.2
4# https://github.com/jaraco/skeleton/issues/6
5tox_pip_extensions_ext_venv_update = true
6toxworkdir={env:TOX_WORK_DIR:.tox}
7
8[testenv]
9deps =
10	# Ideally all the dependencies should be set as "extras"
11commands =
12	pytest {posargs}
13usedevelop = True
14extras = testing
15passenv =
16	SETUPTOOLS_USE_DISTUTILS
17	PRE_BUILT_SETUPTOOLS_WHEEL
18	PRE_BUILT_SETUPTOOLS_SDIST
19	TIMEOUT_BACKEND_TEST  # timeout (in seconds) for test_build_meta
20	windir  # required for test_pkg_resources
21	# honor git config in pytest-perf
22	HOME
23	# workaround for tox-dev/tox#2382
24	PROGRAMDATA
25	PROGRAMFILES
26	PROGRAMFILES(x86)
27
28[testenv:integration]
29deps = {[testenv]deps}
30extras = testing-integration
31passenv =
32	{[testenv]passenv}
33	DOWNLOAD_PATH
34	# workaround for tox-dev/tox#2382
35	PROGRAMDATA
36	PROGRAMFILES
37	PROGRAMFILES(x86)
38setenv =
39    PROJECT_ROOT = {toxinidir}
40commands =
41	pytest --integration {posargs:-vv --durations=10 setuptools/tests/integration}
42	# use verbose mode by default to facilitate debugging from CI logs
43
44[testenv:docs]
45extras =
46	docs
47	testing
48changedir = docs
49commands =
50	python -m sphinx -W --keep-going . {toxinidir}/build/html
51
52[testenv:finalize]
53skip_install = True
54deps =
55	towncrier
56	bump2version
57passenv = *
58commands =
59	python tools/finalize.py
60
61[testenv:vendor]
62skip_install = True
63deps =
64	path
65commands =
66	python -m tools.vendored
67
68[testenv:release]
69skip_install = True
70deps =
71	build
72	twine>=3
73	jaraco.develop>=7.1
74passenv =
75	TWINE_PASSWORD
76	GITHUB_TOKEN
77setenv =
78	TWINE_USERNAME = {env:TWINE_USERNAME:__token__}
79commands =
80	python -c "import shutil; shutil.rmtree('dist', ignore_errors=True)"
81	# unset tag_build and tag_date pypa/setuptools#2500
82	python setup.py egg_info -Db "" saveopts
83	python -m build
84	python -m twine upload dist/*
85	python -m jaraco.develop.create-github-release
86