-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtox.ini
108 lines (98 loc) · 2.82 KB
/
tox.ini
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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# Copyright 2019, Oath Inc.
# Licensed under the terms of the BSD 3 Clause license. See LICENSE file in project root for terms.
[config]
package_dir = src/pypirun
package_name = pypirun
[tox]
envlist = py39,py310,py311,py312
isolated_build = True
skip_missing_interpreters = true
[testenv]
changedir = {toxinidir}
commands =
pytest --junitxml=pytest_{envname}.xml -o junit_suite_name={envname} --cov={[config]package_name} --cov-report=xml:coverage.xml --cov-report term-missing tests/
deps =
coverage
six
pytest
pytest-cov
install_command = {envpython} {envbindir}/pip install {opts} {packages}
list_dependencies_command = {envpython} {envbindir}/pip freeze
passenv = SSH_AUTH_SOCK,BUILD_NUMBER
extras =
test
[testenv:coverage]
commands =
coverage combine -a
coverage report -m --skip-covered
deps =
coverage
six
pytest
pytest-cov
skip_install = true
[testenv:lint_codestyle]
deps =
six
pycodestyle
commands = {envpython} {envbindir}/pycodestyle {[config]package_dir}
changedir = {toxinidir}
install_command = {envpython} {envbindir}/pip install {opts} {packages}
list_dependencies_command = {envpython} {envbindir}/pip freeze
passenv = SSH_AUTH_SOCK,BUILD_NUMBER
extras =
pep8
[testenv:lint_pylint]
deps =
isort<=4.2.15
six
pylint
commands = {envpython} {envbindir}/pylint --output-format=parseable {[config]package_dir}
changedir = {toxinidir}
install_command = {envpython} {envbindir}/pip install {opts} {packages}
list_dependencies_command = {envpython} {envbindir}/pip freeze
passenv = SSH_AUTH_SOCK,BUILD_NUMBER
extras =
pylint
[testenv:lint_mypy]
deps =
mypy
lxml
commands =
{envpython} {envbindir}/mypy -p {[config]package_name} --ignore-missing-imports --txt-report artifacts/mypy
changedir = {toxinidir}
install_command = {envpython} {envbindir}/pip install {opts} {packages}
list_dependencies_command = {envpython} {envbindir}/pip freeze
passenv = SSH_AUTH_SOCK,BUILD_NUMBER
extras =
mypy
[testenv:doc_build]
deps =
sphinx!=1.8.0
sphinx_rtd_theme
guzzle_sphinx_theme
recommonmark
sphinx_markdown_tables
commands = {envpython} {envbindir}/sphinx-build -b html doc/source build/sphinx/html
changedir = {toxinidir}
install_command = {envpython} {envbindir}/pip install {opts} {packages}
list_dependencies_command = {envpython} {envbindir}/pip freeze
passenv = SSH_AUTH_SOCK,BUILD_NUMBER
extras =
doc_build
basepython = python3.11
[testenv:add_api_docs]
deps =
sphinx
commands =
{envpython} {envbindir}/sphinx-apidoc -T -e -M -o doc/source/ src "artifacts/*" "dist/*" "screwdriver/*" "scripts/*" setup.py "tests/*"
changedir = {toxinidir}
extras =
doc_build
passenv = SSH_AUTH_SOCK,BUILD_NUMBER
install_command = {envpython} {envbindir}/pip install {opts} {packages}
list_dependencies_command = {envpython} {envbindir}/pip freeze
basepython = python3.11
[pycodestyle]
ignore = E1,E2,E3,E4,E5,W293
max_line_length = 160