Test Ninja Builds of GCM in CI #4870
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
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 |