Files
sunbeam-charms/tox.ini
Hemanth Nakkina 7fadc291d3 Add lock file for charms
* Add uv lock file for charm python packages
* Use uv lock file in charmcraft to build the charm
by generating requirements.txt based on uv lock file
* Add rustc dependency for barbican and magnum charms

Change-Id: I5447c70989a6afe534004438c45bed39a022c524
2025-05-05 15:49:14 +05:30

127 lines
2.5 KiB
INI

# Global tox file
# This file is used to invoke tox in individual charms
[tox]
skipsdist = True
envlist = pep8,py3
sitepackages = False
skip_missing_interpreters = False
minversion = 3.18.0
[testenv]
passenv =
HOME
allowlist_externals =
{toxinidir}/run_tox.sh
{toxinidir}/generate_token.sh
{toxinidir}/repository.py
[testenv:fetch]
basepython = python3
deps = pyyaml
commands =
python3 {toxinidir}/repository.py -v fetch-lib {posargs}
[testenv:fmt]
description = Apply coding style standards to code
deps =
black
isort
pyyaml
commands =
{toxinidir}/run_tox.sh fmt
[testenv:pep8]
description = Alias for lint
deps =
black
flake8
flake8-docstrings
flake8-copyright
flake8-builtins
pyproject-flake8
pep8-naming
isort
codespell
pyyaml
commands =
{toxinidir}/run_tox.sh pep8
[testenv:py3]
deps =
-r{toxinidir}/test-requirements.txt
pyyaml
commands =
{toxinidir}/run_tox.sh py3 {posargs}
[testenv:py310]
deps = {[testenv:py3]deps}
commands =
{toxinidir}/run_tox.sh py310 {posargs}
[testenv:py312]
deps = {[testenv:py3]deps}
commands =
{toxinidir}/run_tox.sh py312 {posargs}
[testenv:cover]
deps = {[testenv:py3]deps}
commands =
{toxinidir}/run_tox.sh cover {posargs}
[testenv:linters]
deps =
{[testenv:py3]deps}
mypy
commands =
{toxinidir}/run_tox.sh linters
[testenv:build]
basepython = python3
deps = pyyaml
commands =
{toxinidir}/run_tox.sh build {posargs}
[testenv:lock]
basepython = python3
deps = pyyaml
commands =
{toxinidir}/run_tox.sh uv {posargs}
[testenv:func-noop]
basepython = python3
deps =
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
git+https://opendev.org/openstack/tempest.git#egg=tempest
# Pin httpx version due to bug https://github.com/gtsystem/lightkube/issues/78
httpx>=0.24.0,<0.28.0
lightkube
commands =
functest-run-suite --help
[testenv:func]
basepython = python3
deps = {[testenv:func-noop]deps}
passenv =
HOME
PYTHONPATH
setenv =
# Set TEST_JUJU3 To unpin juju<3 in zaza
TEST_JUJU3 = 1
TEST_MODEL_SETTINGS = automatically-retry-hooks=true
TEST_MAX_RESOLVE_COUNT = 5
PYTHONPATH = {toxinidir}/tests/local:{env:PYTHONPATH}
commands =
python3 render_bundles.py
# Example: functest-run-suite --keep-model --smoke --test-directory=tests/set1
functest-run-suite --keep-model {posargs}
[testenv:generate-token]
basepython = python3
deps =
zuul-client
commands =
{toxinidir}/generate_token.sh