diff --git a/.github/workflows/_checks.yml b/.github/workflows/_checks.yml index 305e74f..b4ba3d4 100644 --- a/.github/workflows/_checks.yml +++ b/.github/workflows/_checks.yml @@ -62,10 +62,9 @@ jobs: floors: # The declared floors are part of what we ship, and nothing else in CI installs - # them: `pytest` and `scheduled` both resolve highest. This leg resolves the lower - # bound instead, on every supported interpreter: a floor's wheel coverage is - # per-interpreter, so two interpreters resolving the same versions can still - # disagree on whether those versions install. + # them: `pytest` and `scheduled` both resolve highest. This leg installs them + # exactly on the floor Python, and the lowest versions with a wheel on every other + # entry (CI10). # 3.14t is out: no aiokafka release ships a cp314t wheel, so under --no-build this leg # would measure upstream's gap rather than this repo's floor. `pytest` reaches 3.14t # only by building the sdist with AIOKAFKA_NO_EXTENSIONS=1, which --no-build forbids. @@ -99,7 +98,10 @@ jobs: - run: uv python pin ${{ matrix.python-version }} - run: uv venv # Pinned with builds allowed, so a floor with no wheel fails the wheel-only install below. - - run: uv pip compile pyproject.toml --all-extras --no-deps --resolution lowest-direct -o floors.txt + - if: matrix.python-version == '3.11' + run: uv pip compile pyproject.toml --all-extras --no-deps --resolution lowest-direct -o floors.txt + - if: matrix.python-version != '3.11' + run: uv pip compile pyproject.toml --all-extras --resolution lowest-direct --no-build -o floors.txt - run: uv pip install -r pyproject.toml --all-extras --group dev --constraints floors.txt --no-build # --no-cov: the coverage gate rides the resolved-highest leg in `test-ci`. This # one asks whether the floors work, which a coverage failure would only obscure.