summaryrefslogtreecommitdiff
path: root/.github/workflows/ci-build.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci-build.yml')
-rw-r--r--.github/workflows/ci-build.yml42
1 files changed, 42 insertions, 0 deletions
diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml
index 74677ee6d..e0707291c 100644
--- a/.github/workflows/ci-build.yml
+++ b/.github/workflows/ci-build.yml
@@ -315,3 +315,45 @@ jobs:
run: |
cd ${GITHUB_WORKSPACE}/build
ctest --timeout 120
+
+ check_annotations:
+ name: Check Annotations
+ needs:
+ - emscripten
+ - linux
+ - macos
+ - windows
+
+ if: always() && github.event_name == 'pull_request'
+
+ runs-on: ubuntu-20.04
+
+ steps:
+ - name: Get check suite ID
+ id: check_suite_id
+ uses: octokit/request-action@v2.x
+ with:
+ route: GET /repos/{repository}/actions/runs/{run_id}
+ repository: ${{ github.repository }}
+ run_id: ${{ github.run_id }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Get check runs
+ id: check_runs
+ uses: octokit/request-action@v2.x
+ with:
+ route: GET /repos/{repository}/check-suites/{check_suite_id}/check-runs
+ repository: ${{ github.repository }}
+ check_suite_id: ${{ fromJson(steps.check_suite_id.outputs.data).check_suite_id }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - name: Check annotations
+ shell: bash
+ run: |
+ echo '[
+ ${{ toJson(fromJson(steps.check_runs.outputs.data).check_runs.*.output.title) }}, ${{ toJson(fromJson(steps.check_runs.outputs.data).check_runs.*.output.summary) }}
+ ]' | jq '.[0] as $t | .[1] as $s | reduce range(.[0] | length) as $i ([]; . + [if $t[$i] then $t[$i] + ": " + $s[$i] else empty end]) | .[]'
+
+ exit $(echo '${{ toJson(fromJson(steps.check_runs.outputs.data).check_runs.*.output.annotations_count) }}' | jq 'add')