1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
---
name: mdadm test
on:
push:
branches:
- test_on_push
paths:
- '*.c'
- '*.h'
- 'tests/*'
- 'test'
- '.github/workflows/mdadm-test.yml'
pull_request:
branches:
- test_on_pr
paths:
- '*.c'
- '*.h'
- 'tests/*'
- 'test'
- '.github/workflows/mdadm-test.yml'
workflow_dispatch:
jobs:
mdadm_tests:
runs-on: ubuntu-latest
name: Run mdadm test script
steps:
- name: Git checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Install build dependencies
run: >-
sudo apt update &&
sudo apt install
--yes --no-upgrade --no-install-recommends --no-install-suggests
make gcc libudev-dev
- name: Build mdadm
run: make -j$(nproc) BINDIR=/usr/sbin
- name: Install mdadm
run: sudo make BINDIR=/usr/sbin install-bin
- name: Print mdadm version
run: mdadm --version
- name: Set targetdir to /mnt/tmp
run: sed -i '/^targetdir=/s,/var/tmp,/mnt/tmp,' test
- name: Create targetdir
run: sudo mkdir -p /mnt/tmp
- name: Run tests
id: run_tests
run: >-
sudo ./test --skip-broken --no-error
--disable-integrity --disable-multipath --disable-linear
--keep-going
continue-on-error: true
- name: Collect logs of failed tests
uses: actions/upload-artifact@v5
with:
name: "mdadm-failed-test-logs"
path: /mnt/tmp/*.log
- name: Fail if any test failed
if: steps.run_tests.outcome != 'success'
run: /bin/false
|