3346ed23cd
Update the charmcraft.yaml file to use base and platforms, only allowing noble support. Remove test bundles for older bases. Also modernize build process using the reactive plugin, and modernize tox.ini, update build.lock pins and remove cruft. Change-Id: I5a2a5cf200c32823c7d2a83b8f6afbcddb8cacc9 func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/1255
109 lines
2.8 KiB
INI
109 lines
2.8 KiB
INI
# Source charm: ./tox.ini
|
|
# This file is managed centrally by release-tools and should not be modified
|
|
# within individual charm repos. See the 'global' dir contents for available
|
|
# choices of tox.ini for OpenStack Charms:
|
|
# https://github.com/openstack-charmers/release-tools
|
|
|
|
[tox]
|
|
envlist = pep8,py3
|
|
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
|
|
sitepackages = False
|
|
# NOTE: Avoid false positives by not skipping missing interpreters.
|
|
skip_missing_interpreters = False
|
|
|
|
[testenv]
|
|
setenv = VIRTUAL_ENV={envdir}
|
|
PYTHONHASHSEED=0
|
|
TERM=linux
|
|
CHARM_LAYERS_DIR={toxinidir}/layers
|
|
CHARM_INTERFACES_DIR={toxinidir}/interfaces
|
|
JUJU_REPOSITORY={toxinidir}/build
|
|
passenv =
|
|
no_proxy
|
|
http_proxy
|
|
https_proxy
|
|
CHARM_INTERFACES_DIR
|
|
CHARM_LAYERS_DIR
|
|
JUJU_REPOSITORY
|
|
allowlist_externals =
|
|
charmcraft
|
|
bash
|
|
tox
|
|
{toxinidir}/rename.sh
|
|
deps =
|
|
-r{toxinidir}/requirements.txt
|
|
|
|
[testenv:build]
|
|
basepython = python3
|
|
commands =
|
|
charmcraft clean
|
|
charmcraft -v pack
|
|
{toxinidir}/rename.sh
|
|
charmcraft clean
|
|
|
|
[testenv:build-reactive]
|
|
basepython = python3
|
|
commands =
|
|
charm-build --log-level DEBUG --use-lock-file-branches --binary-wheels-from-source -o {toxinidir}/build/builds src {posargs}
|
|
|
|
[testenv:add-build-lock-file]
|
|
basepython = python3
|
|
commands =
|
|
charm-build --log-level DEBUG --write-lock-file -o {toxinidir}/build/builds src {posargs}
|
|
|
|
[testenv:py3]
|
|
basepython = python3
|
|
deps =
|
|
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = stestr run --slowest {posargs}
|
|
|
|
[testenv:py310]
|
|
basepython = python3.10
|
|
deps =
|
|
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
|
|
-r{toxinidir}/test-requirements.txt
|
|
commands = stestr run --slowest {posargs}
|
|
|
|
[testenv:pep8]
|
|
basepython = python3
|
|
deps = flake8==3.9.2
|
|
charm-tools==2.8.4
|
|
commands = flake8 {posargs} src unit_tests
|
|
|
|
[testenv:cover]
|
|
# Technique based heavily upon
|
|
# https://github.com/openstack/nova/blob/master/tox.ini
|
|
basepython = python3
|
|
deps = -r{toxinidir}/requirements.txt
|
|
-r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
{[testenv]setenv}
|
|
PYTHON=coverage run
|
|
commands =
|
|
coverage erase
|
|
stestr run --slowest {posargs}
|
|
coverage combine
|
|
coverage html -d cover
|
|
coverage xml -o cover/coverage.xml
|
|
coverage report
|
|
|
|
[coverage:run]
|
|
branch = True
|
|
concurrency = multiprocessing
|
|
parallel = True
|
|
source =
|
|
.
|
|
omit =
|
|
.tox/*
|
|
*/charmhelpers/*
|
|
unit_tests/*
|
|
|
|
[testenv:venv]
|
|
basepython = python3
|
|
commands = {posargs}
|
|
|
|
[flake8]
|
|
# E402 ignore necessary for path append before sys module import in actions
|
|
ignore = E402,W503,W504
|