diff --git a/.github/workflows/install-from-conda.yml b/.github/workflows/install-from-conda.yml new file mode 100644 index 00000000..336e9de8 --- /dev/null +++ b/.github/workflows/install-from-conda.yml @@ -0,0 +1,50 @@ +name: Install from conda-forge +permissions: {} +on: + push: + branches: + - main + schedule: + - cron: "0 4 * * *" + +# Required shell entrypoint to have properly configured bash shell +defaults: + run: + shell: bash -l {0} + +jobs: + linux: + runs-on: "ubuntu-latest" + if: github.repository == 'NCAS-CMS/pyfive' # avoid GAs in forks + strategy: + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + # fail-fast set to False allows all other tests + # in the workflow to run regardless of any fail + fail-fast: false + name: Linux Python ${{ matrix.python-version }} + steps: + - uses: conda-incubator/setup-miniconda@fc2d68f6413eb2d87b895e92f8584b5b94a10167 # v3.3.0 + with: + python-version: ${{ matrix.python-version }} + miniforge-version: "latest" + use-mamba: true + - name: Record versions + run: | + mamba --version + which conda + which mamba + python -V + - name: Install pyfive + run: mamba install pyfive + - name: Verify installation + run: | + python -c "import pyfive" + - name: Check environment contents + run: | + conda list + pip list + - name: Test p5dump + run: | + which p5dump + p5dump -h diff --git a/environment.yml b/environment.yml index 3e95a5fb..c48bdd6e 100644 --- a/environment.yml +++ b/environment.yml @@ -8,6 +8,7 @@ dependencies: # core dependencies - numpy >=2 - python >=3.10 + - typing_extensions # testing dependencies - dask - flask diff --git a/pyproject.toml b/pyproject.toml index d12a5504..64d5c8f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,6 +37,7 @@ dynamic = [ ] dependencies = [ "numpy>=2", + "typing-extensions", ] description = "A pure python HDF5 reader" license = "BSD-3-Clause"