Skip to content

io/zarr: rename DataArray to parameter_name before write_chunk #2

io/zarr: rename DataArray to parameter_name before write_chunk

io/zarr: rename DataArray to parameter_name before write_chunk #2

Workflow file for this run

name: CI
# Phase I-6 (2026-05-21): CI infrastructure for the ClearWater-data
# substrate. Designed to catch the G-1/G-2-class import-time defects
# that the Phase F regression suite was passing past silently (the
# canonical package's source could not be imported on a fresh
# install; tests were passing only because a shadowed install was
# in PYTHONPATH).
#
# Architectural principles (matches the modules-streaming repo's CI):
# #4 Windows is the primary deployment platform
# #5 HPC/Linux is first-class
# macOS is included because it is the project author's primary
# development platform.
on:
push:
branches: [main, "steissberg-*"]
pull_request:
branches: [main, "steissberg-*"]
jobs:
test:
name: ${{ matrix.os }} / Python ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.13"]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Cache pip downloads
uses: actions/cache@v4
with:
path: |
~/.cache/pip
~/Library/Caches/pip
~\AppData\Local\pip\Cache
key: pip-${{ runner.os }}-py${{ matrix.python-version }}-${{ hashFiles('pyproject.toml') }}
restore-keys: |
pip-${{ runner.os }}-py${{ matrix.python-version }}-
pip-${{ runner.os }}-
- name: Upgrade pip toolchain
run: python -m pip install --upgrade pip setuptools wheel
- name: Install package in editable mode
run: python -m pip install -e .
# Phase I-6 critical step: import-time smoke test. Catches the
# G-1/G-2-class defects (missing imports, circular dependencies)
# on a clean install BEFORE the test suite runs against the
# actually-installed source. Phase F regression suite was
# passing 21/21 against canonical's source for weeks while
# canonical itself was unimportable; this gate prevents that.
- name: Import-time smoke test
run: |
python -c "import clearwater_data; print('clearwater_data:', clearwater_data.__file__ if hasattr(clearwater_data, '__file__') else 'OK')"
python -c "from clearwater_data.variables import VariableRegistry, DataArrayVariable; from clearwater_data.variables.float import FloatVariable; print('variables OK')"
python -c "from clearwater_data.io.zarr import ZarrDataStore, ZarrDataSource, ChunkedZarrDataStore; from clearwater_data.io.csv import CSVDataSource; print('io OK')"
- name: Install test dependencies
run: python -m pip install pytest pytest-cov
- name: Show installed packages
run: python -m pip list
- name: Run unit tests
run: pytest tests/ -v