Update general-ci-tests.yml #35
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" ] | |
jobs: | |
# This workflow contains 4 jobs | |
# Build checks out MOM through the CESM and lets us run the standalone version | |
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, Build MOM Standalone | |
- 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: Handle 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: Handle Push | |
if: ${{ github.event_name == 'push' }} | |
run: | | |
echo "Handling push" | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/ | |
git checkout ${{ github.sha }} | |
- name: Build Standalone MOM | |
run: | | |
cd $GITHUB_WORKSPACE/cesm3_0_alpha03a/components/mom/standalone/build | |
./build_examples-darwin.sh | |
- name: Setup upterm session | |
uses: lhotari/action-upterm@v1 | |
if: ${{ failure() }} | |
with: | |
## If no one connects after 5 minutes, shut down server. | |
wait-timeout-minutes: 5 | |
# 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: Setup upterm session | |
uses: lhotari/action-upterm@v1 | |
if: ${{ failure() }} | |
with: | |
## If no one connects after 5 minutes, shut down server. | |
wait-timeout-minutes: 5 | |
- 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 test | |
check_default_params_job: | |
runs-on: ubuntu-latest | |
# This runs the check_default_params test | |
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 | |
check_black_format_for_cime_config: | |
runs-on: ubuntu-latest | |
# This performs black formatting checks in the cime_config folder | |
steps: | |
# Checkout the repo | |
- uses: actions/checkout@v4 | |
# Run black check | |
- uses: psf/black@stable | |
with: | |
options: "--check --verbose" | |
src: "./cime_config" | |