ref:50374318be3bdfbcd230ced4a949901bacdefa91

ci: pass the reset e2e on QEMU 8.2 and upload artifacts by glob

QEMU before 9.0 doesn't send the reboot's text-mode scanout over D-Bus, so the reset mode expects one display there. The runner only uploads files or glob matches, not bare directories. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BPNw4PCgkEfhyCjQT19wsb
SHA: 50374318be3bdfbcd230ced4a949901bacdefa91
Author: Cole Christensen <cole.christensen@gmail.com>
Date: 2026-09-13 11:55
Parents: bbd3e59
2 files changed +12 -4
Type
.anvil.yml +3 −3
@@ -41,7 +41,7 @@
scripts/ci/anvil-test.sh unit on
artifacts:
- name: unit-on
path: ci-artifacts/
path: ci-artifacts/**/*
- name: build-and-unit-test-qemu-off
runs_on: [linux, amd64]
@@ -53,7 +53,7 @@
scripts/ci/anvil-test.sh unit off
artifacts:
- name: unit-off
path: ci-artifacts/
path: ci-artifacts/**/*
- name: lint
runs_on: [linux, amd64]
@@ -82,7 +82,7 @@
done
artifacts:
- name: e2e
path: ci-artifacts/**/*
path: ci-artifacts/
- name: requirements
runs_on: [linux, amd64]
scripts/ci/anvil-test.sh +9 −1
@@ -165,7 +165,15 @@
audio) E2E_AUDIO=1 tests/e2e/qemu/e2e_stream.sh ;;
input-absolute) E2E_INPUT=absolute tests/e2e/qemu/e2e_stream.sh ;;
input-relative) E2E_INPUT=relative tests/e2e/qemu/e2e_stream.sh ;;
reset) E2E_RESET_AFTER_FRAMES=60 tests/e2e/qemu/e2e_stream.sh ;;
reset)
# QEMU before 9.0 doesn't send the reboot's text-mode scanout over D-Bus, so only the first display is certain
local major
major="$("${QEMU:-qemu-system-x86_64}" --version | sed -n 's/^QEMU emulator version \([0-9]*\)\..*/\1/p')"
if [[ -n "${major}" ]] && ((major < 9)); then
export E2E_RESET_MIN_DISPLAYS="${E2E_RESET_MIN_DISPLAYS:-1}"
fi
E2E_RESET_AFTER_FRAMES=60 tests/e2e/qemu/e2e_stream.sh
;;
dmabuf)
if ! compgen -G "/dev/dri/renderD*" > /dev/null; then
echo "SKIPPED: e2e dmabuf needs a DRM render node (/dev/dri/renderD*); this runner has none (REQ-CAP-003 not checked)"