From d7ab2816eef516420eaeb98961ce7c4082d24ed0 Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Fri, 27 Sep 2024 09:05:49 -0700 Subject: [PATCH] CI: Add logs to zloop workflow On failure attempt to include the most relevant portions of the ztest logs in the CI output. This full logs are still available for download but often a backtrace and the last output is enough. Install libunwind to improve the odds of a useful backtrace. Reviewed-by: Tino Reichardt Signed-off-by: Brian Behlendorf Closes #16573 --- .github/workflows/scripts/qemu-3-deps.sh | 6 +++--- .github/workflows/zloop.yml | 14 +++++++++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/.github/workflows/scripts/qemu-3-deps.sh b/.github/workflows/scripts/qemu-3-deps.sh index 02bff954fd5b..35fa5016e9f6 100755 --- a/.github/workflows/scripts/qemu-3-deps.sh +++ b/.github/workflows/scripts/qemu-3-deps.sh @@ -32,9 +32,9 @@ function debian() { sudo apt-get install -y \ acl alien attr autoconf bc cpio curl dbench dh-python dkms fakeroot \ fio gdb gdebi git ksh lcov isc-dhcp-client jq libacl1-dev libaio-dev \ - libattr1-dev libblkid-dev libcurl4-openssl-dev libdevmapper-dev \ - libelf-dev libffi-dev libmount-dev libpam0g-dev libselinux-dev \ - libssl-dev libtool libtool-bin libudev-dev linux-headers-$(uname -r) \ + libattr1-dev libblkid-dev libcurl4-openssl-dev libdevmapper-dev libelf-dev \ + libffi-dev libmount-dev libpam0g-dev libselinux-dev libssl-dev libtool \ + libtool-bin libudev-dev libunwind-dev linux-headers-$(uname -r) \ lsscsi nfs-kernel-server pamtester parted python3 python3-all-dev \ python3-cffi python3-dev python3-distlib python3-packaging \ python3-setuptools python3-sphinx qemu-guest-agent rng-tools rpm2cpio \ diff --git a/.github/workflows/zloop.yml b/.github/workflows/zloop.yml index 35d8cc977af0..90d93c48e4bd 100644 --- a/.github/workflows/zloop.yml +++ b/.github/workflows/zloop.yml @@ -43,11 +43,23 @@ jobs: sudo mkdir -p $TEST_DIR # run for 10 minutes or at most 6 iterations for a maximum runner # time of 60 minutes. - sudo /usr/share/zfs/zloop.sh -t 600 -I 6 -l -m1 -- -T 120 -P 60 + sudo /usr/share/zfs/zloop.sh -t 600 -I 6 -l -m 1 -- -T 120 -P 60 - name: Prepare artifacts if: failure() run: | sudo chmod +r -R $TEST_DIR/ + - name: Ztest log + if: failure() + run: | + grep -B10 -A1000 'ASSERT' $TEST_DIR/*/ztest.out || tail -n 1000 $TEST_DIR/*/ztest.out + - name: Gdb log + if: failure() + run: | + sed -n '/Backtraces (full)/q;p' $TEST_DIR/*/ztest.gdb + - name: Zdb log + if: failure() + run: | + cat $TEST_DIR/*/ztest.zdb - uses: actions/upload-artifact@v4 if: failure() with: