summaryrefslogtreecommitdiffstats
path: root/.github/workflows/tests.yml
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-12-12 17:22:06 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-12-12 17:22:06 +0000
commit702eb8bf57b076e15e074f6a0c6fd04fb62546d9 (patch)
treee356c38fbe7b86af13593f321fa0da09a991e76f /.github/workflows/tests.yml
parentAdding upstream version 4.3+20241108. (diff)
downloadmdadm-702eb8bf57b076e15e074f6a0c6fd04fb62546d9.tar.xz
mdadm-702eb8bf57b076e15e074f6a0c6fd04fb62546d9.zip
Adding upstream version 4.3+20241202.upstream/4.3+20241202upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '.github/workflows/tests.yml')
-rw-r--r--.github/workflows/tests.yml77
1 files changed, 77 insertions, 0 deletions
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 0000000..ce94010
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,77 @@
+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