aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Melikov <[email protected]>2020-12-08 21:40:44 +0300
committerGeorge Melikov <[email protected]>2020-12-10 20:46:15 +0300
commit5053dfa08c4310fe1e2ada21131c64562132fbc0 (patch)
tree20013ce0696c2c27b9f29a9fb16a74441ec31242
parent1a735e763a4e008d654c0239f905fec2cc3cfd42 (diff)
CI: add zloop workflow
Run ztest via zloop for 20 minutes, total run time is ~30 minutes. Signed-off-by: George Melikov <[email protected]>
-rw-r--r--.github/workflows/zloop.yml67
1 files changed, 67 insertions, 0 deletions
diff --git a/.github/workflows/zloop.yml b/.github/workflows/zloop.yml
new file mode 100644
index 000000000..30785b145
--- /dev/null
+++ b/.github/workflows/zloop.yml
@@ -0,0 +1,67 @@
+name: zloop
+
+on:
+ push:
+ pull_request:
+
+jobs:
+ tests:
+ runs-on: ubuntu-latest
+ env:
+ TEST_DIR: /var/tmp/zloop
+ steps:
+ - uses: actions/checkout@v2
+ with:
+ ref: ${{ github.event.pull_request.head.sha }}
+ - name: Install dependencies
+ run: |
+ sudo apt-get update
+ sudo apt-get install --yes -qq build-essential autoconf libtool gdb \
+ git alien fakeroot \
+ zlib1g-dev uuid-dev libblkid-dev libselinux-dev \
+ xfslibs-dev libattr1-dev libacl1-dev libudev-dev libdevmapper-dev \
+ libssl-dev libffi-dev libaio-dev libelf-dev libmount-dev \
+ libpam0g-dev \
+ python-dev python-setuptools python-cffi \
+ python3 python3-dev python3-setuptools python3-cffi
+ - name: Autogen.sh
+ run: |
+ sh autogen.sh
+ - name: Configure
+ run: |
+ ./configure --enable-debug --enable-debuginfo
+ - name: Make
+ run: |
+ make --no-print-directory -s 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
+ - name: Tests
+ run: |
+ sudo mkdir -p $TEST_DIR
+ # run for 20 minutes to have a total runner time of 30 minutes
+ sudo /usr/share/zfs/zloop.sh -t 1200 -l -m1
+ - name: Prepare artifacts
+ if: failure()
+ run: |
+ sudo chmod +r -R $TEST_DIR/
+ - uses: actions/upload-artifact@v2
+ if: failure()
+ with:
+ name: Logs
+ path: |
+ /var/tmp/zloop/*/
+ !/var/tmp/zloop/*/vdev/
+ if-no-files-found: ignore
+ - uses: actions/upload-artifact@v2
+ if: failure()
+ with:
+ name: Pool files
+ path: |
+ /var/tmp/zloop/*/vdev/
+ if-no-files-found: ignore