From 23931aebafac9bf10e7240e42eb10d7f551adee6 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Wed, 25 Feb 2026 17:27:09 -0800 Subject: [PATCH 1/4] feat(CI): add gfortran 13 on macOS --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 81bd31f..673dfd1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,12 @@ jobs: compiler-version: 14 fpm-compiler: gfortran + # gfortran on macOS + - os: macos-latest + compiler: gfortran + compiler-version: 13 + fpm-compiler: gfortran + steps: - name: Checkout code uses: actions/checkout@v4 From 3eb652409605b8b60e8e6b66fcb966fbeb299dcf Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Wed, 25 Feb 2026 17:49:35 -0800 Subject: [PATCH 2/4] fix(CI): flexible fpm install, gfortran 14-15 --- .github/workflows/build.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 673dfd1..2e4bb74 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,12 +24,24 @@ jobs: compiler: gfortran compiler-version: 14 fpm-compiler: gfortran + - os: ubuntu-latest + compiler: gfortran + compiler-version: 15 + fpm-compiler: gfortran # gfortran on macOS - os: macos-latest compiler: gfortran compiler-version: 13 fpm-compiler: gfortran + - os: macos-latest + compiler: gfortran + compiler-version: 14 + fpm-compiler: gfortran + - os: macos-latest + compiler: gfortran + compiler-version: 15 + fpm-compiler: gfortran steps: - name: Checkout code @@ -38,6 +50,7 @@ jobs: - name: Install gfortran (Linux) if: matrix.compiler == 'gfortran' && runner.os == 'Linux' run: | + sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test sudo apt-get update -y sudo apt-get install -y gfortran-${{ matrix.compiler-version }} sudo update-alternatives --install /usr/bin/gfortran gfortran \ @@ -65,7 +78,13 @@ jobs: ln -sf /opt/homebrew/opt/llvm@${{ matrix.compiler-version }}/bin/flang \ /opt/homebrew/bin/flang - - name: Install fpm + - name: Install fpm (macOS, from source) + if: runner.os == 'macOS' + run: | + brew install fpm + + - name: Install fpm (Linux, from source) + if: runner.os == 'Linux' uses: fortran-lang/setup-fpm@v7 with: fpm-version: 'v0.13.0' From 238c0b802e34a1f38701151ee077f0022c1ac6ef Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Wed, 25 Feb 2026 18:21:44 -0800 Subject: [PATCH 3/4] fix(CI): use fortran-lang/setup-fortran --- .github/workflows/build.yml | 74 +++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 40 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2e4bb74..89aefed 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,73 +17,67 @@ jobs: include: # gfortran on Linux - os: ubuntu-latest - compiler: gfortran + compiler: gcc compiler-version: 13 fpm-compiler: gfortran - os: ubuntu-latest - compiler: gfortran + compiler: gcc compiler-version: 14 fpm-compiler: gfortran - os: ubuntu-latest - compiler: gfortran + compiler: gcc compiler-version: 15 fpm-compiler: gfortran # gfortran on macOS - os: macos-latest - compiler: gfortran + compiler: gcc compiler-version: 13 fpm-compiler: gfortran - os: macos-latest - compiler: gfortran + compiler: gcc compiler-version: 14 fpm-compiler: gfortran - os: macos-latest - compiler: gfortran + compiler: gcc compiler-version: 15 fpm-compiler: gfortran + # flang on Linux + - os: ubuntu-latest + compiler: llvm + compiler-version: 21 + fpm-compiler: flang + - os: ubuntu-latest + compiler: llvm + compiler-version: 22 + fpm-compiler: flang + + # flang on macOS + - os: macos-latest + compiler: llvm + compiler-version: 21 + fpm-compiler: flang + - os: macos-latest + compiler: llvm + compiler-version: 22 + fpm-compiler: flang + steps: - name: Checkout code uses: actions/checkout@v4 - - name: Install gfortran (Linux) - if: matrix.compiler == 'gfortran' && runner.os == 'Linux' - run: | - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test - sudo apt-get update -y - sudo apt-get install -y gfortran-${{ matrix.compiler-version }} - sudo update-alternatives --install /usr/bin/gfortran gfortran \ - /usr/bin/gfortran-${{ matrix.compiler-version }} 100 - - - name: Install gfortran (macOS) - if: matrix.compiler == 'gfortran' && runner.os == 'macOS' - run: | - brew install gcc@${{ matrix.compiler-version }} - ln -sf /opt/homebrew/bin/gfortran-${{ matrix.compiler-version }} \ - /opt/homebrew/bin/gfortran - - - name: Install flang (Linux) - if: matrix.compiler == 'flang' && runner.os == 'Linux' - run: | - sudo apt-get update -y - sudo apt-get install -y flang-${{ matrix.compiler-version }} - sudo update-alternatives --install /usr/bin/flang flang \ - /usr/bin/flang-${{ matrix.compiler-version }} 100 - - - name: Install flang (macOS) - if: matrix.compiler == 'flang' && runner.os == 'macOS' - run: | - brew install llvm@${{ matrix.compiler-version }} - ln -sf /opt/homebrew/opt/llvm@${{ matrix.compiler-version }}/bin/flang \ - /opt/homebrew/bin/flang + - name: Install Fortran compiler + uses: fortran-lang/setup-fortran@v1 + with: + compiler: ${{ matrix.compiler }} + version: ${{ matrix.compiler-version }} - - name: Install fpm (macOS, from source) + - name: Install fpm (macOS) if: runner.os == 'macOS' - run: | - brew install fpm + run: brew install fpm - - name: Install fpm (Linux, from source) + - name: Install fpm (Linux) if: runner.os == 'Linux' uses: fortran-lang/setup-fpm@v7 with: From 6af6ce623201586dcf77880a0814eec96884a183 Mon Sep 17 00:00:00 2001 From: Damian Rouson Date: Wed, 25 Feb 2026 18:26:17 -0800 Subject: [PATCH 4/4] fix(CI): use GCC 13-14 on Linux, 13-15 on macOS --- .github/workflows/build.yml | 24 ------------------------ 1 file changed, 24 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 89aefed..40b5d5c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -24,10 +24,6 @@ jobs: compiler: gcc compiler-version: 14 fpm-compiler: gfortran - - os: ubuntu-latest - compiler: gcc - compiler-version: 15 - fpm-compiler: gfortran # gfortran on macOS - os: macos-latest @@ -43,26 +39,6 @@ jobs: compiler-version: 15 fpm-compiler: gfortran - # flang on Linux - - os: ubuntu-latest - compiler: llvm - compiler-version: 21 - fpm-compiler: flang - - os: ubuntu-latest - compiler: llvm - compiler-version: 22 - fpm-compiler: flang - - # flang on macOS - - os: macos-latest - compiler: llvm - compiler-version: 21 - fpm-compiler: flang - - os: macos-latest - compiler: llvm - compiler-version: 22 - fpm-compiler: flang - steps: - name: Checkout code uses: actions/checkout@v4