From c9250b39d903c499036ae6db1f7fc2338b4e86ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 26 Jul 2026 02:32:13 +0000 Subject: [PATCH 1/2] Bump pytest from 8.4.2 to 9.0.3 Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.2 to 9.0.3. - [Release notes](https://github.com/pytest-dev/pytest/releases) - [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pytest-dev/pytest/compare/8.4.2...9.0.3) --- updated-dependencies: - dependency-name: pytest dependency-version: 9.0.3 dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- poetry.lock | 14 +++++++------- pyproject.toml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/poetry.lock b/poetry.lock index 9522bba..b5e5d82 100644 --- a/poetry.lock +++ b/poetry.lock @@ -670,20 +670,20 @@ packaging = ">=25" [[package]] name = "pytest" -version = "8.4.2" +version = "9.0.3" description = "pytest: simple powerful testing with Python" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" groups = ["dev", "test"] files = [ - {file = "pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79"}, - {file = "pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01"}, + {file = "pytest-9.0.3-py3-none-any.whl", hash = "sha256:2c5efc453d45394fdd706ade797c0a81091eccd1d6e4bccfcd476e2b8e0ab5d9"}, + {file = "pytest-9.0.3.tar.gz", hash = "sha256:b86ada508af81d19edeb213c681b1d48246c1a91d304c6c81a427674c17eb91c"}, ] [package.dependencies] colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""} -iniconfig = ">=1" -packaging = ">=20" +iniconfig = ">=1.0.1" +packaging = ">=22" pluggy = ">=1.5,<2" pygments = ">=2.7.2" @@ -942,4 +942,4 @@ python-discovery = ">=1.4.2" [metadata] lock-version = "2.1" python-versions = ">=3.11" -content-hash = "2e050f8e51d0705537ec70ba6cde0ce6fd3c8466162382627ecad47a09ac1099" +content-hash = "754e0ab78f51927e42f018e762f12220ba47c2817a3f8166c49f5544345412b2" diff --git a/pyproject.toml b/pyproject.toml index ae04403..14a2b4c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ dependencies = [] packages = [{include = "pam", from = "python-pam"}] [tool.poetry.group.dev.dependencies] -pytest = "^8.0.0" +pytest = "^9.0.3" pytest-cov = "^5.0.0" pylint = "^3.0.0" tox = "^4.0.0" @@ -23,7 +23,7 @@ bandit = "*" mypy = "*" [tool.poetry.group.test.dependencies] -pytest = "^8.0.0" +pytest = "^9.0.3" pytest-cov = "^5.0.0" pytest-env = "^1.1.0" tox = "*" From 600513040aa4c750a82db5abfaaf435189c26fc1 Mon Sep 17 00:00:00 2001 From: David Ford Date: Sat, 25 Jul 2026 23:39:39 -0400 Subject: [PATCH 2/2] **fix** restore CI tox install and drop Poetry from tox runs requirements-ci.txt was committed empty so pip installed nothing; regenerate hashes, run tox via python -m, and execute tests without a Poetry binary. Co-authored-by: Cursor --- .github/requirements-ci.txt | 70 ++++++++++++++++++++ .github/workflows/main.yml | 11 ++- .github/workflows/update-ci-requirements.yml | 7 +- tox.ini | 22 ++---- 4 files changed, 89 insertions(+), 21 deletions(-) diff --git a/.github/requirements-ci.txt b/.github/requirements-ci.txt index e69de29..468deba 100644 --- a/.github/requirements-ci.txt +++ b/.github/requirements-ci.txt @@ -0,0 +1,70 @@ +# +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: +# +# pip-compile --allow-unsafe --generate-hashes --output-file=.github/requirements-ci.txt .github/requirements-ci.in +# +cachetools==7.1.6 \ + --hash=sha256:2c12e255780330af28b91bb7fb96cce4c766f04e38396b9a24510190a5827096 \ + --hash=sha256:c7a79e7f30ba9943c1cefd08cc36f006aaae086e017af9166f1d59d6170c47e1 + # via tox +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via tox +distlib==0.4.3 \ + --hash=sha256:4b0ce306c966eb73bc3a7b6abad017c556dadd92c44701562cd528ac7fde4d5b \ + --hash=sha256:f152097224a0ae24be5a0f6bae1b9359af82133bce63f98a95f86cae1aede9ed + # via virtualenv +filelock==3.32.0 \ + --hash=sha256:7be2ad23a14607ccc71808e68fe30848aeace7058ace17852f68e2a68e310402 \ + --hash=sha256:d396bea984af47333ef05e50eae7eff88c84256de6112aea0ec48a233c064fe3 + # via + # python-discovery + # tox + # virtualenv +packaging==26.2 \ + --hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \ + --hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661 + # via + # pyproject-api + # tox +platformdirs==4.11.0 \ + --hash=sha256:0555d18370482847566ffabcaa53ad7c6c1c29f195989ae1ed634a05f76ea1e0 \ + --hash=sha256:360ccded2b7fce0af0ff80cc8f5942a1c5d99b0e856033acb030bfc634709e74 + # via + # python-discovery + # tox + # virtualenv +pluggy==1.6.0 \ + --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ + --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 + # via tox +pyproject-api==1.11.0 \ + --hash=sha256:860060c8832dce983b5eec6f41c4c43eb3ec06ff7332387a63acdf5ca27b68d8 \ + --hash=sha256:b8807d85a293e6c9f133e6575946fed45f1d42b22d58c780b33aa2421a799549 + # via tox +python-discovery==1.5.0 \ + --hash=sha256:3e014c6327154d3dda27939a9a0dc9c5c000439f1906d3f303b48f984bd2ecef \ + --hash=sha256:70c4fc61b4e7404e44f01d6fc44a715c4d685ca6cea83d295922f05891877c98 + # via + # tox + # virtualenv +tomli-w==1.2.0 \ + --hash=sha256:188306098d013b691fcadc011abd66727d3c414c571bb01b1a174ba8c983cf90 \ + --hash=sha256:2dd14fac5a47c27be9cd4c976af5a12d87fb1f0b4512f81d69cce3b35ae25021 + # via tox +tox==4.58.0 \ + --hash=sha256:ab0b126a04dd56bc18e6d216386db09335247f2289b54cf534deb5c4ae3a8d2e \ + --hash=sha256:dcae21f5f015f3a67658e35644cce0d1aa0dedcd06f3927f95d84e1717f6cea5 + # via + # -r .github/requirements-ci.in + # tox-gh-actions +tox-gh-actions==3.5.0 \ + --hash=sha256:070790114c92f4c94337047515ca5e077ceb269a5cb9366e0a0b3440a024eca1 \ + --hash=sha256:cc8e148c4513042e5019973e5672594c3df241b035e7fb550f6f778588110051 + # via -r .github/requirements-ci.in +virtualenv==21.7.0 \ + --hash=sha256:7f9519b9432ff11b6e1a3e94061664efc2ff99ea21780e3cf4f6bd0a5da8b37c \ + --hash=sha256:a8370c1c5530fbabf955e40b8fbbc68a431648b10f9433faa587db30a06e51dd + # via tox diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bf99762..c0062d2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,15 +11,20 @@ jobs: contents: read strategy: matrix: - python-version: ["3.12", "3.13", "3.14"] + python-version: ["3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@fbc6f3992d24b796d5a048ff273f7fcc4a7b6c09 # v5.1.0 + - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # v6.3.0 with: python-version: ${{ matrix.python-version }} + - name: Install dependencies - run: python -m pip install --require-hashes -r .github/requirements-ci.txt + run: | + python -m pip install --require-hashes -r .github/requirements-ci.txt + python -m tox --version + - name: Tox test - run: tox -vv + run: python -m tox -vv diff --git a/.github/workflows/update-ci-requirements.yml b/.github/workflows/update-ci-requirements.yml index 2c87008..1be2c0d 100644 --- a/.github/workflows/update-ci-requirements.yml +++ b/.github/workflows/update-ci-requirements.yml @@ -27,7 +27,7 @@ jobs: python-version: "3.12" - name: Install pip-tools - run: python -m pip install 'pip-tools==7.5.1' + run: python -m pip install 'pip==25.0.1' 'pip-tools==7.6.0' - name: Sync tox pin from poetry.lock and compile hashes run: | @@ -55,6 +55,11 @@ jobs: --output-file=.github/requirements-ci.txt \ .github/requirements-ci.in + if [[ ! -s .github/requirements-ci.txt ]]; then + echo "requirements-ci.txt is empty after compile" >&2 + exit 1 + fi + - name: Commit updates uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0 with: diff --git a/tox.ini b/tox.ini index 1196ef0..f5fcaa9 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,10 @@ [tox] -envlist = py{312,313,314} +envlist = py{311,312,313,314} isolated_build = true [gh-actions] python = + 3.11: py311 3.12: py312 3.13: py313 3.14: py314 @@ -14,22 +15,9 @@ deps = pytest-cov pylint mypy -allowlist_externals = - poetry -# changedir = {toxinidir} -commands_pre = - poetry env use {envpython} - poetry install --with test commands = - #pytest tests/ -v --cov=pam --cov-report=term-missing --cov-report=html --cov-fail-under=85 - #pylint python-pam/pam --fail-under=8.0 - #mypy -p python-pam - poetry run pytest {posargs} - poetry run mypy -p python-pam - poetry run pylint python-pam/pam --fail-under=8.0 -extrax = - test + pytest {posargs} + mypy -p python-pam + pylint python-pam/pam --fail-under=8.0 passenv = PYTEST_* -setenv = - VIRTUAL_ENV = {envdir}