ceph/monitoring/ceph-mixin/tox.ini

79 lines
1.9 KiB
INI

[tox]
envlist =
lint,
jsonnet-{check,lint,fix},
jsonnet-bundler-{install,update},
promql-query-{test,lint},
alerts-{fix,check,lint,test}
skipsdist = true
[testenv:jsonnet-bundler-{install,update}]
allowlist_externals =
jb
description =
install: Install the jsonnet dependencies
update: Update the jsonnet dependencies
commands =
install: jb install
update: jb update
[testenv:jsonnet-{check,fix,lint}]
basepython = python3
allowlist_externals =
find
jb
jsonnet
jsonnetfmt
sh
./lint-jsonnet.sh
description =
check: Ensure that auto-generated files matches the current version
fix: Update generated files from jsonnet file with latest changes
lint: Test if jsonnet files are linted (without any update)
deps =
-rrequirements-grafonnet.txt
depends = jsonnet-bundler-install
commands =
check: sh test-jsonnet.sh
lint: ./lint-jsonnet.sh --test
fix: jsonnet -J vendor -m dashboards_out dashboards.jsonnet
[testenv:lint]
description =
Run python linters
deps =
-rrequirements-lint.txt
setenv =
commands =
pylint --rcfile=.pylintrc tests_dashboards
mypy tests_dashboards
isort tests_dashboards
[testenv:promql-query-test]
description =
lint: Run promtool check on grafana queries
test: Run promtool unit testing on grafana queries.
deps =
-rrequirements-lint.txt
depends = grafonnet-check
setenv =
allowlist_externals =
promtool
commands =
behave tests_dashboards/features
[testenv:alerts-{fix,check,lint,test}]
deps =
-rrequirements-alerts.txt
pytest
depends = grafonnet-check
allowlist_externals =
promtool
jsonnet
commands =
fix: jsonnet -J vendor -S alerts.jsonnet -o prometheus_alerts.yml
lint: promtool check rules prometheus_alerts.yml
test: pytest -rA tests_alerts/test_syntax.py tests_alerts/test_unittests.py
python3 ./tests_alerts/validate_rules.py