@@ -21,39 +21,56 @@ jobs:
2121 runs-on : ubuntu-latest
2222 steps :
2323 - name : Check out zarr-python
24- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24+ uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
2525 with :
2626 fetch-depth : 0
2727 persist-credentials : false
2828
2929 - name : Check out xarray
30- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
30+ uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
3131 with :
3232 repository : pydata/xarray
3333 path : xarray
3434 persist-credentials : false
3535
36- - name : Set up pixi
37- uses : prefix-dev/setup-pixi@5185adfbffb4bd703da3010310260805d89ebb11 # v0.9.6
36+ # We install xarray with plain pip/uv rather than pixi. pixi solves
37+ # xarray's entire manifest (it has no committed lockfile), which drags in
38+ # the `mypy-upstream` environment; that environment sources numcodecs from
39+ # git and fails to build under newer pixi with
40+ # `meson-python: error: Unknown option "pixi-conda-environment"`, breaking
41+ # the job before any test runs. Tests that need a backend we don't install
42+ # are skipped via xarray's `requires_*` markers, not failed.
43+ - uses : actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
3844 with :
39- manifest-path : xarray/pixi.toml
45+ python-version : ' 3.13'
46+
47+ - name : Install uv
48+ uses : astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
4049
41- - name : Install zarr-python from branch
50+ - name : Install xarray and test dependencies
4251 working-directory : xarray
43- run : pixi run -e test-py313 -- pip install --no-deps ..
52+ run : |
53+ uv venv
54+ # xarray's pytest tooling lives in the PEP 735 `dev` dependency group;
55+ # the zarr-relevant backends come from the `io` and `parallel` extras.
56+ uv pip install --group dev ".[io,parallel,accel]"
57+
58+ - name : Override zarr-python with branch version
59+ working-directory : xarray
60+ run : uv pip install --no-deps ..
4461
4562 - name : Show versions
4663 working-directory : xarray
4764 run : |
48- pixi run -e test-py313 -- python -c "
65+ uv run python -c "
4966 import zarr; print(f'zarr {zarr.__version__}')
5067 import xarray; print(f'xarray {xarray.__version__}')
5168 "
5269
5370 - name : Run xarray zarr backend tests
5471 working-directory : xarray
5572 run : |
56- pixi run -e test-py313 -- python -m pytest --no-header -q \
73+ uv run python -m pytest --no-header -q \
5774 xarray/tests/test_backends.py \
5875 xarray/tests/test_backends_api.py \
5976 xarray/tests/test_backends_datatree.py
@@ -66,13 +83,13 @@ jobs:
6683 runs-on : ubuntu-latest
6784 steps :
6885 - name : Check out zarr-python
69- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
86+ uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
7087 with :
7188 fetch-depth : 0
7289 persist-credentials : false
7390
7491 - name : Check out numcodecs
75- uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
92+ uses : actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
7693 with :
7794 repository : zarr-developers/numcodecs
7895 fetch-depth : 0
85102 python-version : ' 3.13'
86103
87104 - name : Install uv
88- uses : astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1 .0
105+ uses : astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2 .0
89106
90107 - name : Install numcodecs with test-zarr-main group
91108 working-directory : numcodecs
0 commit comments