From b69b6bfae4d57d2d7d877b23a38265198ac2d104 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Tue, 13 May 2025 16:44:13 +0200 Subject: [PATCH 1/7] Unpin cryptography --- setup.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/setup.py b/setup.py index 91739dda..aa89b39e 100644 --- a/setup.py +++ b/setup.py @@ -28,12 +28,7 @@ 'aiohttp<4.0.0', # aiohttp/_http_parser.c:16227:5: error: lvalue required as increment operand 'oslo.config<6.12.0', # pin at stable/train to retain Py3.5 support 'async_generator', - - # Newer versions 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', - + 'cryptography', 'hvac<0.7.0', 'jinja2', 'juju-wait', From d0351c4c3d182733ac5f2c756e8cc7ec3f3d66d4 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Wed, 14 May 2025 09:33:54 +0200 Subject: [PATCH 2/7] Unpin hvac The commit 29944df pinned hvac to `<0.7.0`, because it was breaking the tests, this is no longer necessary. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index aa89b39e..76baf46d 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ 'oslo.config<6.12.0', # pin at stable/train to retain Py3.5 support 'async_generator', 'cryptography', - 'hvac<0.7.0', + 'hvac', 'jinja2', 'juju-wait', 'PyYAML', From 2cda22a170663b29115be91f713736c503dd48b1 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Thu, 15 May 2025 12:03:30 +0200 Subject: [PATCH 3/7] Build all packages from source Pass `--no-binary ":all:"` to the tox install_command, so all dependencies get built from sources, this allows to detect possible issues when using zaza in non-x86 environments where there is no published binary wheel in pypi. --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index f6423005..0c62fa97 100644 --- a/tox.ini +++ b/tox.ini @@ -21,6 +21,7 @@ passenv = deps = -c{env:PIP_CONSTRAINTS:{toxinidir}/constraints-juju29.txt} -r{toxinidir}/test-requirements.txt +install_command = python -I -m pip install --no-binary ":all:" {opts} {packages} commands = pytest --cov=./zaza/ {posargs} {toxinidir}/unit_tests [testenv:.pkg] From 58cbaea32cd37b154fa977a85a3fd6efb41b0940 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Thu, 15 May 2025 12:06:44 +0200 Subject: [PATCH 4/7] Drop python 3.11 from the testing matrix --- .github/workflows/tox.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tox.yaml b/.github/workflows/tox.yaml index 2e50218e..8182e6b4 100644 --- a/.github/workflows/tox.yaml +++ b/.github/workflows/tox.yaml @@ -9,7 +9,10 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.10', '3.11', '3.12'] + python-version: + - '3.8' # focal + - '3.10' # jammy + - '3.12' # noble steps: - uses: actions/checkout@v1 - name: Set up Python ${{ matrix.python-version }} From a47225e039389a2fc5acf001c3754ea6bbbc4ce4 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Fri, 16 May 2025 09:31:37 +0200 Subject: [PATCH 5/7] Pin setuptools_scm < 8.2.0 --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 76baf46d..deeed8bb 100644 --- a/setup.py +++ b/setup.py @@ -25,6 +25,7 @@ version = "0.0.1.dev1" install_require = [ + 'setuptools_scm<8.2.0', # https://github.com/canonical/charmcraft/pull/2275 'aiohttp<4.0.0', # aiohttp/_http_parser.c:16227:5: error: lvalue required as increment operand 'oslo.config<6.12.0', # pin at stable/train to retain Py3.5 support 'async_generator', From 45814ecbd9c5dc251727acebb432435c69efb67b Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Fri, 16 May 2025 11:22:42 +0200 Subject: [PATCH 6/7] Pin importlib-metadata<8.0.0 This is the last version compatible with Python 3.8 https://pypi.org/project/importlib-metadata/7.2.1/ --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index deeed8bb..b93f897c 100644 --- a/setup.py +++ b/setup.py @@ -25,6 +25,7 @@ version = "0.0.1.dev1" install_require = [ + 'importlib-metadata<8.0.0', # compatible with py38 'setuptools_scm<8.2.0', # https://github.com/canonical/charmcraft/pull/2275 'aiohttp<4.0.0', # aiohttp/_http_parser.c:16227:5: error: lvalue required as increment operand 'oslo.config<6.12.0', # pin at stable/train to retain Py3.5 support From eb7b3bbbb087f48d9877d627e4e3d9ea4c91c0e3 Mon Sep 17 00:00:00 2001 From: Felipe Reyes Date: Fri, 6 Jun 2025 11:00:34 -0400 Subject: [PATCH 7/7] Pin pydocstyle earlier. Pinning pydocstyle before flake8 allows us to control the version, otherwise flake8 pulls in a newer version. --- test-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test-requirements.txt b/test-requirements.txt index 5557c6f9..cce41cee 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,8 +1,8 @@ aiounittest +pydocstyle<4.0.0 flake8>=5 # Python 3.8 compatibility in pyflakes 2.1.0+ flake8-docstrings flake8-per-file-ignores -pydocstyle<4.0.0 coverage mock>=1.2 pytest