2323 - board : qemu_riscv32
2424 arch : riscv32
2525 extra_args : CONFIG_PICOLIBC_USE_TOOLCHAIN=y
26+ - board : qemu_riscv32_xip
27+ arch : riscv32
28+ extra_args : CONFIG_PICOLIBC_USE_TOOLCHAIN=y
2629 - board : qemu_riscv64
2730 arch : riscv64
2831 extra_args : CONFIG_PICOLIBC_USE_TOOLCHAIN=y
@@ -149,8 +152,12 @@ jobs:
149152 run : |
150153 cd zephyr
151154 source zephyr-env.sh
152- set -o pipefail
153- timeout -k 1s 5s west build -t run 2>&1 | tee run_output.log || true
155+ # No pipe to tee: qemu_riscv32_xip uses -machine sifive_e which has
156+ # no QEMU exit mechanism, so QEMU outlives `timeout` and would keep
157+ # tee blocked. pkill below frees the CPU for the next step.
158+ timeout -k 1s 5s west build -t run > run_output.log 2>&1 || true
159+ pkill -KILL -f "qemu-system.*build/zephyr/zephyr.elf" 2>/dev/null || true
160+ cat run_output.log
154161 if grep -q "Hello World" run_output.log; then
155162 echo "hello_world executed successfully"
156163 else
@@ -179,7 +186,7 @@ jobs:
179186 if : always()
180187 uses : actions/upload-artifact@v7
181188 with :
182- name : zephyr-twister-results-${{ matrix.target.arch }}
189+ name : zephyr-twister-results-${{ matrix.target.board }}
183190 path : |
184191 zephyr/twister-out/twister.log
185192 zephyr/twister-out/twister.json
@@ -188,7 +195,7 @@ jobs:
188195 if : always()
189196 uses : actions/upload-artifact@v7
190197 with :
191- name : zephyr-build-artifacts-${{ matrix.target.arch }}
198+ name : zephyr-build-artifacts-${{ matrix.target.board }}
192199 path : |
193200 zephyr/build/zephyr/zephyr.elf
194201 zephyr/build/zephyr/zephyr.map
0 commit comments