Workaround for Cray compiler bug involving NULL()
intrinsic
#938
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) | |
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} || cat config.log | |
- 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" || 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' }} |