forked from blaz-r/anomalib
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
102 lines (90 loc) · 2.34 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
[tox]
isolated_build = True
skip_missing_interpreters = true
envlist =
pre-commit
pre-merge-py{38,39,310}
nightly
snyk-scan
[testenv]
passenv = ftp_proxy
HTTP_PROXY
HTTPS_PROXY
CUDA_VISIBLE_DEVICES
[testenv:pre-commit]
basepython = py310
deps =
pre-commit
commands = pre-commit run --all-files
[testenv:pre-merge-py{38,39,310}]
passenv = {[testenv]deps}
ANOMALIB_DATASET_PATH
deps =
coverage[toml]
pytest
pytest-cov
pytest-mock
pytest-order
flaky
nbmake
commands =
; 0. Install Anomalib first.
pip install .[full]
; 1. Run Coverage.
pytest tests/integration tests/unit \
--cov=anomalib \
--cov-report=xml:{toxworkdir}/coverage.xml \
--cov-fail-under=75 \
{posargs}
; 2. Test Jupyter Notebooks.
pytest --nbmake notebooks \
--ignore=notebooks/400_openvino \
--ignore=notebooks/500_use_cases/501_dobot
[testenv:nightly]
basepython = py310
passenv = {[testenv]deps}
ANOMALIB_DATASET_PATH
deps =
coverage
pytest
flaky
commands =
; 0. Install Anomalib first.
pip install .[full]
; 1. Run Coverage for the nightly tests.
coverage erase
coverage run --include=anomalib/* -m pytest tests/legacy/nightly/
coverage report -m --fail-under=33
coverage xml -o {toxworkdir}/coverage.xml
[testenv:trivy-scan]
basepython = py310
passenv = TRIVY_DOWNLOAD_URL
allowlist_externals =
bash
curl
tar
rm
*trivy*
cat
install_command = pip install --no-cache-dir {opts} {packages}
commands =
; 0. Install Anomalib first.
pip install .[full]
; 1. Run Trivy Scan.
bash -c "pip freeze > requirements.txt"
curl -L0 {env:TRIVY_DOWNLOAD_URL} -o {toxworkdir}/trivy.tar.gz
tar -xzf {toxworkdir}/trivy.tar.gz -C {toxworkdir}
{toxworkdir}/trivy fs -c .ci/trivy.yaml -o {toxworkdir}/trivy-scan-results.txt ./requirements.txt
{toxworkdir}/trivy fs -c .ci/trivy.yaml --format spdx-json -o {toxworkdir}/trivy-spdx-anomalib.json ./requirements.txt
cat {toxworkdir}/trivy-scan-results.txt
rm {toxworkdir}/trivy.tar.gz
rm {toxworkdir}/trivy
rm requirements.txt
[testenv:bandit-scan]
skip_install = true
deps =
bandit
allowlist_externals =
bandit
commands =
bandit -r -c {toxinidir}/.ci/ipas_default.config {toxinidir}/ -f txt -o {toxworkdir}/bandit-report.txt