From 33c2336989f23f52a19c6e83607f6588c6d6afe6 Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Sat, 2 May 2026 13:03:31 -0700 Subject: [PATCH 1/4] CI: Add coverage for GFortran 16 --- .github/workflows/build.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5482f4e5..44cd74f4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -62,7 +62,7 @@ jobs: matrix: os: [ macos-14, macos-15, macos-15-intel, macos-26, macos-26-intel, ubuntu-24.04 ] compiler: [ gfortran ] - version: [ 13, 14, 15 ] + version: [ 13, 14, 15, 16 ] include: # --- flang coverage --- @@ -157,6 +157,10 @@ jobs: container: phhargrove/llvm-flang:21.1.0-latest # --- udp coverage for selected configs --- + - os: macos-26 + compiler: gfortran + version: 16 + network: udp - os: macos-15 compiler: gfortran version: 14 @@ -164,7 +168,7 @@ jobs: - os: ubuntu-24.04 compiler: gfortran - version: 15 + version: 16 network: udp - os: ubuntu-24.04 compiler: gfortran @@ -245,7 +249,7 @@ jobs: run: | sudo apt update sudo apt install -y build-essential pkg-config make - if [[ ${COMPILER_VERSION} < 15 ]] ; then + if [[ ${COMPILER_VERSION} -lt 15 ]] ; then sudo apt install -y gfortran-${COMPILER_VERSION} g++-${COMPILER_VERSION} else curl $CURL_OPTIONS https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o install-homebrew.sh @@ -270,6 +274,9 @@ jobs: brew update # fpm binary distribution for macOS requires gfortran shared libraries from gcc@12 brew install gcc@12 + if [[ ${{ matrix.compiler }} == 'gfortran' && ${COMPILER_VERSION} -gt 15 ]] ; then + brew install gcc@${COMPILER_VERSION} + fi - name: Install LLVM flang on macOS if: ${{ contains(matrix.os, 'macos') && matrix.compiler == 'flang' && !matrix.brew_via_install }} @@ -298,7 +305,7 @@ jobs: # Set Install Variables - name: Set gfortran variables - if: matrix.compiler == 'gfortran' + if: ${{ matrix.compiler == 'gfortran' }} run: | echo "FC=gfortran-${COMPILER_VERSION}" >> "$GITHUB_ENV" echo "CC=gcc-${COMPILER_VERSION}" >> "$GITHUB_ENV" From ba9331d534c778fc77271553701225bff37eb5c9 Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Fri, 19 Jun 2026 05:11:37 -0700 Subject: [PATCH 2/4] CI: silence Homebrew tap trust and Linux sandbox warnings --- .github/workflows/build.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 44cd74f4..4658fd4c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -86,6 +86,7 @@ jobs: compiler: flang label: Homebrew brew_via_install: 1 + install_filter: 2>&1 | grep -v 'Sandbox unavailable' # https://hub.docker.com/r/snowstep/llvm/tags - os: ubuntu-24.04 @@ -256,6 +257,7 @@ jobs: chmod +x install-homebrew.sh env CI=1 ./install-homebrew.sh HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew" + sudo ${HOMEBREW_PREFIX}/bin/brew setup-sandbox ${HOMEBREW_PREFIX}/bin/brew install -v gcc@${COMPILER_VERSION} binutils ls -al ${HOMEBREW_PREFIX}/bin echo "PATH=${HOMEBREW_PREFIX}/bin:${PATH}" >> "$GITHUB_ENV" @@ -268,6 +270,12 @@ jobs: echo "LDFLAGS=${LDFLAGS:+"$LDFLAGS" }-B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" fi + - name: Fix macOS Homebrew Configuration + if: ${{ contains(matrix.os, 'macos') }} + run: | + # silence Homebrew tap trust warnings: + (set +e ; brew untap -f aws/tap hashicorp/tap 2>&1 | perl -pe 's/#*.warning./warn: /' ; brew trust azure/bicep ) + - name: Install macOS Dependencies if: ${{ contains(matrix.os, 'macos') && !matrix.brew_via_install }} run: | @@ -411,7 +419,8 @@ jobs: run: | for var in FC CC CXX FFLAGS CPPFLAGS CFLAGS CXXFLAGS LDFLAGS LIBS GASNET_CONFIGURE_ARGS ; do eval echo "$var=\$$var"; done - ./install.sh --prefix=${PREFIX} ${NETWORK_ARG} --verbose ${{ inputs.install_args }} + ./install.sh --prefix=${PREFIX} ${NETWORK_ARG} --verbose \ + ${{ inputs.install_args }} ${{ matrix.install_filter }} ########################################################################## # Caffeine Testing @@ -482,6 +491,7 @@ jobs: run: | for var in FC CC CXX FFLAGS CPPFLAGS CFLAGS LDFLAGS LIBS GASNET_CONFIGURE_ARGS ; do eval echo "$var=\$$var"; done - ./install.sh --prefix=${PREFIX} ${NETWORK_ARG} --enable-threads --verbose + ./install.sh --prefix=${PREFIX} ${NETWORK_ARG} --enable-threads --verbose \ + ${{ inputs.install_args }} ${{ matrix.install_filter }} ./run-fpm.sh test --verbose -- ${{ inputs.julienne_args }} From 485b6824d2bc82ee4b5c7f803ee5d586569ae47d Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Fri, 19 Jun 2026 06:02:45 -0700 Subject: [PATCH 3/4] CI: Fix a stray explicit smp This is purely cosmetic, just affects the job name --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4658fd4c..b661f346 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -152,7 +152,6 @@ jobs: - os: ubuntu-24.04 compiler: flang version: 21 - network: smp label: PRIF-0.7 FFLAGS: -DFORCE_PRIF_0_7 container: phhargrove/llvm-flang:21.1.0-latest From 1f1ca41ded6bced63f32bb407614b454508f1df1 Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Fri, 19 Jun 2026 06:10:09 -0700 Subject: [PATCH 4/4] CI: Restore inadvertent loss of coverage eda10a6a factored matrix.network, but in the process accidentally disabled smp jobs that corresponded exactly to udp jobs. --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b661f346..8296fe7b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,7 +54,7 @@ jobs: run: echo "BREW_FLANG_VERSION=22" >> $GITHUB_OUTPUT build: - name: ${{ matrix.compiler }}-${{ matrix.version || needs.setup.outputs.BREW_FLANG_VERSION }} ${{ matrix.network || '' }} (${{ matrix.os }}) ${{ matrix.label }} + name: ${{ matrix.compiler }}-${{ matrix.version || needs.setup.outputs.BREW_FLANG_VERSION }} ${{ ( matrix.network != 'smp' && matrix.network ) || '' }} (${{ matrix.os }}) ${{ matrix.label }} needs: setup runs-on: ${{ matrix.os }} strategy: @@ -63,6 +63,7 @@ jobs: os: [ macos-14, macos-15, macos-15-intel, macos-26, macos-26-intel, ubuntu-24.04 ] compiler: [ gfortran ] version: [ 13, 14, 15, 16 ] + network: [ smp ] include: # --- flang coverage ---