5
5
pull_request :
6
6
branches : [ master ]
7
7
types : [opened, synchronize, ready_for_review, reopened]
8
- paths :
9
- - components/eamxx/**
10
- - components/eam/src/physics/rrtmgp/**
11
- - components/eam/src/physics/p3/scream/**
12
- - components/eam/src/physics/cam/**
13
- - .github/workflows/eamxx-standalone-testing.yml
14
- - externals/ekat/**
15
- - externals/scorpio/**
16
- - externals/haero/**
17
- - externals/YAKL/**
18
- - components/eam/src/physics/rrtmgp/external/**
19
8
20
9
# Manual run is used to bless
21
10
workflow_dispatch :
48
37
submit : ${{ github.event_name == 'schedule' && 'true' || 'false' }} # Submit to cdash only for nightlies
49
38
50
39
jobs :
40
+ pr_relevant :
41
+ runs-on : ubuntu-latest # This job can run anywhere
42
+ outputs :
43
+ value : ${{ steps.check_paths.outputs.touched }}
44
+ steps :
45
+ - name : check_paths
46
+ if : ${{ github.event_name == "pull_request" }}
47
+ uses : ./.github/actions/check-pr-relevance
48
+ with :
49
+ paths : |
50
+ components/eamxx
51
+ components/eam/src/physics/rrtmgp
52
+ components/eam/src/physics/p3/scream
53
+ components/eam/src/physics/cam
54
+ components/eam/src/physics/rrtmgp/external
55
+ externals/ekat
56
+ externals/scorpio
57
+ externals/haero
58
+ externals/YAKL
59
+ .github/workflows/eamxx-sa-testing.yml
60
+ get_labels :
61
+ runs-on : ubuntu-latest
62
+ outputs : ${{ steps.get_labels.outputs.labels }}
63
+ steps :
64
+ - name : get_labels
65
+ uses : ./.github/actions/get-labels
51
66
gcc-openmp :
67
+ needs : pr_relevant, get_labels
68
+ if : ${{
69
+ (github.event_name == 'pull_request' &&
70
+ needs.pr_relevant.outputs.value=='true' &&
71
+ !contains(needs.get_labels.outputs.labels,'CI: skip gcc') &&
72
+ !contains(needs.get_labels.outputs.labels,'CI: skip openmp') &&
73
+ !contains(needs.get_labels.outputs.labels,'CI: skip eamxx-sa') &&
74
+ !contains(needs.get_labels.outputs.labels,'CI: skip eamxx-all')) ||
75
+ (github.event_name == 'workflow_dispatch' &&
76
+ github.event.inputs.job_to_run == 'gcc-openmp' ||
77
+ github.event.inputs.job_to_run == 'all') ||
78
+ github.event_name == 'schedule'
79
+ }}
52
80
runs-on : [self-hosted, ghci-snl-cpu, gcc]
53
81
strategy :
54
82
fail-fast : false
55
83
matrix :
56
84
build_type : [sp, dbg, fpe, opt]
57
- if : ${{ github.event_name != 'workflow_dispatch' ||
58
- github.event.inputs.job_to_run == 'gcc-openmp' ||
59
- github.event.inputs.job_to_run == 'all' }}
60
85
name : gcc-openmp / ${{ matrix.build_type }}
61
86
steps :
62
87
- name : Check out the repository
67
92
submodules : recursive
68
93
- name : Show action trigger
69
94
uses : ./.github/actions/show-workflow-trigger
70
- - name : Check for skip labels
71
- if : ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_review' }}
72
- uses : ./.github/actions/check-skip-labels
73
- with :
74
- skip_labels : ' AT: skip gcc,AT: skip openmp,AT: skip eamxx-sa,AT: skip eamxx-all'
75
- token : ${{ secrets.GITHUB_TOKEN }}
76
- pr_number : ${{ github.event.pull_request.number }}
77
95
- name : Set test-all inputs based on event specs
78
96
run : |
79
97
echo "generate=false" >> $GITHUB_ENV
@@ -91,14 +109,24 @@ jobs:
91
109
submit : ${{ env.submit }}
92
110
cmake-configs : Kokkos_ENABLE_OPENMP=ON
93
111
gcc-cuda :
112
+ needs : pr_relevant, get_labels
113
+ if : ${{
114
+ (github.event_name == 'pull_request' &&
115
+ needs.pr_relevant.outputs.value=='true' &&
116
+ !contains(needs.get_labels.outputs.labels,'CI: skip gcc') &&
117
+ !contains(needs.get_labels.outputs.labels,'CI: skip cuda') &&
118
+ !contains(needs.get_labels.outputs.labels,'CI: skip eamxx-sa') &&
119
+ !contains(needs.get_labels.outputs.labels,'CI: skip eamxx-all')) ||
120
+ (github.event_name == 'workflow_dispatch' &&
121
+ github.event.inputs.job_to_run == 'gcc-cuda' ||
122
+ github.event.inputs.job_to_run == 'all') ||
123
+ github.event_name == 'schedule'
124
+ }}
94
125
runs-on : [self-hosted, ghci-snl-cuda, cuda, gcc]
95
126
strategy :
96
127
fail-fast : false
97
128
matrix :
98
129
build_type : [sp, dbg, opt]
99
- if : ${{ github.event_name != 'workflow_dispatch' ||
100
- github.event.inputs.job_to_run == 'gcc-cuda' ||
101
- github.event.inputs.job_to_run == 'all' }}
102
130
name : gcc-cuda / ${{ matrix.build_type }}
103
131
steps :
104
132
- name : Check out the repository
@@ -109,13 +137,6 @@ jobs:
109
137
submodules : recursive
110
138
- name : Show action trigger
111
139
uses : ./.github/actions/show-workflow-trigger
112
- - name : Check for skip labels
113
- if : ${{ github.event_name == 'pull_request' || github.event_name == 'pull_request_review' }}
114
- uses : ./.github/actions/check-skip-labels
115
- with :
116
- skip_labels : ' AT: skip gcc,AT: skip cuda,AT: skip eamxx-sa,AT: skip eamxx-all'
117
- token : ${{ secrets.GITHUB_TOKEN }}
118
- pr_number : ${{ github.event.pull_request.number }}
119
140
- name : Set test-all inputs based on event specs
120
141
run : |
121
142
echo "generate=false" >> $GITHUB_ENV
0 commit comments