]> git.proxmox.com Git - ceph.git/blob - ceph/monitoring/ceph-mixin/tox.ini
821a5cd5640b732ee8339ee50a4a998ac80b9333
[ceph.git] / ceph / monitoring / ceph-mixin / tox.ini
1 [tox]
2 envlist = lint,jsonnet-{check,lint,fix},promql-query-{test,lint},alerts-check
3 skipsdist = true
4
5 [testenv:jsonnet-bundler-{install,update}]
6 whitelist_externals =
7 jb
8 description =
9 install: Install the jsonnet dependencies
10 update: Update the jsonnet dependencies
11 commands =
12 install: jb install
13 update: jb update
14
15 [testenv:jsonnet-{check,fix,lint}]
16 basepython = python3
17 whitelist_externals =
18 find
19 jb
20 jsonnet
21 jsonnetfm
22 sh
23 description =
24 check: Ensure that auto-generated files matches the current version
25 fix: Update generated files from jsonnet file with latest changes
26 lint: Test if jsonnet files are linted (without any update)
27 deps =
28 -rrequirements-grafonnet.txt
29 depends = jsonnet-bundler-install
30 commands =
31 check: sh test-jsonnet.sh
32 lint: ./lint-jsonnet.sh --test
33 fix: jsonnet -J vendor -m dashboards_out dashboards.jsonnet
34
35 [testenv:lint]
36 description =
37 Run python linters
38 deps =
39 -rrequirements-lint.txt
40 setenv =
41 commands =
42 pylint --rcfile=.pylintrc tests_dashboards
43 mypy tests_dashboards
44 isort tests_dashboards
45
46 [testenv:promql-query-test]
47 description =
48 lint: Run promtool check on grafana queries
49 test: Run promtool unit testing on grafana queries.
50 deps =
51 -rrequirements-lint.txt
52 depends = grafonnet-check
53 setenv =
54 whitelist_externals =
55 promtool
56 commands =
57 behave tests_dashboards/features
58
59 [testenv:alerts-{fix,check,lint}]
60 deps =
61 -rrequirements-alerts.txt
62 pytest
63 depends = grafonnet-check
64 whitelist_externals =
65 promtool
66 commands =
67 fix: jsonnet -J vendor -S alerts.jsonnet -o prometheus_alerts.yml
68 lint: promtool check rules prometheus_alerts.yml
69 test: pytest -rA tests_alerts/test_syntax.py tests_alerts/test_unittests.py
70 python3 ./tests_alerts/validate_rules.py