####################################################################################### # Copyright ETSI Contributors and Others. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or # implied. # See the License for the specific language governing permissions and # limitations under the License. ####################################################################################### [tox] envlist = black, flake8, pylint, pylint-webhook [tox:jenkins] toxworkdir = /tmp/.tox setenv = XDG_CACHE_HOME=/tmp/.cache [testenv] usedevelop = True basepython = python3.10 setenv = VIRTUAL_ENV={envdir} PYTHONDONTWRITEBYTECODE = 1 deps = -r{toxinidir}/requirements.txt parallel_show_output = true ####################################################################################### [testenv:black] deps = black skip_install = true commands = black --check --diff src setup.py black --check --diff osm_webhook_translator ####################################################################################### [testenv:cover] deps = {[testenv]deps} -r{toxinidir}/requirements-dev.txt -r{toxinidir}/requirements-test.txt allowlist_externals = sh commands = sh -c 'rm -f nosetests.xml' coverage erase nose2 -C --coverage src -s src sh -c 'mv .coverage .coverage_ngsa' nose2 -C --coverage osm_webhook_translator -s osm_webhook_translator sh -c 'mv .coverage .coverage_webhook_translator' coverage report --omit='*tests*' coverage html -d ./cover --omit='*tests*' coverage xml -o coverage.xml --omit='*tests*' ####################################################################################### [testenv:flake8] deps = flake8==5.0.4 flake8-import-order commands = flake8 src setup.py flake8 osm_webhook_translator ####################################################################################### [testenv:pylint] deps = {[testenv]deps} -r{toxinidir}/requirements-dev.txt -r{toxinidir}/requirements-test.txt pylint skip_install = true commands = pylint -E src setup.py --disable=E0401 --disable=E1111 [testenv:pylint-webhook] changedir = {toxinidir}/osm_webhook_translator deps = -r{toxinidir}/osm_webhook_translator/requirements.txt pylint skip_install = true commands = pylint -E src setup.py ####################################################################################### [testenv:safety] setenv = LC_ALL=C.UTF-8 LANG=C.UTF-8 deps = {[testenv]deps} safety commands = - safety check --full-report ####################################################################################### [testenv:pip-compile] deps = pip-tools==6.13.0 skip_install = true allowlist_externals = bash [ commands = bash -c "for file in requirements*.in ; do \ UNSAFE="" ; \ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \ pip-compile -rU --resolver=backtracking --no-header $UNSAFE $file ;\ out=`echo $file | sed 's/.in/.txt/'` ; \ sed -i -e '1 e head -16 tox.ini' $out ;\ done" bash -c "for file in osm_webhook_translator/requirements*.in ; do \ UNSAFE="" ; \ if [[ $file =~ 'dist' ]] ; then UNSAFE='--allow-unsafe' ; fi ; \ pip-compile --resolver=backtracking -rU --no-header $UNSAFE $file ;\ out=`echo $file | sed 's/.in/.txt/'` ; \ sed -i -e '1 e head -16 tox.ini' $out ;\ done" ####################################################################################### [testenv:dist_ng_sa] deps = {[testenv]deps} -r{toxinidir}/requirements-dist.txt allowlist_externals = sh commands = sh -c 'cp requirements.txt src/osm_ngsa/requirements.txt' sh -c 'cp README.rst src/osm_ngsa/README.rst' python3 setup.py --command-packages=stdeb.command sdist_dsc sh -c 'cd deb_dist/osm-ngsa*/ && dpkg-buildpackage -rfakeroot -uc -us' sh -c 'rm src/osm_ngsa/requirements.txt' sh -c 'rm src/osm_ngsa/README.rst' ####################################################################################### [testenv:dist_webhook_translator] deps = -r{toxinidir}/osm_webhook_translator/requirements.txt -r{toxinidir}/osm_webhook_translator/requirements-dist.txt allowlist_externals = sh commands = sh -c 'cp src/osm_ngsa/_version.py osm_webhook_translator/src/osm_webhook_translator/_version.py' sh -c 'cd osm_webhook_translator && cp requirements.txt src/osm_webhook_translator/requirements.txt' sh -c 'cd osm_webhook_translator && cp README.rst src/osm_webhook_translator/README.rst' sh -c 'cd osm_webhook_translator && python3 setup.py --command-packages=stdeb.command sdist_dsc' sh -c 'cd osm_webhook_translator/deb_dist/osm-webhook-translator*/ && dpkg-buildpackage -rfakeroot -uc -us' sh -c 'rm osm_webhook_translator/src/osm_webhook_translator/requirements.txt' sh -c 'rm osm_webhook_translator/src/osm_webhook_translator/README.rst' ####################################################################################### [flake8] ignore = W291, W293, W503, W605, E123, E125, E203, E226, E241, E501, exclude = .git, __pycache__, .tox, max-line-length = 120 show-source = True builtins = _ import-order-style = google