hidefix 0.12.0

Concurrent HDF5 and NetCDF4 reader (experimental)
Documentation
name: Python

on:
  push:
    tags:
      - '**'
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  test:
    runs-on: ${{matrix.platform}}
    strategy:
      matrix:
        include:
          - {platform: ubuntu-latest, rust: nightly}
          - {platform: ubuntu-latest, rust: stable}
          - {platform: windows-latest, rust: nightly}
          - {platform: macos-latest, rust: nightly}
    steps:
    - uses: actions/checkout@v3
    - uses: actions/setup-python@v4
      with:
        python-version: "3.10"
    - name: Build wheels
      uses: PyO3/maturin-action@v1
      with:
        rust-toolchain: '${{matrix.rust}}'
        manylinux: auto
        args: --release --sdist --out dist
    - name: Install built wheel
      # if: matrix.target == 'x86_64'
      run: |
        pip install numpy xarray netCDF4
        pip install hidefix --no-index --find-links dist --force-reinstall --no-deps
        python -c "import hidefix"
    - name: Run tests
      # if: matrix.target == 'x86_64'
      run: |
        pip install pytest pytest-benchmark dask
        pytest -v --log-cli-level=debug -s
    - name: Upload wheels
      uses: actions/upload-artifact@v3
      with:
        name: wheels
        path: dist

  release:
    name: Release
    runs-on: ubuntu-latest
    if: "startsWith(github.ref, 'refs/tags/')"
    needs: [ test ]
    steps:
      - uses: actions/download-artifact@v3
        with:
          name: wheels
      - uses: actions/setup-python@v4
        with:
          python-version: "3.10"
      - name: Publish to PyPI
        env:
          TWINE_USERNAME: __token__
          TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
        run: |
          pip install --upgrade twine
          twine upload --skip-existing *