summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-x.github/tools/run_mdadm_tests.sh7
-rw-r--r--.github/workflows/tests.yml17
2 files changed, 24 insertions, 0 deletions
diff --git a/.github/tools/run_mdadm_tests.sh b/.github/tools/run_mdadm_tests.sh
index 5c50db43..456874b5 100755
--- a/.github/tools/run_mdadm_tests.sh
+++ b/.github/tools/run_mdadm_tests.sh
@@ -5,7 +5,14 @@ sudo make -j$(nproc)
sudo make install
sudo mdadm -Ss
sudo ./test setup
+
+# Uncomment and adjust this to minimalize testing time for CI or test improvements.
+# --tests=test1,test2,... Comma separated list of tests to run
+
+#sudo ./test --tests=00createnames
+
sudo ./test --skip-broken --no-error --disable-integrity --disable-multipath --disable-linear --keep-going
+
ret=$?
sudo ./test cleanup
exit $ret
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 7bfbcb3a..ce940108 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -8,6 +8,9 @@ on:
- '*.h'
- 'tests/*'
- 'test'
+ - '.github/*'
+ - '.github/workflows/*'
+ - '.github/tools/*'
jobs:
upstream_tests:
if: ${{ github.repository == 'md-raid-utilities/mdadm' }}
@@ -31,23 +34,37 @@ jobs:
vagrant halt
vagrant status
vagrant up
+
- name: 'Run tests'
+ id: testing
+ continue-on-error: true
run: |
cd ..
vagrant ssh -c "cd /home/vagrant/host/mdadm && .github/tools/run_mdadm_tests.sh"
+
- name: 'Copy logs to host machine'
+ if: ${{ steps.testing.outcome == 'failure' }}
run: |
cd ..
vagrant ssh -c "sudo mkdir -p /home/vagrant/host/logs && sudo mv /var/tmp/*.log /home/vagrant/host/logs"
+
- name: "Save artifacts"
+ if: ${{ steps.testing.outcome == 'failure' }}
uses: actions/upload-artifact@v4
with:
name: "Logs from failed tests"
path: /home/ci/actions-runner/_work/mdadm/logs/*.log
+
- name: "Clean logs"
+ if: ${{ steps.testing.outcome == 'failure' }}
run: |
cd ..
sudo rm /home/ci/actions-runner/_work/mdadm/logs/*.log
+
+ - name: "Set failed"
+ if: ${{ steps.testing.outcome == 'failure' }}
+ run: exit 1
+
cleanup:
runs-on: self-hosted
needs: [upstream_tests]