-
Notifications
You must be signed in to change notification settings - Fork 4
101 lines (88 loc) · 3.5 KB
/
qa-igt-slz.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# Copyright (c) 2021-2024 TiaC Systems
# Copyright (c) 2021 Li-Pro.Net
# SPDX-License-Identifier: Apache-2.0
name: QA Integration Test (Hackfest 2022 / SLZ)
on:
workflow_dispatch: # And manually on button click
jobs:
qa-integration:
name: Run integration tests on targets
runs-on: [self-hosted, linux, gnuarmemb, zephyr-sdk, nucleo_g071rb]
strategy:
matrix:
board: [nucleo_g071rb]
steps:
- name: Update GitHub PATH for west
run: |
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Clean working directory
run: |
rm -rf "${{ github.workspace }}/workspace"
- name: Checkout the code
uses: actions/checkout@v4
with:
path: workspace/bridle
submodules: recursive
ref: ${{ github.ref }}
- name: Install base dependencies
working-directory: workspace
run: |
pip3 install --upgrade pip
pip3 install --upgrade setuptools
pip3 install --upgrade --requirement bridle/scripts/requirements-base.txt
- name: West init and update
working-directory: workspace
run: |
west init -l bridle
west update
west zephyr-export
west bridle-export
- name: Install build and test dependencies
working-directory: workspace
run: |
pip3 install --upgrade --requirement zephyr/scripts/requirements-base.txt
pip3 install --upgrade --requirement zephyr/scripts/requirements-build-test.txt
pip3 install --upgrade --requirement zephyr/scripts/requirements-run-test.txt
pip3 install --upgrade --requirement zephyr/scripts/requirements-extras.txt
pip3 install --upgrade --requirement zephyr/scripts/requirements-compliance.txt
pip3 install --upgrade --requirement bridle/scripts/requirements-build.txt
- name: Execute integration tests on target
working-directory: workspace
env:
HARDWARE_MAP: bridle/.github/${{ github.job }}/map-${{ matrix.board }}.yml
run: |
#
# Disabled in the meantime because the execution time is still
# too high and most of the core tests are already performed by
# Zephyr in any case:
#
# --testsuite-root zephyr/tests/kernel \
# --testsuite-root zephyr/tests/arch/arm \
#
# Disabled in the meantime because the execution results
# <failure type="failure" message="Unknown" /> in the
# twister report XML file:
#
# --testsuite-root bridle/tests/drivers/watchdog \
#
export ZEPHYR_BASE="$(pwd)/zephyr"
export BRIDLE_BASE="$(pwd)/bridle"
./zephyr/scripts/twister --verbose --jobs 1 --inline-logs \
--enable-size-report --platform-reports \
--device-testing --hardware-map ${HARDWARE_MAP} \
--testsuite-root zephyr/tests/kernel/mutex/sys_mutex
continue-on-error: true
- name: Upload results
uses: actions/upload-artifact@v4
with:
name: twister_report.xml
path: workspace/twister-out/twister_report.xml
continue-on-error: true
- name: Convert integration test reports to annotations
uses: mikepenz/action-junit-report@v4
with:
check_name: twister-report (${{ matrix.board }})
report_paths: "**/twister-out/twister_report.xml"
require_tests: true
fail_on_failure: false
if: always()