diff options
author | Clark Boylan <clark.boylan@gmail.com> | 2023-01-06 09:34:59 -0800 |
---|---|---|
committer | Clark Boylan <clark.boylan@gmail.com> | 2023-01-06 09:34:59 -0800 |
commit | 571e14581d3502b37932b8e7f8c51766cdd001e6 (patch) | |
tree | 7152df2a10c80db34c74382be9bd635658e311f0 | |
parent | 61c6a4bcb305cd14cd913fc88ade4b1c0d21eb8c (diff) | |
download | pbr-571e14581d3502b37932b8e7f8c51766cdd001e6.tar.gz |
Run PBR integration on Ubuntu Focal too
Python 3.10 on Jammy is not compatible with old pip and setuptools due
to collections.abc moves. It is still desireable to test modern PBR
functions against these old library versions because old distro installs
will often use latest PBR. Update our testing to also run PBR
integration testing on Focal selecting appropriate pip and setuptools
versions based on the running python version.
This should help ensure PBR continues to run on old platforms even as we
modernize pip.
Change-Id: Ib53f637d5826bb51a348e3e629fbdbabec2a95e0
-rw-r--r-- | .zuul.yaml | 10 | ||||
-rw-r--r-- | pbr/tests/test_integration.py | 23 |
2 files changed, 28 insertions, 5 deletions
@@ -104,6 +104,14 @@ vars: pbr_pip_version: 'git+https://github.com/pypa/pip.git#egg=pip' +- job: + name: pbr-installation-openstack-focal + parent: pbr-installation-openstack + nodeset: ubuntu-focal + description: | + Run pbr integration testing on older Ubuntu which allows us + to test compatibility with older versions of pip and setuptools. + - project: templates: - lib-forward-testing @@ -120,6 +128,7 @@ - openstack-tox-py38 - openstack-tox-py39 - pbr-installation-openstack + - pbr-installation-openstack-focal - pbr-installation-openstack-pip-dev - tempest-full: override-checkout: stable/train @@ -133,6 +142,7 @@ - openstack-tox-py38 - openstack-tox-py39 - pbr-installation-openstack + - pbr-installation-openstack-focal - pbr-installation-openstack-pip-dev - tempest-full: override-checkout: stable/train diff --git a/pbr/tests/test_integration.py b/pbr/tests/test_integration.py index 8b5e76a..2f5c0ab 100644 --- a/pbr/tests/test_integration.py +++ b/pbr/tests/test_integration.py @@ -264,16 +264,29 @@ class TestMarkersPip(base.BaseTestCase): allow_fail=False)[0]) -class TestLTSSupport(base.BaseTestCase): - - # These versions come from the versions installed from the 'virtualenv' - # command from the 'python-virtualenv' package. - scenarios = [ +# Handle collections.abc moves in python breaking old pip +# These versions come from the versions installed from the 'virtualenv' +# command from the 'python-virtualenv' package. +if sys.version_info[0:3] < (3, 10, 0): + lts_scenarios = [ + ('Bionic', {'modules': ['pip==9.0.1', 'setuptools==39.0.1']}), + ('Stretch', {'modules': ['pip==9.0.1', 'setuptools==33.1.1']}), + ('EL8', {'modules': ['pip==9.0.3', 'setuptools==39.2.0']}), + ('Buster', {'modules': ['pip==18.1', 'setuptools==40.8.0']}), + ('Focal', {'modules': ['pip==20.0.2', 'setuptools==45.2.0']}), + ] +else: + lts_scenarios = [ ('Bullseye', {'modules': ['pip==20.3.4', 'setuptools==52.0.0']}), ('Focal', {'modules': ['pip==20.0.2', 'setuptools==45.2.0']}), ('Jammy', {'modules': ['pip==22.0.2', 'setuptools==59.6.0']}), ] + +class TestLTSSupport(base.BaseTestCase): + + scenarios = lts_scenarios + @testtools.skipUnless( os.environ.get('PBR_INTEGRATION', None) == '1', 'integration tests not enabled', |