Containerized CI and reusable workflow implementation #91
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: "Translate test (subset)" | |
on: | |
push: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] | |
# cancel running jobs if theres a newer push | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
all_tests: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/noaa-gfdl/miniforge:mpich | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Install Python packages | |
run: | | |
python -m pip install --upgrade pip setuptools wheel | |
pip install .[ndsl,test] | |
- name: Prepare test_data | |
run: | | |
mkdir -p test_data && cd test_data | |
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6ranks_standard.tar.gz | |
tar -xzvf 8.1.3_c12_6ranks_standard.tar.gz --no-same-owner | |
cd .. | |
- name: Numpy FvTp2d | |
run: | | |
pytest \ | |
-v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | |
--backend=numpy \ | |
--which_modules=FvTp2d \ | |
--threshold_overrides_file=./tests/savepoint/translate/overrides/standard.yaml \ | |
./tests/savepoint | |
- name: Numpy D_SW | |
run: | | |
pytest \ | |
-v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | |
--backend=numpy \ | |
--which_modules=D_SW \ | |
--threshold_overrides_file=./tests/savepoint/translate/overrides/standard.yaml \ | |
./tests/savepoint | |
- name: Numpy Remapping | |
run: | | |
pytest \ | |
-v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | |
--backend=numpy \ | |
--which_modules=Remapping \ | |
--threshold_overrides_file=./tests/savepoint/translate/overrides/standard.yaml \ | |
./tests/savepoint | |
- name: Orchestrated dace-cpu Acoustics | |
run: | | |
export FV3_DACEMODE=BuildAndRun | |
export PACE_FLOAT_PRECISION=64 | |
export PACE_TEST_N_THRESHOLD_SAMPLES=0 | |
export OMP_NUM_THREADS=1 | |
export PACE_LOGLEVEL=Debug | |
mpiexec -mca orte_abort_on_non_zero_status 1 -np 6 --oversubscribe pytest \ | |
-v -s --data_path=./test_data/8.1.3/c12_6ranks_standard/dycore \ | |
--backend=dace:cpu \ | |
-m parallel \ | |
--which_rank=0 \ | |
--which_modules=DynCore \ | |
--threshold_overrides_file=./tests/savepoint/translate/overrides/standard.yaml \ | |
./tests/savepoint |