Fix -Wuse-after-free warning in dbuf_destroy()
[zfs.git] / .github / workflows / zloop.yml
blob64fe96a3ab6b3e837bc92ae53dbb66ebdb89b9b3
1 name: zloop
3 on:
4   push:
5   pull_request:
7 jobs:
8   tests:
9     runs-on: ubuntu-20.04
10     env:
11       TEST_DIR: /var/tmp/zloop
12     steps:
13     - uses: actions/checkout@v2
14       with:
15         ref: ${{ github.event.pull_request.head.sha }}
16     - name: Install dependencies
17       run: |
18         sudo apt-get update
19         xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq
20         sudo apt-get clean
21     - name: Autogen.sh
22       run: |
23         ./autogen.sh
24     - name: Configure
25       run: |
26         ./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan --with-config=dist
27     - name: Make
28       run: |
29         make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
30     - name: Install
31       run: |
32         sudo dpkg -i *.deb
33         # Update order of directories to search for modules, otherwise
34         #   Ubuntu will load kernel-shipped ones.
35         sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf
36         sudo depmod
37         sudo modprobe zfs
38     - name: Tests
39       run: |
40         sudo mkdir -p $TEST_DIR
41         # run for 10 minutes or at most 2 iterations for a maximum runner
42         #   time of 20 minutes.
43         sudo /usr/share/zfs/zloop.sh -t 600 -I 2 -l -m1 -- -T 120 -P 60
44     - name: Prepare artifacts
45       if: failure()
46       run: |
47         sudo chmod +r -R $TEST_DIR/
48     - uses: actions/upload-artifact@v2
49       if: failure()
50       with:
51         name: Logs
52         path: |
53           /var/tmp/zloop/*/
54           !/var/tmp/zloop/*/vdev/
55         if-no-files-found: ignore
56     - uses: actions/upload-artifact@v2
57       if: failure()
58       with:
59         name: Pool files
60         path: |
61           /var/tmp/zloop/*/vdev/
62         if-no-files-found: ignore