changeset 1848:84b664071c7d

Upload config.log on failure Change tests to avoid double-negative for skipcheck Skip some actions when running under act
author Matt Johnston <matt@ucc.asn.au>
date Tue, 19 Oct 2021 11:50:12 +0800
parents 9d8af2da9b60
children d34f50b7b9fd
files .github/workflows/build.yml
diffstat 1 files changed, 21 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/build.yml	Mon Oct 18 23:45:09 2021 +0800
+++ b/.github/workflows/build.yml	Tue Oct 19 11:50:12 2021 +0800
@@ -11,6 +11,10 @@
     runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
     strategy:
       matrix:
+        # Rather than a boolean False we use eg
+        #   runcheck: 'no'
+        # Otherwise GH expressions will make a None var
+        # compare with False. We want an undefined default of True.
         include:
           - name: plain linux
 
@@ -24,7 +28,7 @@
             # NOWRITEV is unrelated, test here to save a job
             nowritev: 1
             # pytest relies on python3.7
-            skipcheck: True
+            runcheck: 'no'
 
           - name: linux clang
             cc: clang
@@ -34,8 +38,8 @@
             cc: clang
             # OS X says daemon() and utmp are deprecated
             wextraflags: -Wno-deprecated-declarations -Werror
-            skipcheck: True
-            exoticos: True
+            runcheck: 'no'
+            apt: 'no'
             # fails with:
             # .../ranlib: file: libtomcrypt.a(cbc_setiv.o) has no symbols
             ranlib: ranlib -no_warning_for_no_symbols
@@ -44,8 +48,8 @@
             os: macos-11
             cc: clang
             wextraflags: -Wno-deprecated-declarations -Werror
-            skipcheck: True
-            exoticos: True
+            runcheck: 'no'
+            apt: 'no'
             ranlib: ranlib -no_warning_for_no_symbols
 
           # # Fuzzers run standalone. A bit superfluous with cifuzz, but
@@ -79,7 +83,7 @@
 
     steps:
       - name: deps
-        if: ${{ !matrix.exoticos }}
+        if: ${{ matrix.apt != 'no' }}
         run: |
           sudo apt-get -y update
           sudo apt-get -y install zlib1g-dev libtomcrypt-dev libtommath-dev mercurial python3-venv socat $CC
@@ -87,6 +91,7 @@
       - uses: actions/checkout@v2
 
       - name: cache pip
+        if: ${{ !env.ACT }}
         uses: actions/cache@v2
         with:
           path: test/venv
@@ -94,6 +99,7 @@
           restore-keys: ${{ runner.os }}-pip-
 
       - name: cache fuzzcorpus
+        if: ${{ !env.ACT }}
         uses: actions/cache@v2
         with:
           path: fuzzcorpus
@@ -126,8 +132,16 @@
           mkdir -p ~/.ssh
           ~/inst/bin/dropbearkey -t ecdsa -f ~/.ssh/id_dropbear | grep ^ecdsa > ~/.ssh/authorized_keys
 
+        # upload config.log if something has failed
+      - name: config.log
+        if: ${{ !env.ACT && (failure() || cancelled()) }}
+        uses: actions/upload-artifact@v2
+        with:
+          name: config.log
+          path: config.log
+
       - name: check
-        if: ${{ !matrix.skipcheck }}
+        if: ${{ matrix.runcheck != 'no' }}
       # run in a TTY for some tests
         run: socat - EXEC:"make check",pty