Skip to content

chore: update pre-commit hook sp-repo-review #1495

chore: update pre-commit hook sp-repo-review

chore: update pre-commit hook sp-repo-review #1495

Workflow file for this run

name: Tests
on: [push, pull_request]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
runs-on: ${{ matrix.platform }}
strategy:
fail-fast: false
matrix:
python-version: ["3.12", "3.13", "3.14"]
# macos-15-large is an intel runner, macos-14 is an arm64 runner
platform: [ubuntu-latest, ubuntu-22.04-arm, windows-latest, macos-15-large, macos-14]
defaults:
run:
shell: bash -el {0}
steps:
- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
fetch-depth: 0 # required for version resolution
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install numcodecs
run: |
# TODO: Remove this conditional when pcodec supports Python 3.14
if [[ "${{ matrix.python-version }}" == "3.14" ]]; then
python -m pip install -v ".[test,test_extras,msgpack,google_crc32c,crc32c,zfpy]"
else
python -m pip install -v ".[test,test_extras,msgpack,google_crc32c,crc32c,pcodec,zfpy]"
fi
- name: List installed packages
run: python -m pip list
- name: Run tests
shell: "bash -l {0}"
run: pytest -v
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
test-crc32c:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- name: google-crc32c
extras: "google_crc32c"
- name: crc32c
extras: "crc32c"
- name: no-crc32c
extras: ""
defaults:
run:
shell: bash -el {0}
steps:
- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install numcodecs
run: |
if [[ -n "${{ matrix.extras }}" ]]; then
python -m pip install -v ".[${{ matrix.extras }},test]"
else
python -m pip install -v ".[test]"
fi
- name: List installed packages
run: python -m pip list
- name: Run checksum tests
run: pytest -v tests/test_checksum32.py
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
test-zarr:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- zarr-version: "308"
zarr-pkg: "zarr==3.0.8"
- zarr-version: "316"
zarr-pkg: "zarr==3.1.6"
- zarr-version: "main"
zarr-pkg: "zarr @ git+https://github.com/zarr-developers/zarr-python.git@main"
defaults:
run:
shell: bash -el {0}
steps:
- name: Checkout source
uses: actions/checkout@v5
with:
submodules: recursive
fetch-depth: 0 # required for version resolution
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install numcodecs and Zarr
run: |
python -m pip install -v ".[test,test_extras]" "${{ matrix.zarr-pkg }}" crc32c
- name: List installed packages
run: python -m pip list
- name: Run Zarr integration tests
run: pytest tests/test_zarr3.py tests/test_zarr3_import.py
- uses: codecov/codecov-action@v5
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true