summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClark Boylan <clark.boylan@gmail.com>2023-01-06 09:34:59 -0800
committerClark Boylan <clark.boylan@gmail.com>2023-01-06 09:34:59 -0800
commit571e14581d3502b37932b8e7f8c51766cdd001e6 (patch)
tree7152df2a10c80db34c74382be9bd635658e311f0
parent61c6a4bcb305cd14cd913fc88ade4b1c0d21eb8c (diff)
downloadpbr-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.yaml10
-rw-r--r--pbr/tests/test_integration.py23
2 files changed, 28 insertions, 5 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
index 87fccb4..3d0908f 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -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',