Skip to content

Test Ninja Builds of GCM in CI #4870

Test Ninja Builds of GCM in CI

Test Ninja Builds of GCM in CI #4870

Workflow file for this run

name: Build Tests
on:
pull_request:
types: [opened, synchronize, reopened]
# 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"
jobs:
check-ford-docs:
name: Build Ford Docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- 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
token: ${{ secrets.GITHUB_TOKEN }}
build_test_mapl:
name: Build and Test MAPL GNU
runs-on: ubuntu-latest
container:
image: gmao/ubuntu20-geos-env-mkl:v7.27.0-openmpi_5.0.5-gcc_14.2.0
# Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495
# It seems like we might not need secrets on GitHub Actions which is good for forked
# pull requests
#credentials:
#username: ${{ secrets.DOCKERHUB_USERNAME }}
#password: ${{ secrets.DOCKERHUB_TOKEN }}
env:
OMPI_ALLOW_RUN_AS_ROOT: 1
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1
OMPI_MCA_btl_vader_single_copy_mechanism: none
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set all directories as git safe
run: |
git config --global --add safe.directory '*'
- name: Versions etc.
run: |
gfortran --version
mpirun --version
echo $BASEDIR
- name: Mepo clone external repos
run: |
mepo init
mepo clone
mepo status
- name: CMake
run: |
mkdir build
cd build
cmake .. -DBASEDIR=$BASEDIR/Linux -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS='--oversubscribe'
- name: Build
run: |
cd build
make -j4 install
- name: Run MAPL unit tests
run: |
cd build
make -j4 build-tests
ctest -L 'ESSENTIAL' --output-on-failure
build_test_mapl_intel:
name: Build and Test MAPL Intel
runs-on: ubuntu-latest
container:
image: gmao/ubuntu20-geos-env:v7.27.0-intelmpi_2021.13-ifort_2021.13
# Per https://github.com/actions/virtual-environments/issues/1445#issuecomment-713861495
# It seems like we might not need secrets on GitHub Actions which is good for forked
# pull requests
#credentials:
#username: ${{ secrets.DOCKERHUB_USERNAME }}
#password: ${{ secrets.DOCKERHUB_TOKEN }}
steps:
- name: Cancel Previous Runs
uses: styfle/[email protected]
with:
access_token: ${{ github.token }}
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set all directories as git safe
run: |
git config --global --add safe.directory '*'
- name: Versions etc.
run: |
ifort --version
mpirun --version
echo $BASEDIR
- name: Mepo clone external repos
run: |
mepo init
mepo clone
mepo status
- name: CMake
run: |
mkdir build
cd build
cmake .. -DBASEDIR=$BASEDIR/Linux -DCMAKE_Fortran_COMPILER=ifort -DCMAKE_BUILD_TYPE=Debug
- name: Build
run: |
cd build
make -j4 install
- name: Run MAPL unit tests
run: |
cd build
make -j4 build-tests
ctest -L 'ESSENTIAL' --output-on-failure