diff --git a/.github/workflows/_checks.yml b/.github/workflows/_checks.yml index e851997..f466187 100644 --- a/.github/workflows/_checks.yml +++ b/.github/workflows/_checks.yml @@ -94,10 +94,10 @@ jobs: cache-dependency-glob: "**/pyproject.toml" - run: uv python install ${{ matrix.python-version }} - run: uv python pin ${{ matrix.python-version }} - # --no-build: a floor with no wheel for this interpreter must fail here rather - # than quietly compile its sdist. Without it the leg passes on a floor that - # still breaks anyone installing into an image with no build toolchain. - - run: uv sync --all-extras --no-install-project --resolution lowest-direct --no-build + - 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 + - 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. - run: uv run --no-sync pytest . --no-cov diff --git a/pyproject.toml b/pyproject.toml index e8daa6a..834b4e8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,8 +41,6 @@ Changelog = "https://github.com/modern-python/faststream-concurrent-aiokafka/rel [dependency-groups] dev = [ - # Floored so `uv sync --resolution lowest-direct` resolves a usable harness: an - # unbounded name there resolves to the project's first-ever release. "pytest>=8", "pytest-cov>=5", "pytest-xdist>=3",