Skip to content

Commit

Permalink
test: Fix saving artifacts
Browse files Browse the repository at this point in the history
Currentlty, if error is returned by test command, execution of other
steps is aborted. In that case, continue-on-error safe artifict 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 <[email protected]>
  • Loading branch information
mtkaczyk committed Nov 29, 2024
1 parent 4447238 commit fcd6d67
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
7 changes: 7 additions & 0 deletions .github/tools/run_mdadm_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
17 changes: 17 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ on:
- '*.h'
- 'tests/*'
- 'test'
- '.github/*'
- '.github/workflows/*'
- '.github/tools/*'
jobs:
upstream_tests:
if: ${{ github.repository == 'md-raid-utilities/mdadm' }}
Expand All @@ -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]
Expand Down

0 comments on commit fcd6d67

Please sign in to comment.