Skip to content

MAINT: 3.12 support #431

MAINT: 3.12 support

MAINT: 3.12 support #431

Workflow file for this run

name: Runtime Testing
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test_runtime:
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-runtime
run: |
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/include/hdf5/openmpi/
mkdir darshan_install
export DARSHAN_INSTALL_PATH=$PWD/darshan_install
git submodule update --init
./prepare.sh
cd darshan-runtime
mkdir build
cd build
CC=mpicc ../configure --prefix=$DARSHAN_INSTALL_PATH --with-log-path-by-env=DARSHAN_LOGPATH --with-jobid-env=NONE --enable-hdf5-mod
make
make install
- name: Install darshan-runtime (non-MPI)
run: |
mkdir darshan_nonmpi_install
export DARSHAN_INSTALL_PATH=$PWD/darshan_nonmpi_install
cd darshan-runtime
mkdir build_nonmpi
cd build_nonmpi
# Note that darshan-util is not needed here, we can use the one built below
CC=gcc ../configure --disable-darshan-util --without-mpi --prefix=$DARSHAN_INSTALL_PATH --with-log-path-by-env=DARSHAN_LOGPATH --with-jobid-env=NONE
make
make install
- name: Install darshan-util
run: |
export DARSHAN_INSTALL_PATH=$PWD/darshan_install
cd darshan-util
mkdir build
cd build
../configure --prefix=$DARSHAN_INSTALL_PATH --enable-apxc-mod --enable-apmpi-mod
make
make install
- 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