Add final job to remove all-tests label if used #118
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: Regression Suite | ||
run-name : ${{ github.event_name == 'push' && 'CI' || github.event.label.name }} (${{ github.event_name }}) | ||
on: | ||
push: | ||
branches: [ master ] | ||
pull_request: | ||
types: [ labeled ] | ||
# Write our tests out this way for easier legibility | ||
# testsSet : | ||
# - key : value | ||
# key : value | ||
# tests : | ||
# - value | ||
# - value | ||
# - < next test > | ||
# Specify accounts specific to each HPC resource | ||
# https://stackoverflow.com/a/68940067 | ||
jobs: | ||
buildtests: | ||
if : ${{ github.event.label.name == 'compile-tests' || github.event.label.name == 'all-tests' || github.event_name == 'push' }} | ||
strategy: | ||
max-parallel: 4 | ||
fail-fast: false | ||
matrix: | ||
testSet : | ||
# - host : mmm-mystic | ||
# archive : /home/aislas/github/wrf/logs/ | ||
# account : NMMM0012 | ||
# name : "Compilation Tests" | ||
# fileroot : wrf_arw_tests | ||
# pool : 2 | ||
# tpool : 4 | ||
# mkdirs : true | ||
# tests : | ||
# - make-gnu | ||
# - make-gnu-mpi | ||
# - host : mmm-mystic | ||
# archive : /home/aislas/github/wrf/logs/ | ||
# account : NMMM0012 | ||
# name : "Compilation Tests" | ||
# fileroot : wrf_arw_tests | ||
# pool : 2 | ||
# tpool : 4 | ||
# mkdirs : false | ||
# tests : | ||
# - cmake-gnu | ||
# - cmake-gnu-mpi | ||
- host : derecho | ||
archive : /glade/work/aislas/github/runners/wrf/derecho/logs/ | ||
account : NMMM0012 | ||
name : "Make Compilation Tests" | ||
id : make-tests | ||
fileroot : wrf_arw_tests | ||
args : -j='{"node_select":{"-l ":{"select":1}}}' | ||
pool : 8 | ||
tpool : 1 | ||
mkdirs : true | ||
tests : | ||
- make-gnu | ||
- make-gnu-mpi | ||
- make-intel | ||
- make-intel-mpi | ||
- make-intel-llvm | ||
- make-intel-llvm-mpi | ||
- make-pgi | ||
- make-pgi-mpi | ||
- host : derecho | ||
archive : /glade/work/aislas/github/runners/wrf/derecho/logs/ | ||
account : NMMM0012 | ||
name : "CMake Compilation Tests" | ||
id : cmake-tests | ||
fileroot : wrf_arw_tests | ||
args : -j='{"node_select":{"-l ":{"select":1}}}' | ||
pool : 8 | ||
tpool : 1 | ||
mkdirs : false | ||
tests : | ||
- cmake-gnu | ||
- cmake-gnu-mpi | ||
- cmake-intel | ||
- cmake-intel-mpi | ||
- cmake-intel-llvm | ||
- cmake-intel-llvm-mpi | ||
- cmake-pgi | ||
- cmake-pgi-mpi | ||
uses : ./.github/workflows/wrf_test.yml | ||
with : | ||
label : compile-tests | ||
archive : ${{ matrix.testSet.archive }} | ||
name : ${{ matrix.testSet.name }} | ||
id : ${{ matrix.testSet.id }} | ||
host : ${{ matrix.testSet.host }} | ||
fileroot : ${{ matrix.testSet.fileroot }} | ||
account : ${{ matrix.testSet.account }} | ||
tests : ${{ toJson( matrix.testSet.tests ) }} | ||
mkdirs : ${{ matrix.testSet.mkdirs }} | ||
args : ${{ matrix.testSet.args }} | ||
pool : ${{ matrix.testSet.pool }} | ||
tpool : ${{ matrix.testSet.tpool }} | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
name : Test ${{ matrix.testSet.name }} on ${{ matrix.testSet.host }} | ||
realtests: | ||
if : ${{ github.event.label.name == 'em_real-tests' || github.event.label.name == 'all-tests' || github.event_name == 'push' }} | ||
strategy: | ||
max-parallel: 4 | ||
fail-fast: false | ||
matrix: | ||
testSet : | ||
- host : derecho | ||
archive : /glade/work/aislas/github/runners/wrf/derecho/logs/ | ||
account : NMMM0012 | ||
name : "em_real 0-3, A-E Tests" | ||
id : em_real_0-3A-E-tests | ||
fileroot : wrf_em_real_tests | ||
args : -j='{"node_select":{"-l ":{"select":1}}}' | ||
pool : 9 | ||
tpool : 4 | ||
mkdirs : true | ||
tests : | ||
- em_real0 | ||
- em_real1 | ||
- em_real2 | ||
- em_real3 | ||
- em_realA | ||
- em_realB | ||
- em_realC | ||
- em_realD | ||
- em_realE | ||
- host : derecho | ||
archive : /glade/work/aislas/github/runners/wrf/derecho/logs/ | ||
account : NMMM0012 | ||
name : "em_real G-L Tests" | ||
id : em_real_G-L-tests | ||
fileroot : wrf_em_real_tests | ||
args : -j='{"node_select":{"-l ":{"select":1}}}' | ||
pool : 9 | ||
tpool : 4 | ||
mkdirs : true | ||
tests : | ||
- em_realF | ||
- em_realG | ||
- em_realH | ||
- em_realI | ||
- em_realJ | ||
- em_realK | ||
- em_realL0 | ||
- em_realL1 | ||
- em_realL2 | ||
uses : ./.github/workflows/wrf_test.yml | ||
with : | ||
label : em_real-tests | ||
archive : ${{ matrix.testSet.archive }} | ||
name : ${{ matrix.testSet.name }} | ||
id : ${{ matrix.testSet.id }} | ||
host : ${{ matrix.testSet.host }} | ||
fileroot : ${{ matrix.testSet.fileroot }} | ||
account : ${{ matrix.testSet.account }} | ||
tests : ${{ toJson( matrix.testSet.tests ) }} | ||
mkdirs : ${{ matrix.testSet.mkdirs }} | ||
args : ${{ matrix.testSet.args }} | ||
pool : ${{ matrix.testSet.pool }} | ||
tpool : ${{ matrix.testSet.tpool }} | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
name : Test ${{ matrix.testSet.name }} on ${{ matrix.testSet.host }} | ||
idealtests: | ||
if : ${{ github.event.label.name == 'em_ideal-tests' || github.event.label.name == 'all-tests' || github.event_name == 'push' }} | ||
strategy: | ||
max-parallel: 4 | ||
fail-fast: false | ||
matrix: | ||
testSet : | ||
- host : derecho | ||
archive : /glade/work/aislas/github/runners/wrf/derecho/logs/ | ||
account : NMMM0012 | ||
name : "em_ideal Tests" | ||
id : em_ideal-tests | ||
fileroot : wrf_em_ideal_tests | ||
args : -j='{"node_select":{"-l ":{"select":1}}}' | ||
pool : 5 | ||
tpool : 4 | ||
mkdirs : true | ||
tests : | ||
- em_b_wave | ||
- em_hill2d_x | ||
- em_quarter_ss_real8 | ||
# Both commented out for failing LFN differences | ||
- em_fire | ||
- em_quarter_ss | ||
uses : ./.github/workflows/wrf_test.yml | ||
with : | ||
label : em_ideal-tests | ||
archive : ${{ matrix.testSet.archive }} | ||
name : ${{ matrix.testSet.name }} | ||
id : ${{ matrix.testSet.id }} | ||
host : ${{ matrix.testSet.host }} | ||
fileroot : ${{ matrix.testSet.fileroot }} | ||
account : ${{ matrix.testSet.account }} | ||
tests : ${{ toJson( matrix.testSet.tests ) }} | ||
mkdirs : ${{ matrix.testSet.mkdirs }} | ||
args : ${{ matrix.testSet.args }} | ||
pool : ${{ matrix.testSet.pool }} | ||
tpool : ${{ matrix.testSet.tpool }} | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
name : Test ${{ matrix.testSet.name }} on ${{ matrix.testSet.host }} | ||
chemtests: | ||
if : ${{ github.event.label.name == 'em_chem-tests' || github.event.label.name == 'all-tests' || github.event_name == 'push' }} | ||
strategy: | ||
max-parallel: 4 | ||
fail-fast: false | ||
matrix: | ||
testSet : | ||
- host : derecho | ||
archive : /glade/work/aislas/github/runners/wrf/derecho/logs/ | ||
account : NMMM0012 | ||
name : "em_chem Tests" | ||
id : em_chem-tests | ||
fileroot : wrf_em_chem_tests | ||
args : -j='{"node_select":{"-l ":{"select":1}}}' | ||
pool : 9 | ||
tpool : 4 | ||
mkdirs : true | ||
tests : | ||
- em_chem | ||
- em_chem_kpp | ||
uses : ./.github/workflows/wrf_test.yml | ||
with : | ||
label : em_chem-tests | ||
archive : ${{ matrix.testSet.archive }} | ||
name : ${{ matrix.testSet.name }} | ||
id : ${{ matrix.testSet.id }} | ||
host : ${{ matrix.testSet.host }} | ||
fileroot : ${{ matrix.testSet.fileroot }} | ||
account : ${{ matrix.testSet.account }} | ||
tests : ${{ toJson( matrix.testSet.tests ) }} | ||
mkdirs : ${{ matrix.testSet.mkdirs }} | ||
args : ${{ matrix.testSet.args }} | ||
pool : ${{ matrix.testSet.pool }} | ||
tpool : ${{ matrix.testSet.tpool }} | ||
permissions: | ||
contents: read | ||
pull-requests: write | ||
name : Test ${{ matrix.testSet.name }} on ${{ matrix.testSet.host }} | ||
removeAllLabel : | ||
if : ${{ !cancelled() && github.event.label.name == 'all-tests' }} | ||
name : Remove 'all-tests' label | ||
needs : [ buildtests, realtests, idealtests, chemtests ] | ||
steps: | ||
- name : Remove '${{ github.event.label.name }}' label | ||
env: | ||
PR_NUMBER: ${{ github.event.number }} | ||
run: | | ||
curl \ | ||
-X DELETE \ | ||
-H "Accept: application/vnd.github.v3+json" \ | ||
-H 'Authorization: token ${{ github.token }}' \ | ||
https://api.github.com/repos/${GITHUB_REPOSITORY}/issues/${PR_NUMBER}/labels/${{ github.event.label.name }} | ||