From d7fcb4923d36cf15c5e76ed38af2802994a3df3a Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Fri, 8 May 2026 20:51:19 -0700 Subject: [PATCH 1/3] CI: Factor set -x --- .github/workflows/build.yml | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ade3acd1..dd442c97 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -16,7 +16,7 @@ concurrency: defaults: run: - shell: bash + shell: bash --noprofile --norc -e -x -o pipefail {0} jobs: build: @@ -180,7 +180,6 @@ jobs: - name: Install Ubuntu Container Dependencies if: ${{ contains(matrix.os, 'ubuntu') && matrix.container != '' && !contains(matrix.container, 'phhargrove') }} run: | - set -x apt update apt install -y build-essential pkg-config make git curl # Add container lfortran to PATH: @@ -193,7 +192,6 @@ jobs: - name: Install macOS Dependencies if: contains(matrix.os, 'macos') run: | - set -x brew update # fpm binary distribution for macOS requires gfortran shared libraries from gcc@12 brew install gcc@12 @@ -201,7 +199,6 @@ jobs: - name: Install LLVM flang on macOS if: contains(matrix.os, 'macos') && matrix.compiler == 'flang' run: | - set -x brew install llvm@${COMPILER_VERSION} flang # workaround issue #228: clang cannot find homebrew flang's C header for p in /opt/homebrew /usr/local $(brew --prefix) ; do find $p/Cellar/flang -name ISO_Fortran_binding.h 2>/dev/null || true ; done @@ -211,7 +208,6 @@ jobs: - name: Setup Compilers run: | - set -x if test "$FC" = "flang" ; then \ echo "FPM_FC=flang-new" >> "$GITHUB_ENV" ; \ elif test "$FC" = "ifx" ; then \ @@ -246,7 +242,6 @@ jobs: - name: Build FPM if: false run: | - set -x export FPM_VERSION=0.12.0 curl --retry 5 -LOsS https://github.com/fortran-lang/fpm/releases/download/v$FPM_VERSION/fpm-$FPM_VERSION.F90 mkdir fpm-temp @@ -255,6 +250,7 @@ jobs: - name: Version info run: | + set +x echo == TOOL VERSIONS == echo Platform version info: uname -a @@ -268,20 +264,17 @@ jobs: - name: Build and Test (Assertions OFF) run: | - set -x fpm test ${FPM_FLAGS} --flag "$FFLAGS" - name: Build and Test (Assertions ON) env: FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DASSERTIONS run: | - set -x fpm test ${FPM_FLAGS} --flag "$FFLAGS" - name: Test w/ Parallel Callbacks env: FPM_FLAGS: ${{ env.FPM_FLAGS }} --flag -DJULIENNE_PARALLEL_CALLBACKS --flag -DTEST_PARALLEL_CALLBACKS run: | - set -x fpm test ${FPM_FLAGS} --flag "$FFLAGS" From f17f676f1039d82187f8e65a81db0076d2f688ad Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Fri, 8 May 2026 20:52:25 -0700 Subject: [PATCH 2/3] CI: Excise superfluous continuations --- .github/workflows/build.yml | 82 ++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 41 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dd442c97..7ab147c5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -158,22 +158,22 @@ jobs: sudo apt-get update sudo apt list -a 'gfortran-*' sudo apt install -y build-essential - if [[ ${COMPILER_VERSION} < 15 ]] ; then \ - sudo apt install -y gfortran-${COMPILER_VERSION} ; \ - else \ - curl -L https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o install-homebrew.sh ; \ - chmod +x install-homebrew.sh ; \ - env CI=1 ./install-homebrew.sh ; \ - HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew" ; \ - ${HOMEBREW_PREFIX}/bin/brew install -v gcc@${COMPILER_VERSION} binutils ; \ - ls -al ${HOMEBREW_PREFIX}/bin ; \ - echo "PATH=${HOMEBREW_PREFIX}/bin:${PATH}" >> "$GITHUB_ENV" ; \ - : Homebrew GCC@15 needs binutils 2.44+ ; \ - HOMEBREW_BINUTILS=$(ls -d ${HOMEBREW_PREFIX}/Cellar/binutils/2.*/bin ) ; \ - ls -al ${HOMEBREW_BINUTILS} ; \ - echo "FFLAGS=$FFLAGS -B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" ; \ - echo "CFLAGS=$CFLAGS -B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" ; \ - echo "CXXFLAGS=$CXXFLAGS -B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" ; \ + if [[ ${COMPILER_VERSION} < 15 ]] ; then + sudo apt install -y gfortran-${COMPILER_VERSION} + else + curl -L https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o install-homebrew.sh + chmod +x install-homebrew.sh + env CI=1 ./install-homebrew.sh + HOMEBREW_PREFIX="/home/linuxbrew/.linuxbrew" + ${HOMEBREW_PREFIX}/bin/brew install -v gcc@${COMPILER_VERSION} binutils + ls -al ${HOMEBREW_PREFIX}/bin + echo "PATH=${HOMEBREW_PREFIX}/bin:${PATH}" >> "$GITHUB_ENV" + : Homebrew GCC@15 needs binutils 2.44+ + HOMEBREW_BINUTILS=$(ls -d ${HOMEBREW_PREFIX}/Cellar/binutils/2.*/bin ) + ls -al ${HOMEBREW_BINUTILS} + echo "FFLAGS=$FFLAGS -B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" + echo "CFLAGS=$CFLAGS -B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" + echo "CXXFLAGS=$CXXFLAGS -B ${HOMEBREW_BINUTILS}" >> "$GITHUB_ENV" fi @@ -183,10 +183,10 @@ jobs: apt update apt install -y build-essential pkg-config make git curl # Add container lfortran to PATH: - if test "$FC" = "lfortran"; then \ - echo "/app/bin" >> "$GITHUB_PATH" ; \ - ls -alh /app/bin ; \ - ls -alh /app/share/lfortran/lib/ ; \ + if test "$FC" = "lfortran"; then + echo "/app/bin" >> "$GITHUB_PATH" + ls -alh /app/bin + ls -alh /app/share/lfortran/lib/ fi - name: Install macOS Dependencies @@ -208,29 +208,29 @@ jobs: - name: Setup Compilers run: | - if test "$FC" = "flang" ; then \ - echo "FPM_FC=flang-new" >> "$GITHUB_ENV" ; \ - elif test "$FC" = "ifx" ; then \ - echo "FPM_FC=ifx" >> "$GITHUB_ENV" ; \ - echo "FFLAGS=-coarray -fpp -g -traceback $FFLAGS" >> "$GITHUB_ENV" ; \ - echo "FOR_COARRAY_NUM_IMAGES=4" >> "$GITHUB_ENV" ; \ - : echo "FOR_COARRAY_DEBUG_STARTUP=1" >> "$GITHUB_ENV" ; \ - : echo "FOR_COARRAY_MPI_VERBOSE=1" >> "$GITHUB_ENV" ; \ - elif test "$FC" = "lfortran" ; then \ - echo "FPM_FC=lfortran" >> "$GITHUB_ENV" ; \ - echo "FFLAGS=--cpp --separate-compilation --realloc-lhs-arrays $FFLAGS" >> "$GITHUB_ENV" ; \ - echo "FPM_FLAGS=--profile debug --verbose" >> "$GITHUB_ENV" ; : fpm 0.13 workaround ; \ - else \ - echo "FPM_FC=gfortran-${COMPILER_VERSION}" >> "$GITHUB_ENV" ; \ - echo "FFLAGS=-ffree-line-length-0 $FFLAGS" >> "$GITHUB_ENV" ; \ + if test "$FC" = "flang" ; then + echo "FPM_FC=flang-new" >> "$GITHUB_ENV" + elif test "$FC" = "ifx" ; then + echo "FPM_FC=ifx" >> "$GITHUB_ENV" + echo "FFLAGS=-coarray -fpp -g -traceback $FFLAGS" >> "$GITHUB_ENV" + echo "FOR_COARRAY_NUM_IMAGES=4" >> "$GITHUB_ENV" + : echo "FOR_COARRAY_DEBUG_STARTUP=1" >> "$GITHUB_ENV" + : echo "FOR_COARRAY_MPI_VERBOSE=1" >> "$GITHUB_ENV" + elif test "$FC" = "lfortran" ; then + echo "FPM_FC=lfortran" >> "$GITHUB_ENV" + echo "FFLAGS=--cpp --separate-compilation --realloc-lhs-arrays $FFLAGS" >> "$GITHUB_ENV" + echo "FPM_FLAGS=--profile debug --verbose" >> "$GITHUB_ENV" ; : fpm 0.13 workaround + else + echo "FPM_FC=gfortran-${COMPILER_VERSION}" >> "$GITHUB_ENV" + echo "FFLAGS=-ffree-line-length-0 $FFLAGS" >> "$GITHUB_ENV" fi - if [[ "${{ matrix.container }}" =~ "snowstep/llvm" ]] ; then \ - echo "LD_LIBRARY_PATH=/usr/lib/llvm-22/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" ; \ + if [[ "${{ matrix.container }}" =~ "snowstep/llvm" ]] ; then + echo "LD_LIBRARY_PATH=/usr/lib/llvm-22/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" fi - if test -n "${{ matrix.error_stop_code }}" ; then \ - echo "ERROR_STOP_CODE=${{ matrix.error_stop_code }}" >> "$GITHUB_ENV" ; \ - else \ - echo "ERROR_STOP_CODE=1" >> "$GITHUB_ENV" ; \ + if test -n "${{ matrix.error_stop_code }}" ; then + echo "ERROR_STOP_CODE=${{ matrix.error_stop_code }}" >> "$GITHUB_ENV" + else + echo "ERROR_STOP_CODE=1" >> "$GITHUB_ENV" fi - name: Setup FPM From 72367b87ba68ddb4262aa1f7f65c74a0b9222352 Mon Sep 17 00:00:00 2001 From: Dan Bonachea Date: Mon, 11 May 2026 14:22:06 -0700 Subject: [PATCH 3/3] CI: Remove unused error_stop_code support --- .github/workflows/build.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7ab147c5..803e51e5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -85,32 +85,27 @@ jobs: - os: ubuntu-24.04 compiler: ifx version: latest - error_stop_code: 128 container: intel/oneapi-toolkit:latest - os: ubuntu-24.04 compiler: ifx version: 2026.0.0 - error_stop_code: 128 container: intel/oneapi-toolkit:2026.0.0-devel-ubuntu24.04 # https://hub.docker.com/r/intel/fortran-essentials/tags - os: ubuntu-24.04 compiler: ifx version: 2025.3.0 - error_stop_code: 128 container: intel/fortran-essentials:2025.3.0-0-devel-ubuntu24.04 - os: ubuntu-24.04 compiler: ifx version: 2025.2.2 - error_stop_code: 128 container: intel/fortran-essentials:2025.2.2-0-devel-ubuntu24.04 - os: ubuntu-24.04 compiler: ifx version: 2025.2.0 - error_stop_code: 128 container: intel/fortran-essentials:2025.2.0-0-devel-ubuntu24.04 # --- LFortran coverage --- @@ -227,11 +222,6 @@ jobs: if [[ "${{ matrix.container }}" =~ "snowstep/llvm" ]] ; then echo "LD_LIBRARY_PATH=/usr/lib/llvm-22/lib:$LD_LIBRARY_PATH" >> "$GITHUB_ENV" fi - if test -n "${{ matrix.error_stop_code }}" ; then - echo "ERROR_STOP_CODE=${{ matrix.error_stop_code }}" >> "$GITHUB_ENV" - else - echo "ERROR_STOP_CODE=1" >> "$GITHUB_ENV" - fi - name: Setup FPM uses: fortran-lang/setup-fpm@main