Skip to content

Rename internal modules to mapl_<Name>_mod and enforce gridcomps use MAPL umbrella (#4958/#4959) #7456

Rename internal modules to mapl_<Name>_mod and enforce gridcomps use MAPL umbrella (#4958/#4959)

Rename internal modules to mapl_<Name>_mod and enforce gridcomps use MAPL umbrella (#4958/#4959) #7456

Workflow file for this run

name: Build Tests
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
# Do not run if the only files changed cannot affect the build
paths-ignore:
- "**.md"
- "**.json"
- "Python/**"
- ".github/CODEOWNERS"
- ".github/PULL_REQUEST_TEMPLATE.md"
- ".editorconfig"
concurrency:
# For PRs: one slot per PR number.
# For non-PR events (schedule, workflow_dispatch): one slot per ref.
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
check-ford-docs:
name: Build Ford Docs
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
filter: blob:none
- name: Build and Deploy Docs
uses: ./.github/actions/deploy-ford-docs
with:
# Due to a bug in ford, for now we do *not* want to use
# the full path to the ford input file. Rather, the
# action will cd into docs/Ford and then run ford
# relative path to the ford input file.
ford-input: ford-ci.md
doc-folder: docs/Ford/ci-doc
deploy-token: ${{ secrets.DOCS_DEPLOY_PAT }}
#####################################################################################
# build_test_mapl_gnu: #
# name: gfortran / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} #
# if: github.event.pull_request.draft == false #
# runs-on: ubuntu-latest #
# container: #
# image: gmao/ubuntu24-geos-env-mkl:v8.27.0-openmpi_5.0.5-gcc_14.2.0 #
# strategy: #
# fail-fast: false #
# matrix: #
# cmake-build-type: [Debug, Release] #
# cmake-generator: [Unix Makefiles] #
# env: #
# OMPI_ALLOW_RUN_AS_ROOT: 1 #
# OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 #
# OMPI_MCA_btl_vader_single_copy_mechanism: none #
# steps: #
# - name: Checkout #
# uses: actions/checkout@v6 #
# with: #
# fetch-depth: 1 #
# filter: blob:none #
# #
# - name: Build and Test MAPL #
# uses: ./.github/actions/ci-build-and-test-mapl #
# with: #
# cmake-build-type: ${{ matrix.cmake-build-type }} #
# cmake-generator: ${{ matrix.cmake-generator }} #
# fortran-compiler: gfortran #
# extra-cmake-args: -DMPIEXEC_PREFLAGS='--oversubscribe' #
#####################################################################################
build_test_mapl_gnu15:
name: gfortran-15 / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
container:
image: gmao/ubuntu24-geos-env-mkl:v8.27.0-openmpi_5.0.5-gcc_15.2.0
strategy:
fail-fast: false
matrix:
cmake-build-type: [Debug, Release]
cmake-generator: [Unix Makefiles]
env:
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
OMPI_MCA_btl_vader_single_copy_mechanism: none
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 1
filter: blob:none
- name: Build and Test MAPL
uses: ./.github/actions/ci-build-and-test-mapl
with:
cmake-build-type: ${{ matrix.cmake-build-type }}
cmake-generator: ${{ matrix.cmake-generator }}
fortran-compiler: gfortran
extra-cmake-args: -DMPIEXEC_PREFLAGS='--oversubscribe'
build_test_mapl_ifort:
name: ifort / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
container:
image: gmao/ubuntu24-geos-env:v8.27.0-intelmpi_2021.13-ifort_2021.13
strategy:
fail-fast: false
matrix:
cmake-build-type: [Debug, Release]
cmake-generator: [Unix Makefiles, Ninja]
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 1
filter: blob:none
- name: Build and Test MAPL
uses: ./.github/actions/ci-build-and-test-mapl
with:
cmake-build-type: ${{ matrix.cmake-build-type }}
cmake-generator: ${{ matrix.cmake-generator }}
fortran-compiler: ifort
build_test_mapl_ifx:
name: ifx / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
container:
image: gmao/ubuntu24-geos-env:v8.27.0-intelmpi_2021.17-ifx_2025.3
strategy:
fail-fast: false
matrix:
cmake-build-type: [Debug, Release]
cmake-generator: [Unix Makefiles]
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 1
filter: blob:none
- name: Build and Test MAPL
uses: ./.github/actions/ci-build-and-test-mapl
with:
cmake-build-type: ${{ matrix.cmake-build-type }}
cmake-generator: ${{ matrix.cmake-generator }}
fortran-compiler: ifx
build_test_mapl_ifort_no_optional:
name: ifort / Debug / no pFlogger+fArgParse+pFUnit
if: github.event.pull_request.draft == false
runs-on: ubuntu-latest
container:
image: gmao/ubuntu24-geos-env:v8.27.0-intelmpi_2021.13-ifort_2021.13
steps:
- name: Checkout
uses: actions/checkout@v6
with:
fetch-depth: 1
filter: blob:none
- name: Build MAPL without optional packages
uses: ./.github/actions/ci-build-and-test-mapl
with:
cmake-build-type: Debug
cmake-generator: Unix Makefiles
fortran-compiler: ifort
extra-cmake-args: -DBUILD_WITH_PFLOGGER=OFF -DBUILD_WITH_FARGPARSE=OFF -DBUILD_WITH_PFUNIT=OFF
skip-tests: "true"
build_gcm:
if: github.event.pull_request.draft == false
strategy:
fail-fast: false
matrix:
compiler: [ifort, ifx, gfortran-14, gfortran-15]
build-type: [Debug]
uses: GEOS-ESM/CI-workflows/.github/workflows/geosgcm_build_tests.yml@project/geosgcm
with:
compiler: ${{ matrix.compiler }}
cmake-build-type: ${{ matrix.build-type }}
fixture-repo: GEOS-ESM/GEOSgcm
fixture-ref: release/MAPL-v3
run-mepo-develop: false