Skip to content

CI: test-crc32c and test-zarr run on system Python — matrix.python-version is never defined #855

Description

@glaziermag

Minimal, reproducible code sample, a copy-pastable example if possible

Any green test-crc32c or test-zarr job log shows it — e.g. the latest main run of Tests (27815631459):

##[warning]The `python-version` input is not set.  The version of Python currently in `PATH` will be used.
...
platform linux -- Python 3.12.3, pytest-9.1.0, pluggy-1.6.0 -- /usr/bin/python

(Same on the newest executed run, 2026-08-03.)

Problem description

The test-crc32c and test-zarr jobs pass python-version: ${{ matrix.python-version }} to actions/setup-python (L79, L129), but neither job's matrix defines a python-version key — only the build job's matrix does. With an empty input, setup-python falls back to the runner's PATH Python, so all six variants of these two jobs — including the zarr @ main integration entry — run on the ubuntu-24.04 image's /usr/bin/python 3.12.3 rather than a version the workflow controls: they never see the 3.13/3.14 from the build matrix, and they'll change interpreter again whenever ubuntu-latest rolls forward.

This came in with the Conda removal in #839, which replaced the pinned python-version: "3.13" in both jobs with the matrix expression used by the build job.

Happy to send the two-line PR — an explicit pin restores the pre-#839 behavior, or python-version can be added to both matrices if version × variant coverage is wanted; whichever you prefer.

Found while auditing workflow runs with AI assistance; the yaml, the #839 diff, and the job logs quoted above were each re-checked by hand.

Version and installation information

N/A — CI configuration on main (82c3635).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions