diff options
author | Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> | 2024-11-29 09:48:03 +0100 |
---|---|---|
committer | Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com> | 2024-12-02 09:23:04 +0100 |
commit | aa8df7f4d1f468e30330bc90801746b4de0e2647 (patch) | |
tree | 45de185530621691166ac6e08edaed9cae18e5fb | |
parent | test: return fail if any failed (diff) | |
download | mdadm-aa8df7f4d1f468e30330bc90801746b4de0e2647.tar.xz mdadm-aa8df7f4d1f468e30330bc90801746b4de0e2647.zip |
test: Fix saving artifacts
Currently, if error is returned by test command, execution of other
steps is aborted. In that case, continue-on-error safe artifact but
return error later and fail the job.
If executions passed, there are no artifacts to safe, therefore do not
safe them.
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
-rwxr-xr-x | .github/tools/run_mdadm_tests.sh | 7 | ||||
-rw-r--r-- | .github/workflows/tests.yml | 17 |
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] |