diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..7a7979c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +name: HDF5 Fortran API CI + +on: + push: + pull_request: + +jobs: + build_serial_HDF5_with_gfortran: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + gfortran \ + cmake \ + libhdf5-dev \ + libhdf5-fortran-102 + + - name: Verify compilers and HDF5 + run: | + gfortran --version + cmake --version + + - name: Configure test runner with CMake and run + run: | + cmake -S ./test/. -B ./build-tests \ + -DCMAKE_Fortran_COMPILER=gfortran + cmake --build ./build-tests + ./build-tests/h5testrunner + + + build_parallel_HDF5_with_gfortran: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y \ + gfortran \ + cmake \ + libopenmpi-dev \ + libhdf5-openmpi-dev + + - name: Verify compilers and HDF5 + run: | + gfortran --version + cmake --version + mpif90 --version + + - name: Configure test runner with CMake and run + run: | + cmake -S ./test/. -B ./build-tests \ + -DCMAKE_Fortran_COMPILER=mpif90 -DMPI_VERSION=ON + cmake --build build-tests + ./build-tests/h5testrunner + ./build-tests/h5testrunner_mpi + mpirun --allow-run-as-root --oversubscribe \ + -np 2 ./build-tests/h5testrunner_mpi