From 151034b84e7629265ba99f56e1272281099cb7f9 Mon Sep 17 00:00:00 2001 From: Aurelien Lourot Date: Thu, 10 Dec 2020 22:35:35 +0100 Subject: [PATCH] Sync release-tools Sync release-tools boilerplate containing these changes in order to pin pip < 20.3: https://github.com/openstack-charmers/release-tools/pull/125 https://github.com/openstack-charmers/release-tools/pull/126 https://github.com/openstack-charmers/release-tools/pull/127 https://github.com/openstack-charmers/release-tools/pull/129 Change-Id: I9b801a2ca6c7679117fcd2322cc324c7a8d8077b --- requirements.txt | 6 ++++-- test-requirements.txt | 35 ++++++++++++++++++++++++++++++++++- tox.ini | 12 ++++++++++++ 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8ba1941..360ecba 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,11 +7,13 @@ # requirements. They are intertwined. Also, Zaza itself should specify # all of its own requirements and if it doesn't, fix it there. # -setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85 pbr>=1.8.0,<1.9.0 simplejson>=2.2.0 netifaces>=0.10.4 -netaddr>=0.7.12,!=0.7.16 + +# Strange import error with newer netaddr: +netaddr>0.7.16,<0.8.0 + Jinja2>=2.6 # BSD License (3 clause) six>=1.9.0 diff --git a/test-requirements.txt b/test-requirements.txt index 56fbf92..9aea716 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9,11 +9,44 @@ # setuptools<50.0.0 # https://github.com/pypa/setuptools/commit/04e3df22df840c6bb244e9b27bc56750c44b7c85 charm-tools>=2.4.4 + +# Workaround until https://github.com/juju/charm-tools/pull/589 gets +# published +keyring<21 + requests>=2.18.4 -mock>=1.2 + +# Newer mock seems to have some syntax which is newer than python3.5 (e.g. +# f'{something}' +mock>=1.2,<4.0.0; python_version < '3.6' +mock>=1.2; python_version >= '3.6' + flake8>=2.2.4 stestr>=2.2.0 + +# Dependency of stestr. Workaround for +# https://github.com/mtreinish/stestr/issues/145 +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 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;python_version>='3.0' git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack + +# Needed for charm-glance: +git+https://opendev.org/openstack/tempest.git#egg=tempest;python_version>='3.6' +tempest<24.0.0;python_version<'3.6' + +croniter # needed for charm-rabbitmq-server unit tests diff --git a/tox.ini b/tox.ini index e2d58f5..ab9593f 100644 --- a/tox.ini +++ b/tox.ini @@ -14,6 +14,18 @@ skipsdist = True sitepackages = False # NOTE: Avoid false positives by not skipping missing interpreters. skip_missing_interpreters = False +# NOTES: +# * We avoid the new dependency resolver by pinning pip < 20.3, see +# https://github.com/pypa/pip/issues/9187 +# * Pinning dependencies requires tox >= 3.2.0, see +# https://tox.readthedocs.io/en/latest/config.html#conf-requires +# * It is also necessary to pin virtualenv as a newer virtualenv would still +# lead to fetching the latest pip in the func* tox targets, see +# https://stackoverflow.com/a/38133283 +requires = pip < 20.3 + virtualenv < 20.0 +# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci +minversion = 3.2.0 [testenv] setenv = VIRTUAL_ENV={envdir}