Skip to content

Commit adca810

Browse files
committed
ci: pin uv venv to setup-python interpreter for free-threaded jobs
Passing a bare version like '3.13t' to 'uv venv --python' let uv fall back to a different system interpreter (3.12), creating a venv whose ABI did not match the downloaded cp313t wheel and failing the install. Use the python-path output from setup-python so the venv uses exactly the interpreter that was set up.
1 parent 4426ee6 commit adca810

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

.github/workflows/test.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ jobs:
4747
- uses: actions/checkout@v6
4848

4949
- name: Setup Python
50+
id: setup-python
5051
uses: actions/setup-python@v6
5152
with:
5253
python-version: ${{ matrix.python-version }}
@@ -80,7 +81,10 @@ jobs:
8081
- name: Install from pre-built wheels
8182
run: |
8283
set -x
83-
uv venv --python ${{ matrix.python-version }}
84+
# Use the interpreter installed by setup-python. Passing a bare
85+
# version like "3.13t" lets uv fall back to a different system
86+
# interpreter (e.g. 3.12), producing a wheel/ABI mismatch.
87+
uv venv --python "${{ steps.setup-python.outputs.python-path }}"
8488
uv sync --dev --no-install-package datafusion
8589
WHEELS=$(find wheels/ -name "*.whl")
8690
if [ -n "$WHEELS" ]; then

0 commit comments

Comments
 (0)