1
1
---
2
- name : CI on push release tag
2
+ name : Run DTS tests
3
3
on :
4
4
pull_request :
5
5
# branches:
10
10
run-tests :
11
11
name : Run DTS tests
12
12
if : ${{ contains(join(needs.*.result, ','), 'success') }}
13
- needs : build
13
+ needs : build-dts
14
14
runs-on :
15
15
labels : dts-builder
16
+ outputs :
17
+ qemu_pid : ${{ steps.run_qemu.outputs.qemu_pid }}
16
18
steps :
17
19
- name : Checkout OSFV repo
18
20
uses : actions/checkout@v4
@@ -24,15 +26,11 @@ jobs:
24
26
- name : Copy DTS binary
25
27
shell : bash
26
28
run : |
29
+ mkdir open-source-firmware-validation/scripts/ci/qemu-data
27
30
bmaptool copy \
28
31
--bmap build/tmp/deploy/images/genericx86-64/dts-base-image-genericx86-64.wic.bmap \
29
32
build/tmp/deploy/images/genericx86-64/dts-base-image-genericx86-64.wic.gz \
30
33
open-source-firmware-validation/scripts/ci/qemu-data/dts.img
31
- - name : Set up Python
32
- uses : actions/setup-python@v5
33
- with :
34
- cache : ' pip'
35
- python-version : ' 3.12'
36
34
- name : Install requirements
37
35
shell : bash
38
36
run : |
44
42
shell : bash
45
43
id : run_qemu
46
44
run : |
45
+ cd open-source-firmware-validation
47
46
HDD_PATH=./scripts/ci/qemu-data/dts.img ./scripts/ci/qemu-run.sh nographic os &
48
47
pid=$!
49
48
echo "qemu_pid=$pid" >> "$GITHUB_OUTPUT"
@@ -71,14 +70,19 @@ jobs:
71
70
LOG_DIR : ${{ steps.log_dirs.outputs.directory }}
72
71
run : |
73
72
cp log.html $LOG_DIR/log.html
74
- - name : Cleanup
75
- if : always()
73
+ cleanup :
74
+ name : Cleanup
75
+ if : always()
76
+ needs : run-tests
77
+ runs-on :
78
+ labels : dts-builder
79
+ steps :
80
+ - name : Cleanup after tests
76
81
shell : bash
77
82
run : |
78
- deactivate
79
- qemu_pid="${{ steps.run_qemu.outputs.qemu_pid }}"
83
+ qemu_pid="${{ needs.run-tests.outputs.qemu_pid }}"
80
84
if [ ! -z "$qemu_pid" ]; then
81
85
kill $qemu_pid
82
86
fi
83
87
cd ..
84
- rm -rf open-source-firmware-validation meta-dts
88
+ rm -rf open-source-firmware-validation meta-dts build
0 commit comments