Test CI: check_standalone_mom_build #39
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: General MOM_interface CI | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the listed branches | |
push: | |
branches: ["138-set-up-github-actions-ci-testing" ] | |
pull_request: | |
branches: [ "138-set-up-github-actions-ci-testing" ] | |
# This workflow contains 3 tests: | |
# 1. Does standalone mom build and run? | |
# 2. Does it pass the tests/check_default_params.py test? | |
# 3. Do the scripts in cime_config pass the black formatter? | |
jobs: | |
check_standalone_mom_lightweight_examples: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Copied from NCAR/MOM6 - Install Basic Build Packages for MOM6 | |
- name: Install Ubuntu Linux packages | |
shell: bash | |
run: | | |
echo "::group::Install linux packages" | |
sudo apt-get update | |
sudo apt-get install netcdf-bin | |
sudo apt-get install libnetcdf-dev | |
sudo apt-get install libnetcdff-dev | |
sudo apt-get install openmpi-bin | |
sudo apt-get install libopenmpi-dev | |
sudo apt-get install linux-tools-common | |
sudo apt-get install -y csh | |
echo "::endgroup::" | |
# Checkout CESM and externals | |
- name: Checkout CESM and Externals | |
run: | | |
git clone https://github.com/ESCOMP/CESM.git -b cesm3_0_alpha03a cesm3_0_alpha03a | |
cd cesm3_0_alpha03a | |
./bin/git-fleximod update | |
# Checkout the correct MOM Branch | |
- name: Checkout initial event (Pull Request) | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
echo "Handling pull request" | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/ | |
git fetch origin pull/${{ github.event.pull_request.number }}/head:pr-${{ github.event.pull_request.number }} | |
git checkout pr-${{ github.event.pull_request.number }} | |
- name: Checkout initial event (Push) | |
if: ${{ github.event_name == 'push' }} | |
run: | | |
echo "Handling push" | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/ | |
git checkout ${{ github.sha }} | |
# Build the standalone mom using the macos script. build_examples-ncar doesn't work. | |
- name: Build Standalone MOM | |
run: | | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/standalone/build | |
./build_examples-darwin.sh | |
# CDs into a couple MOM examples and runs MOM in them. These are very light weight. | |
- name: Run Double Gyre Test | |
run: | | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/standalone/examples/double_gyre | |
$GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/standalone/build/gnu/MOM6/MOM6 | |
- name: Run Single Column KPP Test | |
run: | | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/standalone/examples/single_column/KPP | |
$GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/standalone/build/gnu/MOM6/MOM6 | |
# Job to run the check_default_params script, which is a test in and of it self | |
check_default_params: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repo | |
- uses: actions/checkout@v4 | |
# Runs the test | |
- name: Run the check_default_params script | |
run: python tests/check_default_params.py | |
# Job to run the black formatter for cime_config, see black documentation for more info | |
check_black_format_for_cime_config: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repo | |
- uses: actions/checkout@v4 | |
# Run black check | |
- uses: psf/black@stable | |
with: | |
options: "--check --verbose" | |
src: "./cime_config" | |