Skip to content

fixes for cmake 32/64bit builds and enable CI testing via ctest #1370

fixes for cmake 32/64bit builds and enable CI testing via ctest

fixes for cmake 32/64bit builds and enable CI testing via ctest #1370

name: Build libFMS with cmake
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:
libyaml-flag: [ "", -DWITH_YAML=on ]
build-type: [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_BUILD_TYPE=Debug" ]
container:
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0
env:
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.libyaml-flag }}"
EXCLUDE_TESTS: "test_mpp_nesting"
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Generate makefiles with CMake
run: |
mkdir build
cd build
cmake $CMAKE_FLAGS -DOPENMP=on -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view ..
- name: Build the library
run: make -C build
- name: Run the unit tests
run: cd build && ctest -E "${EXCLUDE_TESTS}" --output-on-failure
build_arm:
runs-on: ubuntu-24.04-arm
strategy:
matrix:
libyaml-flag: [ "", -DWITH_YAML=on ]
build-type: [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_BUILD_TYPE=Debug" ]
container:
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0-arm
env:
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.libyaml-flag }}"
EXCLUDE_TESTS: ${{ matrix.build-type == '-DCMAKE_BUILD_TYPE=Release' && 'test_mpp_nesting|test_sat_vapor_pres' || 'test_mpp_nesting' }}
steps:
- name: Checkout code
uses: actions/[email protected]
- name: Generate makefiles with CMake
run: |
mkdir build
cd build
cmake $CMAKE_FLAGS -DOPENMP=on -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view ..
- name: Build the library
run: make -C build
- name: Run the unit tests
run: cd build && ctest -E "${EXCLUDE_TESTS}" --output-on-failure