Newer
Older
#
# 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.
#
# For those usages not covered by the Apache License, Version 2.0 please
# contact: legal@canonical.com
#
# To get in touch with the maintainers, please contact:
# osm-charmers@lists.launchpad.net
##
#######################################################################################
envlist = black, cover, flake8, pylint, yamllint, safety
skipsdist = true
[tox:jenkins]
toxworkdir = /tmp/.tox
setenv = VIRTUAL_ENV={envdir}
PYTHONDONTWRITEBYTECODE = 1
#######################################################################################
[testenv:black]
deps = black
commands =
black --check --diff src/ tests/
#######################################################################################
[testenv:cover]
deps = {[testenv]deps}
-r{toxinidir}/requirements-test.txt
commands =
sh -c 'rm -f nosetests.xml'
coverage erase
nose2 -C --coverage src
coverage report --omit='*tests*'
coverage html -d ./cover --omit='*tests*'
coverage xml -o coverage.xml --omit=*tests*
whitelist_externals = sh
#######################################################################################
[testenv:flake8]
deps = flake8
flake8-import-order
#######################################################################################
[testenv:pylint]
deps = {[testenv]deps}
-r{toxinidir}/requirements-test.txt
#######################################################################################
[testenv:safety]
setenv =
LC_ALL=C.UTF-8
LANG=C.UTF-8
safety
commands =
- safety check --full-report
#######################################################################################
[testenv:yamllint]
deps = {[testenv]deps}
-r{toxinidir}/requirements-test.txt
yamllint
commands = yamllint .
#######################################################################################
[testenv:build]
passenv=HTTP_PROXY HTTPS_PROXY NO_PROXY
whitelist_externals =
charmcraft
commands =
charmcraft build
sh -c 'ubuntu_version=20.04; \
architectures="amd64-aarch64-arm64"; \
charm_name=`cat metadata.yaml | grep -E "^name: " | cut -f 2 -d " "`; \
mv $charm_name"_ubuntu-"$ubuntu_version-$architectures.charm $charm_name.charm'
#######################################################################################
[flake8]
ignore =
W291,
W293,
E123,
E125,
E226,
E241,
exclude =
.git,
__pycache__,
.tox,
max-line-length = 120
show-source = True
builtins = _
max-complexity = 10
import-order-style = google