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