Skip to content

Commit ef05cb2

Browse files
authored
Pin CI Python to 3.13 to match Pipfile.lock (#179)
The PyTest workflow requests python-version: "3.x", which now resolves to CPython 3.14. Pipfile.lock pins scipy==1.15.3, whose newest wheels are cp313, so pip falls back to building scipy from its sdist. That build needs OpenBLAS, which ubuntu-latest does not provide, and 'make setup-dev' fails before any test runs. Pinning to 3.13 is the newest interpreter the current lockfile resolves against: scipy, numpy, pandas and shapely all publish cp313 manylinux wheels, and the one sdist-only dependency (turfpy 0.0.7) is pure Python. The publish workflow runs the same pipenv install against the same lockfile, so it is pinned identically.
1 parent 28f36b6 commit ef05cb2

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

.github/workflows/pypi-publish.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ jobs:
1919
- name: Set up Python
2020
uses: actions/setup-python@v5
2121
with:
22-
python-version: "3.x"
22+
# Pinned rather than "3.x" for the same reason as pytest.yml: this
23+
# job also runs `pipenv install --dev` against Pipfile.lock.
24+
python-version: "3.13"
2325

2426
- name: Install dependencies
2527
run: |

.github/workflows/pytest.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ jobs:
1616
- name: Set up Python
1717
uses: actions/setup-python@v5
1818
with:
19-
python-version: "3.x"
19+
# Pinned rather than "3.x": Pipfile.lock pins scipy==1.15.3, which
20+
# publishes wheels only up to cp313. On a newer interpreter pip falls
21+
# back to the sdist, which needs OpenBLAS and fails on ubuntu-latest.
22+
python-version: "3.13"
2023
- name: Install dependencies
2124
run: |
2225
make setup-dev

0 commit comments

Comments
 (0)