fddba460b9
The gate has been broken for some time. The project still used the
2021-era openstack-python3-wallaby-jobs template (py36/py38) and pinned
hacking 3.1.0, whose flake8 crashes under a modern importlib.metadata
("'EntryPoints' object has no attribute 'get'"). The unit test jobs also
did not install the runtime dependencies.
Modernize the test setup so the branchless master is tested against the
runtimes of the currently supported releases (2025.1, 2025.2, 2026.1):
* .zuul.yaml: drop the wallaby template and list the unit test jobs
explicitly -- pep8 plus py310/py312/py313, which spans the tested
runtimes of 2025.2 and 2026.1 (py310 min .. py313 max) and the upper
end of 2025.1. py39 (the 2025.1 minimum) is omitted because the
dependencies pinned in the master upper-constraints (e.g. castellan)
already require Python >= 3.10.
* tox.ini: bump minversion for modern tox, install with the
upper-constraints file (as the rest of OpenStack does), install
requirements.txt so the runtime deps are present, fix the
copy/pasted "cinder" coverage source, and rename whitelist_externals
to allowlist_externals.
* test-requirements.txt: bump hacking to 6.1.0 so pep8 runs again and
drop the now-unused mock and python-subunit entries.
* tests: import mock from unittest rather than the third-party module
(required by the newer hacking, H216).
* setup.cfg: advertise Python 3.9-3.13, set python_requires, and drop
the obsolete universal-wheel section and the deprecated
description-file key.
Unit tests (48) and pep8 pass locally under Python 3.13 with the master
upper-constraints applied.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Change-Id: I58892e6e60a59232af3a3ad0148564d8d9bce957
31 lines
1.4 KiB
YAML
31 lines
1.4 KiB
YAML
- project:
|
|
templates:
|
|
- check-requirements
|
|
# cursive is a branchless library, so a single master branch has to cover
|
|
# every still-supported release at once. We list the unit test jobs
|
|
# explicitly (rather than using a per-cycle openstack-python3-*-jobs
|
|
# template, whose master variant would test the development cycle's
|
|
# interpreters -- currently py314 -- instead of the supported releases).
|
|
# py311..py313 are the interpreters that are both shared by the tested
|
|
# runtimes of 2025.1, 2025.2 and 2026.1 and installable against the master
|
|
# upper-constraints. The older minima (py39 for 2025.1, py310 for 2025.2
|
|
# and 2026.1) cannot be installed here because dependencies pinned in the
|
|
# master upper-constraints already require newer Python (castellan needs
|
|
# >= 3.10, cmd2 -- via stestr/cliff -- needs >= 3.11); those interpreters
|
|
# are exercised against each release's own constraints at deploy time.
|
|
# https://governance.openstack.org/tc/reference/runtimes/
|
|
check:
|
|
jobs:
|
|
- openstack-tox-pep8
|
|
- openstack-tox-py311
|
|
- openstack-tox-py312
|
|
- openstack-tox-py313
|
|
- barbican-tempest-plugin-simple-crypto-cursive
|
|
gate:
|
|
jobs:
|
|
- openstack-tox-pep8
|
|
- openstack-tox-py311
|
|
- openstack-tox-py312
|
|
- openstack-tox-py313
|
|
- barbican-tempest-plugin-simple-crypto-cursive
|