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 <milky-zfs@mcmilk.de>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #16573
This commit is contained in:
Brian Behlendorf 2024-09-27 09:05:49 -07:00 committed by GitHub
parent ab1b87e747
commit d7ab2816ee
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 4 deletions

View File

@ -32,9 +32,9 @@ function debian() {
sudo apt-get install -y \ sudo apt-get install -y \
acl alien attr autoconf bc cpio curl dbench dh-python dkms fakeroot \ 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 \ fio gdb gdebi git ksh lcov isc-dhcp-client jq libacl1-dev libaio-dev \
libattr1-dev libblkid-dev libcurl4-openssl-dev libdevmapper-dev \ libattr1-dev libblkid-dev libcurl4-openssl-dev libdevmapper-dev libelf-dev \
libelf-dev libffi-dev libmount-dev libpam0g-dev libselinux-dev \ libffi-dev libmount-dev libpam0g-dev libselinux-dev libssl-dev libtool \
libssl-dev libtool libtool-bin libudev-dev linux-headers-$(uname -r) \ libtool-bin libudev-dev libunwind-dev linux-headers-$(uname -r) \
lsscsi nfs-kernel-server pamtester parted python3 python3-all-dev \ lsscsi nfs-kernel-server pamtester parted python3 python3-all-dev \
python3-cffi python3-dev python3-distlib python3-packaging \ python3-cffi python3-dev python3-distlib python3-packaging \
python3-setuptools python3-sphinx qemu-guest-agent rng-tools rpm2cpio \ python3-setuptools python3-sphinx qemu-guest-agent rng-tools rpm2cpio \

View File

@ -43,11 +43,23 @@ jobs:
sudo mkdir -p $TEST_DIR sudo mkdir -p $TEST_DIR
# run for 10 minutes or at most 6 iterations for a maximum runner # run for 10 minutes or at most 6 iterations for a maximum runner
# time of 60 minutes. # 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 - name: Prepare artifacts
if: failure() if: failure()
run: | run: |
sudo chmod +r -R $TEST_DIR/ 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 - uses: actions/upload-artifact@v4
if: failure() if: failure()
with: with: