forked from openzfs/zfs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
QA-34016 Create dlpx functional run for zfs-tests (openzfs#326)
* Create a separate zfs suite to test features specific to Delphix. * Add a new Github workflow
- Loading branch information
1 parent
176fe66
commit 2140c2a
Showing
3 changed files
with
966 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
name: zfs-tests-dlpx-functional | ||
|
||
on: | ||
push: | ||
pull_request: | ||
|
||
jobs: | ||
tests-dlpx-functional-ubuntu: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
os: [20.04] | ||
runs-on: ubuntu-${{ matrix.os }} | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
- name: Reclaim disk space | ||
run: | | ||
${{ github.workspace }}/.github/workflows/scripts/reclaim_disk_space.sh | ||
- name: Install dependencies | ||
run: | | ||
sudo apt-get update | ||
xargs --arg-file=${{ github.workspace }}/.github/workflows/build-dependencies.txt sudo apt-get install -qq | ||
sudo apt-get clean | ||
- name: Autogen.sh | ||
run: | | ||
./autogen.sh | ||
- name: Configure | ||
run: | | ||
./configure --enable-debug --enable-debuginfo --enable-asan --enable-ubsan | ||
- name: Make | ||
run: | | ||
make -j$(nproc) --no-print-directory --silent pkg-utils pkg-kmod | ||
- name: Install | ||
run: | | ||
sudo dpkg -i *.deb | ||
# Update order of directories to search for modules, otherwise | ||
# Ubuntu will load kernel-shipped ones. | ||
sudo sed -i.bak 's/updates/extra updates/' /etc/depmod.d/ubuntu.conf | ||
sudo depmod | ||
sudo modprobe zfs | ||
# Workaround for cloud-init bug | ||
# see https://github.com/openzfs/zfs/issues/12644 | ||
FILE=/lib/udev/rules.d/10-cloud-init-hook-hotplug.rules | ||
if [ -r "${FILE}" ]; then | ||
HASH=$(md5sum "${FILE}" | awk '{ print $1 }') | ||
if [ "${HASH}" = "121ff0ef1936cd2ef65aec0458a35772" ]; then | ||
# Just shove a zd* exclusion right above the hotplug hook... | ||
sudo sed -i -e s/'LABEL="cloudinit_hook"'/'KERNEL=="zd*", GOTO="cloudinit_end"\n&'/ "${FILE}" | ||
sudo udevadm control --reload-rules | ||
fi | ||
fi | ||
- name: Clear the kernel ring buffer | ||
run: | | ||
sudo dmesg -c >/var/tmp/dmesg-prerun | ||
- name: Report disk space | ||
run: | | ||
df -h / | ||
- name: Tests | ||
run: | | ||
set -o pipefail | ||
/usr/share/zfs/zfs-tests.sh -vR -s 3G -r dlpx_functional.run | scripts/zfs-tests-color.sh | ||
shell: bash | ||
timeout-minutes: 330 | ||
- name: Prepare artifacts | ||
if: failure() | ||
run: | | ||
RESULTS_PATH=$(readlink -f /var/tmp/test_results/current) | ||
sudo dmesg > $RESULTS_PATH/dmesg | ||
sudo cp /var/log/syslog /var/tmp/dmesg-prerun $RESULTS_PATH/ | ||
sudo chmod +r $RESULTS_PATH/* | ||
# Replace ':' in dir names, actions/upload-artifact doesn't support it | ||
for f in $(find /var/tmp/test_results -name '*:*'); do mv "$f" "${f//:/__}"; done | ||
- uses: actions/upload-artifact@v2 | ||
if: failure() | ||
with: | ||
name: Test logs Ubuntu-${{ matrix.os }} | ||
path: | | ||
/var/tmp/test_results/* | ||
!/var/tmp/test_results/current | ||
if-no-files-found: ignore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.