io/zarr: rename DataArray to parameter_name before write_chunk #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |