summaryrefslogtreecommitdiff
path: root/.github/workflows/run-tests.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/run-tests.yml')
-rw-r--r--.github/workflows/run-tests.yml44
1 files changed, 40 insertions, 4 deletions
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
index af7b5727..6db3574c 100644
--- a/.github/workflows/run-tests.yml
+++ b/.github/workflows/run-tests.yml
@@ -170,14 +170,23 @@ jobs:
- name: Run tests (all)
timeout-minutes: 5
run: >
- ssh -i ssh-key -p2222 user@localhost "cd accel-ppp/tests &&
+ ssh -i ssh-key -p2222 user@localhost "cd accel-ppp/tests &&
sudo python3 -m pytest -Wall --order-dependencies -v"
- name: Display processes and dmesg after tests
if: ${{ always() }}
run: >
- ssh -i ssh-key -p2222 user@localhost "ps aux | grep accel- &&
+ ssh -i ssh-key -p2222 user@localhost "ps aux | grep accel- &&
sudo dmesg"
+ - name: Check dmesg for kernel issues
+ if: ${{ always() }}
+ run: |
+ ssh -i ssh-key -p2222 user@localhost "sudo dmesg" > /tmp/dmesg.log
+ if grep -E 'WARNING:|BUG:|Oops:|kernel panic|general protection fault|KASAN|UBSAN:|soft lockup|hard LOCKUP|INFO: task .+ blocked|Bad page state|invalid opcode' /tmp/dmesg.log; then
+ echo "::error::Kernel issues detected in dmesg"
+ exit 1
+ fi
+
Test-in-Alpine:
#if: ${{ false }} # disable for now
runs-on: ubuntu-24.04
@@ -299,14 +308,23 @@ jobs:
- name: Run tests (all)
timeout-minutes: 5
run: >
- ssh -i ssh-key -p2222 alpine@localhost "cd accel-ppp/tests &&
+ ssh -i ssh-key -p2222 alpine@localhost "cd accel-ppp/tests &&
doas python3 -m pytest -Wall --order-dependencies -v -m \"not chap_secrets\""
- name: Display processes and dmesg after tests
if: ${{ always() }}
run: >
- ssh -i ssh-key -p2222 alpine@localhost "ps aux | grep accel- &&
+ ssh -i ssh-key -p2222 alpine@localhost "ps aux | grep accel- &&
doas dmesg"
+ - name: Check dmesg for kernel issues
+ if: ${{ always() }}
+ run: |
+ ssh -i ssh-key -p2222 alpine@localhost "doas dmesg" > /tmp/dmesg.log
+ if grep -E 'WARNING:|BUG:|Oops:|kernel panic|general protection fault|KASAN|UBSAN:|soft lockup|hard LOCKUP|INFO: task .+ blocked|Bad page state|invalid opcode' /tmp/dmesg.log; then
+ echo "::error::Kernel issues detected in dmesg"
+ exit 1
+ fi
+
Test-in-GH:
#if: ${{ false }} # disable for now
@@ -363,6 +381,15 @@ jobs:
working-directory: ./tests
run: sudo python3 -m pytest -Wall --order-dependencies -v
+ - name: Check dmesg for kernel issues
+ if: ${{ always() }}
+ run: |
+ sudo dmesg | tee /tmp/dmesg.log
+ if grep -E 'WARNING:|BUG:|Oops:|kernel panic|general protection fault|KASAN|UBSAN:|soft lockup|hard LOCKUP|INFO: task .+ blocked|Bad page state|invalid opcode' /tmp/dmesg.log; then
+ echo "::error::Kernel issues detected in dmesg"
+ exit 1
+ fi
+
Test-in-GH-Coverage:
#if: ${{ false }} # disable for now
strategy:
@@ -419,6 +446,15 @@ jobs:
working-directory: ./tests
run: sudo python3 -m pytest -Wall --order-dependencies -v || exit 0
+ - name: Check dmesg for kernel issues
+ if: ${{ always() }}
+ run: |
+ sudo dmesg | tee /tmp/dmesg.log
+ if grep -E 'WARNING:|BUG:|Oops:|kernel panic|general protection fault|KASAN|UBSAN:|soft lockup|hard LOCKUP|INFO: task .+ blocked|Bad page state|invalid opcode' /tmp/dmesg.log; then
+ echo "::error::Kernel issues detected in dmesg"
+ exit 1
+ fi
+
- name: Generate coverage reports (default(txt), csv, html)
run: |
mkdir -p tests/report