Skip to content

Merge pull request #1391 from Unidata/dependabot/github_actions/githu… #933

Merge pull request #1391 from Unidata/dependabot/github_actions/githu…

Merge pull request #1391 from Unidata/dependabot/github_actions/githu… #933

Workflow file for this run

name: Build and Test
on:
pull_request:
push:
branches: [master]
jobs:
run-serial:
runs-on: ${{ matrix.os }}
#env:
# NO_NET: 1
strategy:
matrix:
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
os: [windows-latest, ubuntu-latest, macos-latest]
platform: [x64, x32]
exclude:
- os: macos-latest
platform: x32
fail-fast: false
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Micromamba
uses: mamba-org/setup-micromamba@v2
with:
environment-name: TEST
init-shell: bash
create-args: >-
python=${{ matrix.python-version }}
numpy cython pip setuptools pytest hdf5 libnetcdf cftime zlib certifi typing-extensions
--channel conda-forge
- name: Install netcdf4-python
run: |
export PATH="${CONDA_PREFIX}/bin:${CONDA_PREFIX}/Library/bin:$PATH" # so setup.py finds nc-config
python -m pip install -v -e . --no-deps --no-build-isolation --force-reinstall
- name: Tests
run: |
pytest -s -rxs -v test
run-mpi:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: [ "3.12" ]
os: [ubuntu-latest]
platform: [x64]
defaults:
run:
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Setup Micromamba
uses: mamba-org/setup-micromamba@v2
with:
environment-name: TEST
init-shell: bash
create-args: >-
python=${{ matrix.python-version }}
numpy cython pip pytest openmpi mpi4py hdf5=*=mpi* libnetcdf=*=mpi* cftime zlib certifi typing-extensions
--channel conda-forge
- name: Install netcdf4-python with mpi
run: |
export PATH="${CONDA_PREFIX}/bin:${CONDA_PREFIX}/Library/bin:$PATH" # so setup.py finds nc-config
nc-config --all
python -m pip install -v -e . --no-build-isolation --no-deps --force-reinstall
- name: Tests
run: |
cd test && python run_all.py
cd ../examples
export PATH="${CONDA_PREFIX}/bin:${CONDA_PREFIX}/Library/bin:$PATH"
which mpirun
mpirun --version
mpirun -np 4 --oversubscribe python mpi_example.py # for openmpi
#mpirun -np 4 python mpi_example.py
if [ $? -ne 0 ] ; then
echo "hdf5 mpi test failed!"
exit 1
else
echo "hdf5 mpi test passed!"
fi