diff --git a/.github/workflows/Intel_Parallelworks_CI.yaml b/.github/workflows/Intel_Parallelworks_CI.yaml index f814b114..4c08d8bf 100644 --- a/.github/workflows/Intel_Parallelworks_CI.yaml +++ b/.github/workflows/Intel_Parallelworks_CI.yaml @@ -1,4 +1,4 @@ -name: Compile SHiELD SOLO and run tests +name: Compile SHiELD and run tests # This GitHub Action Workflow is running on the cloud shieldphysicsciintel cluster # The tests are run inside of a container with the following software/libraries: @@ -30,131 +30,67 @@ jobs: # so this salloc will prompt 46 nodes to startup and stay active for 20 min # this is enough nodes for the first 17 tests to run in parallel, and we # have 17 runners configured. - - run: salloc --partition=p2 -N 46 -J $GITHUB_SHA sleep 20m & - - run: /contrib/fv3/SHiELD_physics_CI/checkout.sh $GITHUB_REF $GITHUB_SHA +# - run: salloc --partition=p2 -N 46 -J $GITHUB_SHA sleep 20m & + - run: /contrib/fv3/SHiELD_physics_CI/checkout.sh -b $GITHUB_REF -h $GITHUB_SHA build: if: github.repository == 'NOAA-GFDL/SHiELD_physics' runs-on: [shieldphysicsciintel] - name: SOLO SHiELD build + name: SHiELD build needs: [checkout] strategy: fail-fast: true - max-parallel: 3 - matrix: - runpath: [/contrib/fv3/SHiELD_physics_CI/] - runscript: [swcompile.sh, nhcompile.sh, hydrocompile.sh] - steps: - - env: - RUNPATH: ${{ matrix.runpath }} - RUNSCRIPT: ${{ matrix.runscript }} - run: $RUNPATH/$RUNSCRIPT $GITHUB_REF $GITHUB_SHA - - test: - if: github.repository == 'NOAA-GFDL/SHiELD_physics' - runs-on: [shieldphysicsciintel] - name: SOLO SHiELD test suite - needs: [checkout, build] - strategy: - fail-fast: false max-parallel: 17 matrix: - runpath: [/contrib/fv3/SHiELD_physics_CI/] - runscript: - # These are placed in order of largest to smallest jobs - #layout 8,8 needs 8 nodes on dvcimultiintel cluster - - C512r20.solo.superC.sh - - C768.sw.BTwave.sh - #layout 4,8 needs 4 nodes on dvcimultiintel cluster - - C256r20.solo.superC.sh - - C384.sw.BLvortex.sh - #layout 4,4 needs 2 nodes on dvcimultiintel cluster - - C128r20.solo.superC.sh - - C128r3.solo.TC.d1.sh - - C128r3.solo.TC.h6.sh - - C128r3.solo.TC.sh - - C128r3.solo.TC.tr8.sh - - C192.sw.BLvortex.sh - - C192.sw.BTwave.sh - - C192.sw.modon.sh - - C384.sw.BTwave.sh - #layout 4,1 and 2,2 need 1 node on dvcimultiintel cluster - - C96.solo.BCdry.hyd.sh - - C96.solo.BCdry.sh - - C96.solo.BCmoist.hyd.d3.sh - - C96.solo.BCmoist.hyd.sh - - C96.solo.BCmoist.nhK.sh - - C96.solo.BCmoist.sh - - C96.solo.mtn_rest.hyd.diff2.sh - - C96.solo.mtn_rest.hyd.sh - - C96.solo.mtn_rest.nonmono.diff2.sh - - C96.solo.mtn_rest.sh - - C96.sw.BLvortex.sh - - C96.sw.BTwave.sh - - C96.sw.modon.sh - - C96.sw.RHwave.sh - - d96_1k.solo.mtn_rest_shear.olddamp.sh - - d96_1k.solo.mtn_rest_shear.sh - - d96_1k.solo.mtn_schar.mono.sh - - d96_1k.solo.mtn_schar.sh - - d96_2k.solo.bubble.n0.sh - - d96_2k.solo.bubble.nhK.sh - - d96_2k.solo.bubble.sh - - d96_500m.solo.mtn_schar.sh + runscript: [/contrib/fv3/SHiELD_physics_CI/compile.sh] + config: [shield] + hydro: [nh] + bit: [32bit] + mode: [repro] steps: - # This will end the slurm job started in the checkout job - - run: scancel -n $GITHUB_SHA - env: - RUNPATH: ${{ matrix.runpath }} RUNSCRIPT: ${{ matrix.runscript }} - run: $RUNPATH/$RUNSCRIPT $GITHUB_REF $GITHUB_SHA - shutdown: - if: always() && github.repository == 'NOAA-GFDL/SHiELD_physics' - runs-on: [shieldphysicsciintel] - name: Shutdown Processes - needs: [checkout, build, test] - strategy: - fail-fast: false - max-parallel: 17 - matrix: - test: - - C512r20.solo.superC - - C768.sw.BTwave - - C256r20.solo.superC - - C384.sw.BLvortex - - C128r20.solo.superC - - C128r3.solo.TC.d1 - - C128r3.solo.TC.h6 - - C128r3.solo.TC - - C128r3.solo.TC.tr8 - - C192.sw.BLvortex - - C192.sw.BTwave - - C192.sw.modon - - C384.sw.BTwave - - C96.solo.BCdry.hyd - - C96.solo.BCdry - - C96.solo.BCmoist.hyd.d3 - - C96.solo.BCmoist.hyd - - C96.solo.BCmoist.nhK - - C96.solo.BCmoist - - C96.solo.mtn_rest.hyd.diff2 - - C96.solo.mtn_rest.hyd - - C96.solo.mtn_rest.nonmono.diff2 - - C96.solo.mtn_rest - - C96.sw.BLvortex - - C96.sw.BTwave - - C96.sw.modon - - C96.sw.RHwave - - d96_1k.solo.mtn_rest_shear.olddamp - - d96_1k.solo.mtn_rest_shear - - d96_1k.solo.mtn_schar.mono - - d96_1k.solo.mtn_schar - - d96_2k.solo.bubble.n0 - - d96_2k.solo.bubble.nhK - - d96_2k.solo.bubble - - d96_500m.solo.mtn_schar - steps: - - run: scancel -n $GITHUB_SHA - - env: - JOB: ${{ github.sha }}_${{ matrix.test }} - run: scancel -n $JOB + CONFIG: ${{ matrix.config }} + HYDRO: ${{ matrix.hydro }} + BIT: ${{ matrix.bit }} + MODE: ${{ matrix.mode }} + run: $RUNSCRIPT -b $GITHUB_REF -h $GITHUB_SHA -c $CONFIG --hydro $HYDRO --bit $BIT -m $MODE + +# test: +# if: github.repository == 'NOAA-GFDL/SHiELD_physics' +# runs-on: [shieldphysicsciintel] +# name: SHiELD test suite +# needs: [checkout, build] +# strategy: +# fail-fast: false +# max-parallel: 17 +# matrix: +# runscript: [/contrib/fv3/SHiELD_physics_CI/run_test.sh] +# argument: +# - test1 +# - test2 +# steps: +# # This will end the slurm job started in the checkout job +# - run: scancel -n $GITHUB_SHA +# - env: +# RUNSCRIPT: ${{ matrix.runscript }} +# ARG1: ${{ matrix.argument }} +# run: $RUNSCRIPT -t $ARG1 -b $GITHUB_REF -h $GITHUB_SHA +# shutdown: +# if: always() && github.repository == 'NOAA-GFDL/SHiELD_physics' +# runs-on: [shieldphysicsciintel] +# name: Shutdown Processes +# needs: [checkout, build, test] +# needs: [checkout, build] +# strategy: +# fail-fast: false +# max-parallel: 17 +# matrix: +# test: +# - test2 +# - test2 +# steps: +# - run: scancel -n $GITHUB_SHA +# - env: +# JOB: ${{ github.sha }}_${{ matrix.test }} +# run: scancel -n $JOB