From 1b794f9b56bfcef9232e3287e0284428efb34a21 Mon Sep 17 00:00:00 2001 From: Gordon Chan Date: Tue, 17 Mar 2026 13:24:31 +1300 Subject: [PATCH] [TE-5274] Add pytest 9.x CI matrix entry for subtest integration tests Add a sixth matrix entry (Python 3.13 + pytest 9) so the 5 integration tests in test_integration_subtests.py are actually exercised in CI. Those tests require pytest >= 9.0 for built-in SubtestReport support, but uv.lock pins pytest to 8.4.1 (pytest 9 dropped Python 3.9). Uses uv run --with 'pytest>=9' rather than uv pip install because uv run syncs the environment to uv.lock before execution, which would silently revert a pip-installed override. The --with flag creates an ephemeral overlay that persists through the run, including subprocesses spawned via sys.executable. --- .github/workflows/python.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 71fab15..02cfbf8 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -14,6 +14,10 @@ jobs: strategy: matrix: python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] + uv-run-flags: [""] + include: + - python-version: "3.13" + uv-run-flags: "--with 'pytest>=9'" env: BUILDKITE_ANALYTICS_TOKEN: ${{ secrets.BUILDKITE_ANALYTICS_TOKEN }} @@ -29,7 +33,7 @@ jobs: - name: Install dependencies run: uv sync --all-extras - name: Run tests - run: uv run pytest + run: uv run ${{ matrix.uv-run-flags }} pytest pylint: runs-on: ubuntu-latest