From 9e3ff0d95dd6ee06b70c45511015c59a4e3e47cb Mon Sep 17 00:00:00 2001 From: Lars Eggert Date: Wed, 17 Jul 2024 22:03:04 +0300 Subject: [PATCH] ci: Fail QNS run on Rust panic (#1976) * ci: Fail QNS run on Rust panic So we hopefully catch interop panics in CI earlier. * Fix condition * check logs * where * Again * Again * Again * Done * if: always() --------- Signed-off-by: Lars Eggert --- .github/actions/quic-interop-runner/action.yml | 9 +++++++++ .github/workflows/qns.yml | 1 + 2 files changed, 10 insertions(+) diff --git a/.github/actions/quic-interop-runner/action.yml b/.github/actions/quic-interop-runner/action.yml index 9514f69bb3..74c0107b6a 100644 --- a/.github/actions/quic-interop-runner/action.yml +++ b/.github/actions/quic-interop-runner/action.yml @@ -72,6 +72,15 @@ runs: # Don't fail CI if the interop test fails set -o pipefail python -u run.py $ARGS 2>&1 | tee ../summary.txt || true + # But do fail if any log contains 'RUST_BACKTRACE=full', which indicates a panic + # (that we assume happened in neqo.) + for log in ../logs/*/*/output.txt; do + if grep -q 'RUST_BACKTRACE=full' "$log"; then + echo "Panic detected in $log" + tail -n 50 "$log" + exit 1 + fi + done shell: bash - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 diff --git a/.github/workflows/qns.yml b/.github/workflows/qns.yml index 30210f303c..2da3d6aa63 100644 --- a/.github/workflows/qns.yml +++ b/.github/workflows/qns.yml @@ -157,6 +157,7 @@ jobs: name: Report results needs: run-qns runs-on: ubuntu-latest + if: always() steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8