fix(macos): gate real GL for the whole test build; add Windows diagnostics

- The macOS SIGSEGV moved from the gl_bridge unit tests (already gated)
  to other real-GL users in the same binary (suites::gl_render,
  render_driver): make the gate systemic in the test build on macOS.
  gl_available() reports unavailable and acquire() fails unless
  OAK_GPU_TESTS is set, so every unit test takes its documented CPU
  fallback; release builds are untouched.
- Dump Apple's crash reports on macOS failure: a SIGSEGV in a test binary
  prints nothing, and the .ips report carries the native stack.
- The Windows-only multicam graph test failure now prints both decoded
  media probes and both rendered source pixels: that separates a broken
  test-media encode from a broken graph switch in one run.
This commit is contained in:
2026-09-24 15:33:25 +08:00
parent b94158a941
commit 67cea4844c
3 changed files with 63 additions and 0 deletions
+11
View File
@@ -505,6 +505,17 @@ jobs:
cargo test --workspace --locked
fi
# A SIGSEGV in a test binary gives no Rust backtrace; Apple's crash
# reports carry the native stack, so surface the newest ones.
- name: Crash reports
if: failure()
run: |
for f in $(ls -t ~/Library/Logs/DiagnosticReports/*.ips 2>/dev/null | head -3); do
echo "===== $f"
head -c 6000 "$f"
echo
done
# second upstream target: openKylin (Debian/Ubuntu-derived) in its own
# image. The base image is bare (no sudo, no make, no python3) and the
# steps run as root, so there is no sudo prefix anywhere below.