diff options
| author | CYFS <[email protected]> | 2026-04-17 15:32:45 +0800 |
|---|---|---|
| committer | Rbb666 <[email protected]> | 2026-04-19 20:37:38 +0800 |
| commit | ae5b5ed1821b7a9ddcafa024856252fd724634f4 (patch) | |
| tree | 29098fdbb3efbb2dfbaeafb6ac8058de940fd1af /.github | |
| parent | b0e55a46a1d58cadde8f2bbd4afe67a95cdc9368 (diff) | |
[action][utest]:Expand kernel auto-run matrix and sync test configs
Diffstat (limited to '.github')
| -rw-r--r-- | .github/workflows/utest_auto_run.yml | 98 |
1 files changed, 76 insertions, 22 deletions
diff --git a/.github/workflows/utest_auto_run.yml b/.github/workflows/utest_auto_run.yml index df56f699d5..f614652d23 100644 --- a/.github/workflows/utest_auto_run.yml +++ b/.github/workflows/utest_auto_run.yml @@ -59,14 +59,51 @@ jobs: - "default.cfg" include: - # only run on qemu-vexpress-a9 + # run kernel utest set on all QEMU boards - platform: { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" } config_file: "kernel/kernel_basic.cfg" - platform: { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" } config_file: "kernel/ipc.cfg" - platform: { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" } config_file: "kernel/mem.cfg" - + - platform: { UTEST: "A9-rtsmart", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/kernel_basic.cfg" + - platform: { UTEST: "A9-rtsmart", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/ipc.cfg" + - platform: { UTEST: "A9-rtsmart", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "A9-smp", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" } + config_file: "kernel/kernel_basic.cfg" + - platform: { UTEST: "A9-smp", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" } + config_file: "kernel/ipc.cfg" + - platform: { UTEST: "A9-smp", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" } + config_file: "kernel/kernel_basic.cfg" + - platform: { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" } + config_file: "kernel/ipc.cfg" + - platform: { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/kernel_basic.cfg" + - platform: { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/ipc.cfg" + - platform: { UTEST: "RISCV-rtsmart", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/kernel_basic.cfg" + - platform: { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/ipc.cfg" + - platform: { UTEST: "XUANTIE-rtsmart", RTT_BSP: "bsp/xuantie/virt64/c906", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "RISCV-smp", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"smp" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "AARCH64", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "AARCH64-rtsmart", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "rtsmart", "SMP_RUN":"" } + config_file: "kernel/mem.cfg" + - platform: { UTEST: "AARCH64-smp", RTT_BSP: "bsp/qemu-virt64-aarch64", QEMU_ARCH: "aarch64", QEMU_MACHINE: "virt", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"smp" } + config_file: "kernel/mem.cfg" - platform: { UTEST: "A9", RTT_BSP: "bsp/qemu-vexpress-a9", QEMU_ARCH: "arm", QEMU_MACHINE: "vexpress-a9", SD_FILE: "sd.bin", KERNEL: "standard", "SMP_RUN":"" } config_file: "kernel/atomic_c11.cfg" - platform: { UTEST: "RISCV", RTT_BSP: "bsp/qemu-virt64-riscv", QEMU_ARCH: "riscv64", QEMU_MACHINE: "virt", SD_FILE: "None", KERNEL: "standard", "SMP_RUN":"" } @@ -273,38 +310,55 @@ jobs: - name: Monitor qemu log if: ${{ env.TOOLCHAIN_INSTALLED != '' && success() }} + timeout-minutes: 20 run: | FAILURE_DETECTED=false ERROR_LOGS="" + export FAILURE_DETECTED ERROR_LOGS echo "==========================================================================================" echo " || || " echo " || Start automatic running of Utest || " echo " VV VV " echo "==========================================================================================" - tail -n 0 -f qemu_output_$TEST_QEMU_ARCH.log | while read line; do - echo $line - if [[ "$line" == *"[ FAILED ] [ result ]"* ]]; then - ERROR_LOGS="$ERROR_LOGS$line"$'\n' - FAILURE_DETECTED=true - fi - - if [[ "$line" == *"[==========] [ utest ] finished"* ]]; then - if $FAILURE_DETECTED; then + timeout 20m bash -c ' + tail -n 0 -f "qemu_output_${TEST_QEMU_ARCH}.log" | while IFS= read -r line; do + echo "$line" + if [[ "$line" == *"[ FAILED ] [ result ]"* ]]; then + ERROR_LOGS="${ERROR_LOGS}${line}"$'\''\n'\'' + FAILURE_DETECTED=true + fi + + if [[ "$line" == *"[==========] [ utest ] finished"* ]]; then + if [[ "$FAILURE_DETECTED" == "true" ]]; then + echo "==========================================================================================" + echo " || || " + echo " || Error: Failures detected in logs. Below are the failure details... || " + echo " VV VV " + echo "==========================================================================================" + echo "$ERROR_LOGS" + exit 1 + fi echo "==========================================================================================" - echo " || || " - echo " || Error: Failures detected in logs. Below are the failure details... || " - echo " VV VV " + echo " Successed: Utest run completed. Exiting log monitoring " echo "==========================================================================================" - echo "$ERROR_LOGS" - exit 1 + break fi - echo "==========================================================================================" - echo " Successed: Utest run completed. Exiting log monitoring " - echo "==========================================================================================" - break - fi - done + done + ' + monitor_status=$? + + if [[ $monitor_status -eq 124 ]]; then + echo "==========================================================================================" + echo " || || " + echo " || Error: Utest run timed out after 20 minutes. Exiting... || " + echo " VV VV " + echo "==========================================================================================" + pkill -f "qemu-system-${TEST_QEMU_ARCH}.*${TEST_BSP_ROOT}/rtthread.bin" || true + exit 1 + fi + + exit $monitor_status # # Post CI status to PR comment # post-ci-status: # needs: test |
