-
Notifications
You must be signed in to change notification settings - Fork 41
/
tox.ini
133 lines (119 loc) · 4.1 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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
[tox]
minversion = 1.6
envlist =
docs,
docs-linkcheck,
gitlint,
checkbashisms,
pre-commit,
skipsdist=true
[doc8]
ignore-path-errors=docs/helm-search.txt;D001
[testenv:doc8]
basepython = python3.8
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
commands =
- doc8 docs/
[testenv:docs]
basepython = python3.8
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
allowlist_externals = sudo
commands =
sudo apt install graphviz
sphinx-build -q -W -b html -n -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/html
[testenv:docs-linkcheck]
basepython = python3.8
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
allowlist_externals = sudo
commands =
sudo apt install graphviz
sphinx-build -q -W -b linkcheck -d {envtmpdir}/doctrees ./docs/ {toxinidir}/docs/_build/linkcheck
[testenv:spelling]
basepython = python3.8
allowlist_externals =
wget
sudo
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
changedir={toxinidir}/docs
commands =
sudo apt install graphviz
wget -nv https://git.onap.org/doc/plain/docs/spelling_wordlist.txt -O spelling_wordlist.txt
sphinx-build -b spelling -d {envtmpdir}/doctrees . _build/spelling
[testenv:gitlint]
basepython = python3.8
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
commands =
gitlint
[testenv:checkbashisms]
deps =
allowlist_externals =
{toxinidir}/.ci/check-bashisms.sh
commands =
{toxinidir}/.ci/check-bashisms.sh
[testenv:shellcheck]
basepython = python3
deps = shellcheck-py
allowlist_externals = find
commands =
find . -not -path '*/\.*' -name *.sh -exec shellcheck \{\} +
[testenv:autopep8]
basepython = python3.8
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
commands =
autopep8 --max-line-length 120 --in-place --recursive kubernetes/ TOSCA/ docs/
[testenv:pylint]
basepython = python3.8
deps =
-r{toxinidir}/requirements.txt
-chttps://releases.openstack.org/constraints/upper/yoga
-chttps://git.onap.org/doc/plain/etc/upper-constraints.onap.txt
allowlist_externals = find
commands =
find kubernetes/ TOSCA/ docs/ -name *.py -exec pylint --max-line-length=120 --disable=missing-docstring --method-rgx="(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$" --variable-rgx="[a-zA-Z_][a-zA-Z0-9_]{1,30}$" --reports=y --score=y --output-format=colorized \{\} +
[testenv:pre-commit-install]
basepython = python3
deps = pre-commit
commands =
pre-commit install
pre-commit install --hook-type commit-msg
[testenv:pre-commit-uninstall]
basepython = python3
deps = pre-commit
commands =
pre-commit uninstall
pre-commit uninstall --hook-type commit-msg
[testenv:pre-commit]
basepython = python3
deps = pre-commit
passenv = HOME
commands =
pre-commit run --all-files --show-diff-on-failure
pre-commit run gitlint --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG
# Gitlint only proposes a pre-commit configuration for the commit-msg stage but none for the commit stage.
# Its default arguments --passed and --msg-filename are different from CI recommandations.
# As a result, the line above is always skipped in jenkins CI since there cannot be a .git/COMMIT_EDITMSG file.
# A dedicated gitlint profile for CI is proposed above. Also to behave fine locally, this profile must have access
# to the HOME variable so that Gitlint can retrieve Git user settings.
[testenv:pre-commit-autoupdate]
basepython = python3
deps = pre-commit
commands =
pre-commit autoupdate