1name: zloop 2 3on: 4 push: 5 pull_request: 6 paths-ignore: 7 - 'man/**' 8 - '**.md' 9 - 'AUTHORS' 10 - 'COPYRIGHT' 11 - 'LICENSE' 12 - 'NOTICE' 13 - '.gitignore' 14 15concurrency: 16 group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} 17 cancel-in-progress: true 18 19jobs: 20 zloop: 21 runs-on: ubuntu-24.04 22 env: 23 WORK_DIR: /mnt/zloop 24 CORE_DIR: /mnt/zloop/cores 25 steps: 26 - uses: actions/checkout@v6 27 with: 28 ref: ${{ github.event.pull_request.head.sha }} 29 - name: Install dependencies 30 run: | 31 sudo apt-get purge -y snapd google-chrome-stable firefox 32 ONLY_DEPS=1 .github/workflows/scripts/qemu-3-deps-vm.sh ubuntu24 33 - name: Autogen.sh 34 run: | 35 sed -i '/DEBUG_CFLAGS="-Werror"/s/^/#/' config/zfs-build.m4 36 ./autogen.sh 37 - name: Configure 38 run: | 39 ./configure --prefix=/usr --enable-debug --enable-debuginfo \ 40 --enable-asan --enable-ubsan \ 41 --enable-debug-kmem --enable-debug-kmem-tracking 42 - name: Make 43 run: | 44 make -j$(nproc) 45 - name: Install 46 run: | 47 sudo make install 48 sudo depmod 49 sudo modprobe zfs 50 - name: Tests 51 run: | 52 [ -r /etc/hostid ] && [ -s /etc/hostid ] || sudo zgenhostid -f 53 sudo truncate -s 256G /mnt/vdev 54 sudo zpool create cipool -m $WORK_DIR -O compression=on -o autotrim=on /mnt/vdev 55 sudo /usr/share/zfs/zloop.sh -t 600 -I 6 -l -m 1 -c $CORE_DIR -f $WORK_DIR -- -T 120 -P 60 56 - name: Prepare artifacts 57 if: failure() 58 run: | 59 sudo chmod +r -R $WORK_DIR/ 60 - name: Ztest log 61 if: failure() 62 run: | 63 grep -B10 -A1000 'ASSERT' $CORE_DIR/*/ztest.out || tail -n 1000 $CORE_DIR/*/ztest.out 64 - name: Gdb log 65 if: failure() 66 run: | 67 sed -n '/Backtraces (full)/q;p' $CORE_DIR/*/ztest.gdb 68 - name: Zdb log 69 if: failure() 70 run: | 71 cat $CORE_DIR/*/ztest.zdb 72 - uses: actions/upload-artifact@v7 73 if: failure() 74 with: 75 name: Logs 76 path: | 77 /mnt/zloop/*/ 78 !/mnt/zloop/cores/*/vdev/ 79 if-no-files-found: ignore 80 - uses: actions/upload-artifact@v7 81 if: failure() 82 with: 83 name: Pool files 84 path: | 85 /mnt/zloop/cores/*/vdev/ 86 if-no-files-found: ignore 87