From 7c3c0c718a1adc3a82ce794bd12f11878a243554 Mon Sep 17 00:00:00 2001 From: Paolo Valletta Date: Tue, 27 Oct 2026 11:37:59 +0100 Subject: [PATCH] Test the lowest supported httpx and pytest in CI The declared range is `httpx==0.28.*` and `pytest==9.*`, but the matrix only installs the newest of each, so the bottom of the range is never exercised. This adds one matrix entry, on Python 3.11, that pins both to the floor of the declared range before installing: it reuses the job's steps instead of copying them into a second job. `httpx 0.28.0` + `pytest 9.0.0` on Python 3.11.17: 354 passed, coverage 100.00% (the configured floor), so the leg is green on the current tree. --- .github/workflows/test.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bf73ffd..65e3191 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,6 +9,12 @@ jobs: strategy: matrix: python-version: ['3.11', '3.12', '3.13', '3.14', '3.15.0-rc.3'] + # The floor of pyproject.toml's `httpx==0.28.*` / `pytest==9.*`, which no + # other entry installs: bump these pins when those ranges move. + lowest: [''] + include: + - python-version: '3.11' + lowest: '"httpx==0.28.0" "pytest==9.0.0"' steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -19,7 +25,7 @@ jobs: - name: Install dependencies run: | python -m pip install pip==26.2.1 - python -m pip install -e .[testing] + python -m pip install ${{ matrix.lowest }} -e .[testing] python -m pip install pre-commit==4.6.2 - name: Ensure pre-commit was applied run: |