tests #30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: tests | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
pull_request: | |
paths: | |
- '*.c' | |
- '*.h' | |
- 'tests/*' | |
- 'test' | |
- '.github/*' | |
- '.github/workflows/*' | |
- '.github/tools/*' | |
jobs: | |
upstream_tests: | |
if: ${{ github.repository == 'md-raid-utilities/mdadm' }} | |
runs-on: self-hosted | |
timeout-minutes: 150 | |
name: upstream tests | |
steps: | |
- uses: actions/checkout@v4 | |
if: ${{ github.event_name == 'pull_request' }} | |
with: | |
ref: ${{ github.event.pull_request.head.sha }} | |
fetch-depth: 0 | |
- uses: actions/checkout@v4 | |
if: ${{ github.event_name == 'schedule' }} | |
with: | |
ref: main | |
fetch-depth: 0 | |
- name: 'Prepare machine' | |
run: | | |
cd .. | |
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] | |
steps: | |
- name: Restore clean VM | |
run: | | |
cd .. | |
vagrant up | |
vagrant ssh -c "sudo mdadm -Ss" | |
vagrant halt |