|
29 | 29 | # DAMAGE.
|
30 | 30 |
|
31 | 31 | # Github Actions workflow for AArchXX Continuous Integration testing.
|
| 32 | +# |
| 33 | +# Each test suite is a separate job. When adding a new test suite job, |
| 34 | +# remember to add it to the send-failure-notification job to ensure failure |
| 35 | +# notifications are set up properly. |
32 | 36 |
|
33 | 37 | name: ci-aarchxx-cross
|
34 | 38 | on:
|
@@ -98,30 +102,6 @@ jobs:
|
98 | 102 | CI_TRIGGER: ${{ github.event_name }}
|
99 | 103 | CI_BRANCH: ${{ github.ref }}
|
100 | 104 |
|
101 |
| - - name: Send failure mail to dynamorio-devs |
102 |
| - if: failure() && github.ref == 'refs/heads/master' |
103 |
| - uses: dawidd6/action-send-mail@v2 |
104 |
| - with: |
105 |
| - server_address: smtp.gmail.com |
106 |
| - server_port: 465 |
107 |
| - username: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_USERNAME}} |
108 |
| - password: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_PASSWORD}} |
109 |
| - subject: | |
110 |
| - [${{github.repository}}] ${{github.workflow}} FAILED |
111 |
| - on ${{github.event_name}} at ${{github.ref}} |
112 |
| - body: | |
113 |
| - Github Actions CI workflow run FAILED! |
114 |
| - Workflow: ${{github.workflow}}/aarchxx-cross-compile |
115 |
| - Repository: ${{github.repository}} |
116 |
| - Branch ref: ${{github.ref}} |
117 |
| - SHA: ${{github.sha}} |
118 |
| - Triggering actor: ${{github.actor}} |
119 |
| - Triggering event: ${{github.event_name}} |
120 |
| - Run Id: ${{github.run_id}} |
121 |
| - See more details on github.com/DynamoRIO/dynamorio/actions/runs/${{github.run_id}} |
122 |
| - |
123 |
| - from: Github Action CI |
124 |
| - |
125 | 105 | # ARM cross-compile with gcc, with some tests run under QEMU.
|
126 | 106 | # We use a more recent Ubuntu for a more recent QEMU.
|
127 | 107 | arm-cross-compile:
|
@@ -171,30 +151,6 @@ jobs:
|
171 | 151 | CI_TRIGGER: ${{ github.event_name }}
|
172 | 152 | CI_BRANCH: ${{ github.ref }}
|
173 | 153 |
|
174 |
| - - name: Send failure mail to dynamorio-devs |
175 |
| - if: failure() && github.ref == 'refs/heads/master' |
176 |
| - uses: dawidd6/action-send-mail@v2 |
177 |
| - with: |
178 |
| - server_address: smtp.gmail.com |
179 |
| - server_port: 465 |
180 |
| - username: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_USERNAME}} |
181 |
| - password: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_PASSWORD}} |
182 |
| - subject: | |
183 |
| - [${{github.repository}}] ${{github.workflow}} FAILED |
184 |
| - on ${{github.event_name}} at ${{github.ref}} |
185 |
| - body: | |
186 |
| - Github Actions CI workflow run FAILED! |
187 |
| - Workflow: ${{github.workflow}}/aarchxx-cross-compile |
188 |
| - Repository: ${{github.repository}} |
189 |
| - Branch ref: ${{github.ref}} |
190 |
| - SHA: ${{github.sha}} |
191 |
| - Triggering actor: ${{github.actor}} |
192 |
| - Triggering event: ${{github.event_name}} |
193 |
| - Run Id: ${{github.run_id}} |
194 |
| - See more details on github.com/DynamoRIO/dynamorio/actions/runs/${{github.run_id}} |
195 |
| - |
196 |
| - from: Github Action CI |
197 |
| - |
198 | 154 | # Android ARM cross-compile with gcc, no tests:
|
199 | 155 | android-arm-cross-compile:
|
200 | 156 | runs-on: ubuntu-20.04
|
@@ -243,30 +199,6 @@ jobs:
|
243 | 199 | CI_BRANCH: ${{ github.ref }}
|
244 | 200 | run: ./suite/runsuite_wrapper.pl automated_ci 32_only
|
245 | 201 |
|
246 |
| - - name: Send failure mail to dynamorio-devs |
247 |
| - if: failure() && github.ref == 'refs/heads/master' |
248 |
| - uses: dawidd6/action-send-mail@v2 |
249 |
| - with: |
250 |
| - server_address: smtp.gmail.com |
251 |
| - server_port: 465 |
252 |
| - username: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_USERNAME}} |
253 |
| - password: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_PASSWORD}} |
254 |
| - subject: | |
255 |
| - [${{github.repository}}] ${{github.workflow}} FAILED |
256 |
| - on ${{github.event_name}} at ${{github.ref}} |
257 |
| - body: | |
258 |
| - Github Actions CI workflow run FAILED! |
259 |
| - Workflow: ${{github.workflow}}/android-arm-cross-compile |
260 |
| - Repository: ${{github.repository}} |
261 |
| - Branch ref: ${{github.ref}} |
262 |
| - SHA: ${{github.sha}} |
263 |
| - Triggering actor: ${{github.actor}} |
264 |
| - Triggering event: ${{github.event_name}} |
265 |
| - Run Id: ${{github.run_id}} |
266 |
| - See more details on github.com/DynamoRIO/dynamorio/actions/runs/${{github.run_id}} |
267 |
| - |
268 |
| - from: Github Action CI |
269 |
| - |
270 | 202 | # Android AArch64 cross-compile with LLVM, no tests:
|
271 | 203 | android-aarch64-cross-compile:
|
272 | 204 | runs-on: ubuntu-22.04
|
@@ -309,30 +241,6 @@ jobs:
|
309 | 241 | CI_BRANCH: ${{ github.ref }}
|
310 | 242 | run: ./suite/runsuite_wrapper.pl automated_ci 64_only
|
311 | 243 |
|
312 |
| - - name: Send failure mail to dynamorio-devs |
313 |
| - if: failure() && github.ref == 'refs/heads/master' |
314 |
| - uses: dawidd6/action-send-mail@v2 |
315 |
| - with: |
316 |
| - server_address: smtp.gmail.com |
317 |
| - server_port: 465 |
318 |
| - username: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_USERNAME}} |
319 |
| - password: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_PASSWORD}} |
320 |
| - subject: | |
321 |
| - [${{github.repository}}] ${{github.workflow}} FAILED |
322 |
| - on ${{github.event_name}} at ${{github.ref}} |
323 |
| - body: | |
324 |
| - Github Actions CI workflow run FAILED! |
325 |
| - Workflow: ${{github.workflow}}/android-aarch64-cross-compile |
326 |
| - Repository: ${{github.repository}} |
327 |
| - Branch ref: ${{github.ref}} |
328 |
| - SHA: ${{github.sha}} |
329 |
| - Triggering actor: ${{github.actor}} |
330 |
| - Triggering event: ${{github.event_name}} |
331 |
| - Run Id: ${{github.run_id}} |
332 |
| - See more details on github.com/DynamoRIO/dynamorio/actions/runs/${{github.run_id}} |
333 |
| - |
334 |
| - from: Github Action CI |
335 |
| - |
336 | 244 | # AArch64 drdecode and drmemtrace on x86:
|
337 | 245 | a64-on-x86:
|
338 | 246 | runs-on: ubuntu-20.04
|
@@ -369,26 +277,19 @@ jobs:
|
369 | 277 | CI_TRIGGER: ${{ github.event_name }}
|
370 | 278 | CI_BRANCH: ${{ github.ref }}
|
371 | 279 |
|
372 |
| - - name: Send failure mail to dynamorio-devs |
373 |
| - if: failure() && github.ref == 'refs/heads/master' |
374 |
| - uses: dawidd6/action-send-mail@v2 |
| 280 | + send-failure-notification: |
| 281 | + uses: ./.github/workflows/failure-notification.yml |
| 282 | + needs: [aarch64-cross-compile, arm-cross-compile, android-arm-cross-compile, android-aarch64-cross-compile, a64-on-x86] |
| 283 | + # By default, a failure in a job skips the jobs that need it. The |
| 284 | + # following expression ensures that failure-notification.yml is |
| 285 | + # always invoked. |
| 286 | + if: ${{ always() }} |
375 | 287 | with:
|
376 |
| - server_address: smtp.gmail.com |
377 |
| - server_port: 465 |
378 |
| - username: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_USERNAME}} |
379 |
| - password: ${{secrets.DYNAMORIO_NOTIFICATION_EMAIL_PASSWORD}} |
380 |
| - subject: | |
381 |
| - [${{github.repository}}] ${{github.workflow}} FAILED |
382 |
| - on ${{github.event_name}} at ${{github.ref}} |
383 |
| - body: | |
384 |
| - Github Actions CI workflow run FAILED! |
385 |
| - Workflow: ${{github.workflow}}/a64-on-x86 |
386 |
| - Repository: ${{github.repository}} |
387 |
| - Branch ref: ${{github.ref}} |
388 |
| - SHA: ${{github.sha}} |
389 |
| - Triggering actor: ${{github.actor}} |
390 |
| - Triggering event: ${{github.event_name}} |
391 |
| - Run Id: ${{github.run_id}} |
392 |
| - See more details on github.com/DynamoRIO/dynamorio/actions/runs/${{github.run_id}} |
393 |
| - |
394 |
| - from: Github Action CI |
| 288 | + test_suite_status: ${{ format('{0} {1} | {2} {3} | {4} {5} | {6} {7} | {8} {9}', |
| 289 | + 'aarch64-cross-compile', needs.aarch64-cross-compile.result, |
| 290 | + 'arm-cross-compile', needs.arm-cross-compile.result, |
| 291 | + 'android-arm-cross-compile', needs.android-arm-cross-compile.result, |
| 292 | + 'android-aarch64-cross-compile', needs.android-aarch64-cross-compile.result, |
| 293 | + 'a64-on-x86', needs.a64-on-x86.result) }} |
| 294 | + test_suite_results_only: ${{ join(needs.*.result, ',') }} |
| 295 | + secrets: inherit |
0 commit comments