-
Notifications
You must be signed in to change notification settings - Fork 4
103 lines (91 loc) · 3.36 KB
/
translate.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
name: "pySHiELD Translate test"
on:
workflow_call:
inputs:
fv3_trigger:
type: boolean
default: false
required: false
ndsl_trigger:
type: boolean
default: false
required: false
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
env:
github_repository: ${{github.event.repository.name}}
jobs:
pyshield_translate_tests:
runs-on: ubuntu-latest
container:
image: ghcr.io/noaa-gfdl/miniforge:mpich
steps:
- name: Checkout pyshield for externally triggered workflow
if: ${{inputs.ndsl_trigger || inputs.fv3_trigger}}
uses: actions/checkout@v4
with:
repository: 'noaa-gfdl/PySHiELD'
submodules: 'recursive'
path: PySHiELD
- name: Checkout repository that triggers workflow
uses: actions/checkout@v4
with:
submodules: 'recursive'
path: ${{env.github_repository}}
- name: prep directory for externally triggered workflow
if: ${{inputs.ndsl_trigger || inputs.fv3_trigger}}
run : |
cd ${GITHUB_WORKSPACE}
mv ${{env.github_repository}} PySHiELD/.
- name: Install packages for ndsl_trigger
if : ${{inputs.ndsl_trigger}}
run : |
cd ${GITHUB_WORKSPACE}/PySHiELD/
pip3 install --upgrade pip setuptools wheel
cd NDSL && pip3 install .[test]
cd ../ && pip3 install .[pyFV3,test]
- name: Install packages for pyFV3 trigger
if: ${{inputs.fv3_trigger}}
run: |
cd ${GITHUB_WORKSPACE}/PySHiELD
pip3 install --upgrade pip setuptools wheel
cd PyFV3 && pip3 install .[test]
cd ../ && pip3 install .[ndsl,test]
- name: Install PySHiELD Python packages
if: ${{ !inputs.fv3_trigger && !inputs.ndsl_trigger}}
run: |
cd ${GITHUB_WORKSPACE}/PySHiELD
pip3 install --upgrade pip setuptools wheel
pip3 install .[ndsl,pyFV3,test]
- name: Download data
run: |
cd ${GITHUB_WORKSPACE}/PySHiELD
mkdir -p test_data
cd test_data
wget https://portal.nccs.nasa.gov/datashare/astg/smt/pace-regression-data/8.1.3_c12_6ranks_baroclinic.physics.tar.gz
tar -xzvf 8.1.3_c12_6ranks_baroclinic.physics.tar.gz
- name: Numpy Translate Test
run: |
cd ${GITHUB_WORKSPACE}/PySHiELD
pytest \
-v -s --data_path=./test_data/8.1.3/c12_6ranks_baroclinic/physics \
--backend=numpy \
--threshold_overrides_file=./tests/savepoint/translate/overrides/standard.yaml \
./tests/savepoint
- name: Orchestrated dace:cpu Translate Test
run: |
cd ${GITHUB_WORKSPACE}/PySHiELD
export FV3_DACEMODE=BuildAndRun
export PACE_FLOAT_PRECISION=64
export PACE_TEST_N_THRESHOLD_SAMPLES=0
export OMP_NUM_THREADS=10
export PACE_LOGLEVEL=Debug
pytest \
-vvv -x -s --data_path=./test_data/8.1.3/c12_6ranks_baroclinic/physics \
--backend=dace:cpu \
--threshold_overrides_file=./tests/savepoint/translate/overrides/standard.yaml \
./tests/savepoint