From aca15d4f327869b1f3656a62c816b8ef94bc4637 Mon Sep 17 00:00:00 2001 From: bonachea Date: Wed, 15 Jul 2026 17:45:03 -0400 Subject: [PATCH 1/3] CI: Enable compile-time testing of more conduits on Linux Also remove some copy-pasta accidentally preserved from the Fortran template used to create this YML. --- .github/workflows/build.yml | 44 ++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78ce5ed2a..aa298b113 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -64,9 +64,13 @@ jobs: extra_flags: [ -g ] include: + - os: ubuntu-24.04 + conduits: &ubuntu_conduits [ mpi, ibv, ofi, ucx ] + - os: ubuntu-22.04 compiler: gcc version: 12 # no package available for gcc 13+ + conduits: *ubuntu_conduits # --- LLVM clang coverage --- @@ -90,19 +94,22 @@ jobs: - os: ubuntu-24.04 compiler: clang version: 22 + conduits: *ubuntu_conduits container: phhargrove/llvm-flang:22.1.0-latest - os: ubuntu-24.04 compiler: clang version: 21 + conduits: *ubuntu_conduits container: phhargrove/llvm-flang:21.1.0-latest - os: ubuntu-24.04 compiler: clang version: 20 + conduits: *ubuntu_conduits container: phhargrove/llvm-flang:20.1.0-latest - os: ubuntu-24.04 compiler: clang version: 19 - extra_flags: -g -mmlir -allow-assumed-rank + conduits: *ubuntu_conduits container: phhargrove/llvm-flang:19.1.1-latest # --- Intel coverage --- @@ -111,21 +118,25 @@ jobs: - os: ubuntu-24.04 compiler: icx version: latest + conduits: *ubuntu_conduits container: intel/oneapi-hpckit:latest - os: ubuntu-24.04 compiler: icx version: 2025.2.0 + conduits: *ubuntu_conduits container: intel/oneapi-hpckit:2025.2.0-0-devel-ubuntu24.04 - os: ubuntu-24.04 compiler: icx version: 2025.1.0 + conduits: *ubuntu_conduits container: intel/oneapi-hpckit:2025.1.0-0-devel-ubuntu24.04 - os: ubuntu-22.04 compiler: icx version: 2025.0.0 + conduits: *ubuntu_conduits container: intel/oneapi-hpckit:2025.0.0-0-devel-ubuntu22.04 container: @@ -188,6 +199,37 @@ jobs: apt update apt install -y build-essential autoconf2.69 automake + - name: Install Ubuntu Conduit Dependencies + if: ${{ contains(matrix.os, 'ubuntu') && toJSON(matrix.conduits) != '[]' }} + run: | + FORCE_CONDUITS="" + if [[ $(whoami) == root ]] ; then + SUDO= + else + SUDO=sudo + fi + if [[ ${{ contains(matrix.conduits,'ibv') }} == true ]] ; then + $SUDO apt install -y libibverbs-dev + FORCE_CONDUITS+=" --enable-ibv" + fi + if [[ ${{ contains(matrix.conduits,'ofi') }} == true ]] ; then + $SUDO apt install -y libfabric-dev + FORCE_CONDUITS+=" --enable-ofi" + fi + if [[ ${{ contains(matrix.conduits,'ucx') }} == true ]] ; then + $SUDO apt install -y libucx-dev + FORCE_CONDUITS+=" --enable-ucx" + fi + if [[ ${{ contains(matrix.conduits,'mpi') }} == true ]] ; then + if [[ ${{ matrix.compiler }} == 'icx' ]] ; then # icx uses Intel MPI + echo "MPI_CC=mpiicx" >> "$GITHUB_ENV" + else + $SUDO apt install -y libopenmpi-dev + fi + FORCE_CONDUITS+=" --enable-mpi --enable-mpi-compat" + fi + echo "CONFIGURE_ARGS=$CONFIGURE_ARGS$FORCE_CONDUITS" >> "$GITHUB_ENV" + - name: Install macOS Dependencies if: contains(matrix.os, 'macos') run: | From 69d21d678a22c244eea38b24074b4358dead3e1a Mon Sep 17 00:00:00 2001 From: bonachea Date: Wed, 15 Jul 2026 18:58:57 -0400 Subject: [PATCH 2/3] CI: Enable testing of more conduits on macOS --- .github/workflows/build.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index aa298b113..5fac4f369 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -243,6 +243,9 @@ jobs: if [[ ${{ matrix.compiler }} == 'gcc' && ${COMPILER_VERSION} -gt 15 ]] ; then brew install gcc@${COMPILER_VERSION} fi + brew install libfabric openmpi + echo "CONFIGURE_ARGS=$CONFIGURE_ARGS --enable-ofi --enable-mpi" >> "$GITHUB_ENV" + - name: Install LLVM on macOS if: contains(matrix.os, 'macos') && matrix.compiler == 'clang' From c908c83b250fb593a80e1dfe9fbb8703b0cf95fd Mon Sep 17 00:00:00 2001 From: bonachea Date: Wed, 15 Jul 2026 19:36:48 -0400 Subject: [PATCH 3/3] CI: Add MPI_CC to Version Info step --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5fac4f369..d3d1ef031 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -288,7 +288,7 @@ jobs: echo echo == Tool version info == echo PATH="$PATH" - for tool in ${CC} ${CXX} make ; do + for tool in ${CC} ${MPI_CC:-`type -p mpicc`} ${CXX} make ; do ( echo ; set -x ; w=$(which $tool) ; ls -al $w ; ls -alhL $w ; $tool --version ) done