Skip to content

Commit 0c851f9

Browse files
authored
fix(ci): run zarr-indexing tests on the matrix interpreter (#4390)
The test recipes call `uv run --project ../..` without --python, so uv honoured the root .python-version pin (3.12) and rebuilt the venv the sync step had created on 3.13/3.14. Both non-3.12 legs have run on 3.12 since #4222. Set UV_PYTHON at job level so every uv call inside the recipes uses the matrix interpreter, and add a step that fails if the interpreter drifts again. Closes #4384 Assisted-by: ClaudeCode:claude-opus-5-5
1 parent 5b8ff1e commit 0c851f9

1 file changed

Lines changed: 14 additions & 2 deletions

File tree

‎.github/workflows/zarr-indexing.yml‎

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,12 @@ jobs:
3131
fail-fast: false
3232
matrix:
3333
python-version: ['3.12', '3.13', '3.14']
34+
# The recipes run `uv run --project ../..`, which would otherwise honour
35+
# the root .python-version pin and rebuild the venv on that interpreter.
36+
# UV_PYTHON reaches every uv call inside them, keeping the justfile
37+
# interpreter-agnostic for local use.
38+
env:
39+
UV_PYTHON: ${{ matrix.python-version }}
3440
steps:
3541
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
3642
with:
@@ -49,9 +55,15 @@ jobs:
4955
# The suite imports nothing from `zarr`; it runs against the repo-root
5056
# environment, with this package as an editable overlay, to share the
5157
# parent project's pinned test toolchain. The recipes carry that
52-
# invocation; this step only fixes the interpreter the matrix asked for.
58+
# invocation; this step installs dependencies up front so their
59+
# install time is reported separately from the tests.
5360
- name: Sync test dependency group
54-
run: uv sync --project ../.. --group test --python ${{ matrix.python-version }}
61+
run: uv sync --project ../.. --group test
62+
- name: Check interpreter
63+
run: >-
64+
uv run --project ../.. --group test python -c
65+
"import sys; v = '%d.%d' % sys.version_info[:2];
66+
assert v == '${{ matrix.python-version }}', v"
5567
- name: Run pytest
5668
# Suites and invocation live in packages/zarr-indexing/justfile.
5769
run: just test

0 commit comments

Comments
 (0)