diff --git a/.github/workflows/_checks.yml b/.github/workflows/_checks.yml index 1916715..36d10f5 100644 --- a/.github/workflows/_checks.yml +++ b/.github/workflows/_checks.yml @@ -88,10 +88,10 @@ jobs: cache-dependency-glob: "**/pyproject.toml" - run: uv python install ${{ matrix.python-version }} - run: uv python pin ${{ matrix.python-version }} - # --no-build so a floor with no wheel for this interpreter fails here instead of - # quietly compiling its sdist; --no-install-project because that flag would refuse to - # build this project too, and the tests import it from the checkout. - - 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 - run: uv run --no-sync pytest env: PYTHONDONTWRITEBYTECODE: 1 diff --git a/pyproject.toml b/pyproject.toml index 7e26f05..2e39241 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,6 @@ Issues = "https://github.com/modern-python/modern-di-arq/issues" Changelog = "https://github.com/modern-python/modern-di-arq/releases" [dependency-groups] -# Floored so `uv sync --resolution lowest-direct` resolves a usable harness, not each name's first release. dev = [ "pytest>=8", "pytest-cov>=5",