add debug flags to GNU CI and fix remaining failures #984
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 'main' required ci, does a distcheck (builds, tests, check install) | |
# image created off dockerfile in repo, compile/link flags are set there | |
name: Build libFMS test with autotools | |
on: [push, pull_request] | |
# cancel running jobs if theres a newer push | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
conf-flag: [ --disable-openmp, --disable-setting-flags, --with-mpi=no, --disable-r8-default] | |
input-flag: [--with-yaml, --enable-test-input=/home/unit_tests_input] | |
exclude: | |
- conf-flag: --with-mpi=no | |
input-flag: --enable-test-input=/home/unit_tests_input | |
container: | |
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0 | |
env: | |
TEST_VERBOSE: 1 | |
DISTCHECK_CONFIGURE_FLAGS: "${{ matrix.conf-flag }} ${{ matrix.input-flag }} ${{ matrix.io-flag }}" | |
SKIP_TESTS: "test_horiz_interp2.[23-24]" # TODO (couldn't reproduce outside CI) | |
DEBUG_FLAGS: "-O0 -g -fbounds-check -ffpe-trap=invalid,zero,overflow" # debug compiler flags taken from the mkmf template | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Prepare GNU autoconf for build | |
run: autoreconf -if | |
- name: Configure the build | |
if: ${{ matrix.conf-flag != '--disable-setting-flags' }} | |
run: ./configure ${DISTCHECK_CONFIGURE_FLAGS} FCFLAGS="$FCFLAGS $DEBUG_FLAGS" | |
- name: Configure the build with compiler flags | |
if: ${{ matrix.conf-flag == '--disable-setting-flags' }} | |
run: ./configure ${DISTCHECK_CONFIGURE_FLAGS} FCFLAGS="-fdefault-real-8 -fdefault-double-8 -fcray-pointer -ffree-line-length-none -I/usr/include $FCFLAGS $DEBUG_FLAGS" || cat config.log | |
- name: Build the library | |
run: make distcheck | |
if: ${{ matrix.conf-flag != '--with-mpi=no' }} | |
- name: Build the library (without test suite for serial build) | |
run: make | |
if: ${{ matrix.conf-flag == '--with-mpi=no' }} |