Skip to content

Commit 090c495

Browse files
authored
ci: test floors the CI10 way and collapse the wheel-only floors (#115)
1 parent 3e8d7ea commit 090c495

2 files changed

Lines changed: 6 additions & 12 deletions

File tree

‎.github/workflows/_checks.yml‎

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,8 @@ jobs:
7070

7171
floors:
7272
# Every other job resolves newest, so the declared floors are a claim nothing installs.
73-
# This one resolves the bottom of each range, on every matrix entry: wheel coverage is
74-
# per interpreter, so two interpreters resolving the same versions can still disagree
75-
# on whether those versions install.
73+
# This one installs them exactly on the floor Python, and the lowest versions with a wheel
74+
# on every other entry (CI10).
7675
if: github.event_name != 'schedule'
7776
runs-on: ubuntu-latest
7877
strategy:
@@ -106,7 +105,10 @@ jobs:
106105
- run: uv python pin ${{ matrix.python-version }}
107106
- run: uv venv
108107
# Pinned with builds allowed, so a floor with no wheel fails the wheel-only install below.
109-
- run: uv pip compile pyproject.toml --all-extras --no-deps --resolution lowest-direct -o floors.txt
108+
- if: matrix.python-version == '3.11'
109+
run: uv pip compile pyproject.toml --all-extras --no-deps --resolution lowest-direct -o floors.txt
110+
- if: matrix.python-version != '3.11'
111+
run: uv pip compile pyproject.toml --all-extras --resolution lowest-direct --no-build -o floors.txt
110112
- run: uv pip install -r pyproject.toml --all-extras --group dev --constraints floors.txt --no-build
111113
- run: uv run --no-sync pytest
112114
env:

‎pyproject.toml‎

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,9 @@ dependencies = [
2525
"faststream>=0.7.6,<0.8",
2626
# 5.0.1 is the first release with Redis.aclose, which the broker calls on teardown.
2727
"redis>=5.0.1",
28-
# Not imported here: faststream pulls pydantic through fast-depends[pydantic], and pydantic-core
29-
# ships no cp314 wheel before pydantic 2.12 and no cp315 wheel before 2.14, so the lowest
30-
# declared combination has no installable pydantic on 3.14 or 3.15.
31-
"pydantic>=2.12; python_version == '3.14'",
32-
"pydantic>=2.14; python_version >= '3.15'",
3328
# 4.12.2, not 4.12.0: pydantic requires >=4.12.2 on 3.13+, and pinning 4.12.0 drags pydantic
3429
# back to a build whose pydantic-core has no cp313 wheel either.
3530
"typing-extensions>=4.12.2",
36-
# pydantic 2.12 and 2.14, the 3.14 and 3.15 floors above, require >=4.14.1 and >=4.16.0.
37-
"typing-extensions>=4.14.1; python_version == '3.14'",
38-
"typing-extensions>=4.16.0; python_version >= '3.15'",
3931
]
4032

4133
[dependency-groups]

0 commit comments

Comments
 (0)