diff --git a/.github/workflows/email.yml b/.github/workflows/email.yml new file mode 100644 index 0000000..3336ab1 --- /dev/null +++ b/.github/workflows/email.yml @@ -0,0 +1,30 @@ +on: + check_suite: + type: ['completed'] + +name: Email about Cirrus CI failures +jobs: + continue: + name: After Cirrus CI Failure + if: >- + github.event.check_suite.app.name == 'Cirrus CI' + && github.event.check_suite.conclusion != 'success' + && github.event.check_suite.conclusion != 'cancelled' + && github.event.check_suite.conclusion != 'skipped' + && github.event.check_suite.conclusion != 'neutral' + runs-on: ubuntu-latest + steps: + - uses: octokit/request-action@v2.x + id: get_failed_check_run + with: + route: GET /repos/${{ github.repository }}/check-suites/${{ github.event.check_suite.id }}/check-runs?status=completed + mediaType: '{"previews": ["antiope"]}' + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - run: | + echo "Cirrus CI ${{ github.event.check_suite.conclusion }} on ${{ github.event.check_suite.head_branch }} branch!" + echo "SHA ${{ github.event.check_suite.head_sha }}" + echo $MESSAGE + echo "##[error]See $CHECK_RUN_URL for details" && false + env: + CHECK_RUN_URL: ${{ fromJson(steps.get_failed_check_run.outputs.data).check_runs[0].html_url }}