blob: ded7c50e560ff4237835bf5aa45e4c892cb29d00 [file] [log] [blame]
garciadeblas56e0be72024-07-09 14:30:15 +02001#######################################################################################
2# Copyright ETSI Contributors and Others.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13# implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#######################################################################################
17
18[tox]
19envlist = black, flake8, pylint, safety
20
21[tox:jenkins]
22toxworkdir = /tmp/.tox
23
24[testenv]
25usedevelop = True
26basepython = python3.10
27setenv = VIRTUAL_ENV={envdir}
28 PYTHONDONTWRITEBYTECODE = 1
29deps = -r{toxinidir}/requirements.txt
30parallel_show_output = true
31
32#######################################################################################
33[testenv:black]
34deps = black==24.4.2
35skip_install = true
36commands =
37 black --check --diff osm_ee/ --exclude="frontend_pb2.py"
38 black --check --diff setup.py
39
40
41#######################################################################################
42[testenv:flake8]
43deps = flake8==7.1.0
44commands =
45 flake8 osm_ee/ setup.py
46
47
48#######################################################################################
49[testenv:pylint]
50deps = {[testenv]deps}
51 pylint==3.1.1
52commands =
53 pylint -E osm_ee
54
55
56#######################################################################################
57[testenv:safety]
58deps = {[testenv]deps}
59 safety
60commands =
61 - safety check --full-report
62
63
64#######################################################################################
65[testenv:pip-compile]
66deps = pip-tools==6.13.0
67skip_install = true
68allowlist_externals = bash
69 [
70commands =
71 - bash -c "for file in requirements*.in ; do \
72 UNSAFE="" ; \
73 if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \
74 pip-compile --resolver=backtracking -rU --no-header $UNSAFE $file ;\
75 out=`echo $file | sed 's/.in/.txt/'` ; \
76 sed -i -e '1 e head -16 tox.ini' $out ;\
77 done"
78
79
80#######################################################################################
81[flake8]
82ignore =
83# W291,
84# W293,
85# W503,
86# E123,
87# E125,
88# E226,
89# E241,
90# E203
91exclude =
92 .git,
93 __pycache__,
94 .tox,
95 osm_ee/frontend_pb2.py,
96max-line-length = 120
97show-source = True
98builtins = _