-
Notifications
You must be signed in to change notification settings - Fork 10
/
tox.ini
112 lines (102 loc) · 2.26 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
108
109
110
111
112
[tox]
envlist = lint,py3{6,7},docs
skip-missing-interpreters = true
[testenv]
deps =
mock>=2.0.0
pytest>=4.0
coverage
extras =
redis
commands =
coverage run --parallel-mode -m pytest {posargs}
coverage combine
coverage report -m
[testenv:venv]
recreate = true
basepython = python3
extras =
redis
commands = {posargs:python}
[testenv:commitlint]
basepython = python3
deps =
gitlint >= 0.8.1
commands =
gitlint lint
[testenv:lint]
passenv = BLACK_ARGS
basepython = python3
skip_install = true
ignore_errors = true
deps =
-rlint-requirements.txt
commands =
black {env:BLACK_ARGS:} --safe src/rush test/
flake8 src/rush test
pylint src/rush test
mypy src/rush
bandit -r src/rush
python setup.py check -r -s
python setup.py -q bdist_wheel --dist-dir=./lint-dist
twine check lint-dist/*
python scripts/cleanup-lint-dist.py
# Documentation
[testenv:docs]
basepython = python3
deps =
doc8
-rdoc/source/requirements.txt
extras =
redis
commands =
doc8 doc/source/
sphinx-build -E -W -c doc/source/ -b html doc/source/ doc/build/html
[testenv:sphinx-control]
basepython = python3
skip_install = true
deps =
-rdoc/source/requirements.txt
commands =
{posargs}
# Release tooling
[testenv:build]
basepython = python3
skip_install = true
deps =
wheel
setuptools
commands =
python setup.py -q sdist bdist_wheel
[testenv:release]
basepython = python3
skip_install = true
deps =
{[testenv:build]deps}
twine >= 1.5.0
commands =
{[testenv:build]commands}
twine upload --skip-existing dist/*
# Flake8 Configuration
[flake8]
# Ignore some flake8-docstrings errors
# NOTE(sigmavirus24): While we're still using flake8 2.x, this ignore line
# defaults to selecting all other errors so we do not need select=E,F,W,I,D
# Once Flake8 3.0 is released and in a good state, we can use both and it will
# work well \o/
ignore = D203, W503, E203
exclude =
.tox,
.git,
__pycache__,
docs/source/conf.py,
build,
dist,
*.pyc,
*.egg-info,
.cache,
.eggs
max-complexity = 10
import-order-style = google
application-import-names = rush
format = ${cyan}%(path)s${reset}:${yellow_bold}%(row)d${reset}:${green_bold}%(col)d${reset}: ${red_bold}%(code)s${reset} %(text)s