11 - uses: actions/checkout@v2
13 ref: ${{ github.event.pull_request.head.sha }}
14 - name: Reclaim disk space
16 ${{ github.workspace }}/.github/workflows/scripts/reclaim_disk_space.sh
17 - name: Install dependencies
20 xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq
27 ./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan --with-config=dist
30 make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod
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
39 # Workaround for cloud-init bug
40 # see https://github.com/openzfs/zfs/issues/12644
41 FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules
42 if [ -r "${FILE}" ]; then
43 HASH=$(md5sum "${FILE}" | awk '{ print $1 }')
44 if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then
45 # Just shove a zd* exclusion right above the hotplug hook...
46 sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}"
47 sudo udevadm control --reload-rules
50 - name: Clear the kernel ring buffer
52 sudo dmesg -c >/var/tmp/dmesg-prerun
53 - name: Report disk space
59 /usr/share/zfs/zfs-tests.sh -vKR -s 3G -r sanity | scripts/zfs-tests-color.sh
62 - name: Prepare artifacts
65 RESULTS_PATH=$(readlink -f /var/tmp/test_results/current)
66 sudo dmesg > $RESULTS_PATH/dmesg
67 sudo cp /var/log/syslog /var/tmp/dmesg-prerun $RESULTS_PATH/
68 sudo chmod +r $RESULTS_PATH/*
69 # Replace ':' in dir names, actions/upload-artifact doesn't support it
70 for f in $(find /var/tmp/test_results -name '*:*'); do mv "$f" "${f//:/__}"; done
71 - uses: actions/upload-artifact@v2
74 name: Test logs Ubuntu-${{ matrix.os }}
76 /var/tmp/test_results/*
77 !/var/tmp/test_results/current
78 if-no-files-found: ignore