Skip to content

CI, TST: simplified automated build script + CI workflows #63

CI, TST: simplified automated build script + CI workflows

CI, TST: simplified automated build script + CI workflows #63

name: End-to-end Testing (pytest)
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
end_to_end_pytest:
strategy:
matrix:
platform: [ubuntu-latest]
python-version: ["3.10"]
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y hdf5-tools libhdf5-openmpi-dev openmpi-bin
python -m pip install --upgrade pip
python -m pip install --upgrade pytest mpi4py "cython<3.0.0" numpy wheel pkgconfig "setuptools<62.0.0"
# we need to build h5py with the system HDF5 lib backend
export HDF5_MPI="ON"
# Install h5py https://github.com/h5py/h5py/issues/2222
CC=mpicc python -m pip install --no-cache-dir --no-binary=h5py h5py --no-build-isolation
- name: Install Darshan
run: |
git submodule update --init
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/hdf5/openmpi/
export DARSHAN_INSTALL_PREFIX=$PWD/darshan_install
export DARSHAN_RUNTIME_CONFIG_ARGS="--with-jobid-env=NONE --enable-hdf5-mod --with-log-path-by-env=DARSHAN_LOGPATH"
darshan-test/automated/build-darshan.sh
- name: Install Darshan (non-MPI)
run: |
export DARSHAN_INSTALL_PREFIX=$PWD/darshan_nonmpi_install
export DARSHAN_RUNTIME_CONFIG_ARGS="--without-mpi --with-jobid-env=NONE --with-log-path-by-env=DARSHAN_LOGPATH"
darshan-test/automated/build-darshan.sh
- name: Install pydarshan
run: |
cd darshan-util/pydarshan
python -m pip install .
- name: Test with pytest
run: |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PWD/darshan_install/lib
export DARSHAN_INSTALL_PATH=$PWD/darshan_install
export DARSHAN_NONMPI_INSTALL_PATH=$PWD/darshan_nonmpi_install
export DARSHAN_ROOT_PATH=$PWD
export HDF5_LIB=/usr/lib/x86_64-linux-gnu/hdf5/openmpi/libhdf5.so
python -m pytest darshan-test/python_runtime_tests.py