Fix charm for tox4 compatibility
Related-Bug: 2002788 Change-Id: I31af9a4c1ea8beba1e5ad4311a80002c1174beed
This commit is contained in:
parent
81f08ab769
commit
0ef5451292
|
@ -11,14 +11,19 @@ pbr==5.6.0
|
||||||
simplejson>=2.2.0
|
simplejson>=2.2.0
|
||||||
netifaces>=0.10.4
|
netifaces>=0.10.4
|
||||||
|
|
||||||
|
# NOTE: newer versions of cryptography require a Rust compiler to build,
|
||||||
|
# see
|
||||||
|
# * https://github.com/openstack-charmers/zaza/issues/421
|
||||||
|
# * https://mail.python.org/pipermail/cryptography-dev/2021-January/001003.html
|
||||||
|
#
|
||||||
|
cryptography<3.4
|
||||||
|
|
||||||
# Strange import error with newer netaddr:
|
# Strange import error with newer netaddr:
|
||||||
netaddr>0.7.16,<0.8.0
|
netaddr>0.7.16,<0.8.0
|
||||||
|
|
||||||
Jinja2>=2.6 # BSD License (3 clause)
|
Jinja2>=2.6 # BSD License (3 clause)
|
||||||
six>=1.9.0
|
six>=1.9.0
|
||||||
|
|
||||||
# dnspython 2.0.0 dropped py3.5 support
|
dnspython
|
||||||
dnspython<2.0.0; python_version < '3.6'
|
|
||||||
dnspython; python_version >= '3.6'
|
|
||||||
|
|
||||||
psutil>=1.1.1,<2.0.0
|
psutil>=1.1.1,<2.0.0
|
||||||
|
|
|
@ -8,8 +8,6 @@
|
||||||
# all of its own requirements and if it doesn't, fix it there.
|
# all of its own requirements and if it doesn't, fix it there.
|
||||||
#
|
#
|
||||||
pyparsing<3.0.0 # aodhclient is pinned in zaza and needs pyparsing < 3.0.0, but cffi also needs it, so pin here.
|
pyparsing<3.0.0 # aodhclient is pinned in zaza and needs pyparsing < 3.0.0, but cffi also needs it, so pin here.
|
||||||
cffi==1.14.6; python_version < '3.6' # cffi 1.15.0 drops support for py35.
|
|
||||||
setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85
|
|
||||||
|
|
||||||
requests>=2.18.4
|
requests>=2.18.4
|
||||||
|
|
||||||
|
@ -19,25 +17,13 @@ stestr>=2.2.0
|
||||||
# https://github.com/mtreinish/stestr/issues/145
|
# https://github.com/mtreinish/stestr/issues/145
|
||||||
cliff<3.0.0
|
cliff<3.0.0
|
||||||
|
|
||||||
# Dependencies of stestr. Newer versions use keywords that didn't exist in
|
|
||||||
# python 3.5 yet (e.g. "ModuleNotFoundError")
|
|
||||||
importlib-metadata<3.0.0; python_version < '3.6'
|
|
||||||
importlib-resources<3.0.0; python_version < '3.6'
|
|
||||||
|
|
||||||
# Some Zuul nodes sometimes pull newer versions of these dependencies which
|
|
||||||
# dropped support for python 3.5:
|
|
||||||
osprofiler<2.7.0;python_version<'3.6'
|
|
||||||
stevedore<1.31.0;python_version<'3.6'
|
|
||||||
debtcollector<1.22.0;python_version<'3.6'
|
|
||||||
oslo.utils<=3.41.0;python_version<'3.6'
|
|
||||||
|
|
||||||
coverage>=4.5.2
|
coverage>=4.5.2
|
||||||
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking)
|
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking)
|
||||||
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
|
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://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
|
||||||
|
|
||||||
# Needed for charm-glance:
|
# Needed for charm-glance:
|
||||||
git+https://opendev.org/openstack/tempest.git#egg=tempest;python_version>='3.6'
|
git+https://opendev.org/openstack/tempest.git#egg=tempest
|
||||||
tempest<24.0.0;python_version<'3.6'
|
|
||||||
|
|
||||||
croniter # needed for charm-rabbitmq-server unit tests
|
croniter # needed for charm-rabbitmq-server unit tests
|
||||||
|
psutil
|
||||||
|
|
44
tox.ini
44
tox.ini
|
@ -9,23 +9,23 @@
|
||||||
# all of its own requirements and if it doesn't, fix it there.
|
# all of its own requirements and if it doesn't, fix it there.
|
||||||
[tox]
|
[tox]
|
||||||
envlist = pep8,py3
|
envlist = pep8,py3
|
||||||
skipsdist = True
|
|
||||||
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
|
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
|
||||||
sitepackages = False
|
sitepackages = False
|
||||||
# NOTE: Avoid false positives by not skipping missing interpreters.
|
# NOTE: Avoid false positives by not skipping missing interpreters.
|
||||||
skip_missing_interpreters = False
|
skip_missing_interpreters = False
|
||||||
|
|
||||||
# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci
|
|
||||||
minversion = 3.18.0
|
|
||||||
|
|
||||||
[testenv]
|
[testenv]
|
||||||
|
# We use tox mainly for virtual environment management for test requirements
|
||||||
|
# and do not install the charm code as a Python package into that environment.
|
||||||
|
# Ref: https://tox.wiki/en/latest/config.html#skip_install
|
||||||
|
skip_install = True
|
||||||
setenv = VIRTUAL_ENV={envdir}
|
setenv = VIRTUAL_ENV={envdir}
|
||||||
PYTHONHASHSEED=0
|
PYTHONHASHSEED=0
|
||||||
CHARM_DIR={envdir}
|
CHARM_DIR={envdir}
|
||||||
commands = stestr run --slowest {posargs}
|
commands = stestr run --slowest {posargs}
|
||||||
allowlist_externals =
|
allowlist_externals =
|
||||||
charmcraft
|
charmcraft
|
||||||
{toxinidir}/rename.sh
|
rename.sh
|
||||||
passenv =
|
passenv =
|
||||||
HOME
|
HOME
|
||||||
TERM
|
TERM
|
||||||
|
@ -37,45 +37,35 @@ deps = -r{toxinidir}/test-requirements.txt
|
||||||
[testenv:build]
|
[testenv:build]
|
||||||
basepython = python3
|
basepython = python3
|
||||||
deps = -r{toxinidir}/build-requirements.txt
|
deps = -r{toxinidir}/build-requirements.txt
|
||||||
|
# charmcraft clean is done to ensure that
|
||||||
|
# `tox -e build` always performs a clean, repeatable build.
|
||||||
|
# For faster rebuilds during development,
|
||||||
|
# directly run `charmcraft -v pack && ./rename.sh`.
|
||||||
commands =
|
commands =
|
||||||
charmcraft clean
|
charmcraft clean
|
||||||
charmcraft -v build
|
charmcraft -v pack
|
||||||
{toxinidir}/rename.sh
|
{toxinidir}/rename.sh
|
||||||
|
charmcraft clean
|
||||||
[testenv:py36]
|
|
||||||
basepython = python3.6
|
|
||||||
deps = -r{toxinidir}/requirements.txt
|
|
||||||
-r{toxinidir}/test-requirements.txt
|
|
||||||
|
|
||||||
[testenv:py37]
|
|
||||||
basepython = python3.7
|
|
||||||
deps = -r{toxinidir}/requirements.txt
|
|
||||||
-r{toxinidir}/test-requirements.txt
|
|
||||||
|
|
||||||
[testenv:py38]
|
[testenv:py38]
|
||||||
basepython = python3.8
|
basepython = python3.8
|
||||||
deps = -r{toxinidir}/requirements.txt
|
deps = -r{toxinidir}/requirements.txt
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
|
||||||
[testenv:py39]
|
|
||||||
basepython = python3.9
|
|
||||||
deps = -r{toxinidir}/requirements.txt
|
|
||||||
-r{toxinidir}/test-requirements.txt
|
|
||||||
|
|
||||||
[testenv:py3]
|
|
||||||
basepython = python3
|
|
||||||
deps = -r{toxinidir}/requirements.txt
|
|
||||||
-r{toxinidir}/test-requirements.txt
|
|
||||||
|
|
||||||
[testenv:py310]
|
[testenv:py310]
|
||||||
basepython = python3.10
|
basepython = python3.10
|
||||||
deps = -r{toxinidir}/requirements.txt
|
deps = -r{toxinidir}/requirements.txt
|
||||||
-r{toxinidir}/test-requirements.txt
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
|
||||||
|
[testenv:py3]
|
||||||
|
basepython = python3
|
||||||
|
deps = -r{toxinidir}/requirements.txt
|
||||||
|
-r{toxinidir}/test-requirements.txt
|
||||||
|
|
||||||
[testenv:pep8]
|
[testenv:pep8]
|
||||||
basepython = python3
|
basepython = python3
|
||||||
deps = flake8==3.9.2
|
deps = flake8==3.9.2
|
||||||
charm-tools==2.8.4
|
git+https://github.com/juju/charm-tools.git
|
||||||
commands = flake8 {posargs} hooks unit_tests tests actions lib files
|
commands = flake8 {posargs} hooks unit_tests tests actions lib files
|
||||||
charm-proof
|
charm-proof
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue