mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 19:19:32 +03:00
196e7c7617
The zloop.sh script is primarily designed to randomly stress the DMU and SPA layers. This can result in some unrealistic (or even impossible) scenarios being tested which then fail. Since the longer we run zloop.sh the more likely this is to occur this commit reduces the runtime. The intention being that normally this will result in a clean CI run unless the PR does introduce serious breaking change. Reviewed-by: George Melikov <mail@gmelikov.ru> Reviewed-by: Tony Hutter <hutter2@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #13453
63 lines
1.7 KiB
YAML
63 lines
1.7 KiB
YAML
name: zloop
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ubuntu-20.04
|
|
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
|
|
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
|
|
- name: Tests
|
|
run: |
|
|
sudo mkdir -p $TEST_DIR
|
|
# run for 10 minutes or at most 2 iterations for a maximum runner
|
|
# time of 20 minutes.
|
|
sudo /usr/share/zfs/zloop.sh -t 600 -I 2 -l -m1 -- -T 120 -P 60
|
|
- 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
|