changeset 29792:315df8a5ac22

GitHub-CI: Analyze test suite results on Ubuntu. * .github/workflows/make.yaml (ubuntu): Analyze results of test suite and fail on unknown failing tests.
author Markus Mützel <markus.muetzel@gmx.de>
date Sun, 20 Jun 2021 10:34:16 +0200
parents 2d17a87740dd
children 146c35a430f4
files .github/workflows/make.yaml
diffstat 1 files changed, 16 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/make.yaml	Sun Jun 20 10:05:14 2021 +0200
+++ b/.github/workflows/make.yaml	Sun Jun 20 10:34:16 2021 +0200
@@ -8,6 +8,9 @@
     runs-on: ${{ matrix.os }}
 
     strategy:
+      # Allow other runners in the matrix to continue if some fail
+      fail-fast: false
+
       matrix:
         # For available GitHub-hosted runners, see:
         # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners
@@ -59,7 +62,11 @@
 
       - name: setup ccache
         # setup the github cache used to maintain the ccache from one job to the next
-        uses: actions/cache@v2
+        # uses: actions/cache@v2
+        # The original action doesn't upload on error. Use this fork instead.
+        # FIXME: Consider reverting to the original action when it allows uploading on error.
+        #        See: https://github.com/actions/cache/issues/92
+        uses: pat-s/always-upload-cache@v2
         with:
           path: /home/runner/.ccache
           key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}:${{ steps.ccache_cache_timestamp.outputs.timestamp }}:${{ github.sha }}
@@ -120,7 +127,14 @@
         continue-on-error: true
         env:
           XDG_RUNTIME_DIR: "/home/runner/tmp"
-        run: xvfb-run -a make -C ./.build check V=1
+        run: xvfb-run -a make -C ./.build check V=1 | tee ./test-suite.log
+
+      - name: analyze test suite results
+        # Make sure the test summary lists 0 "FAIL"s and no "REGRESSION"
+        run:  |
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite.log)" ] || exit 1
+          [ -z "$(grep -e "REGRESSION" ./test-suite.log)" ] || exit 1
+          echo No unknown failing tests.
 
 
   macos: