[CI] Collect diagnostic info on LaunchTimedOut simulator failures. Ref #25299#25300
[CI] Collect diagnostic info on LaunchTimedOut simulator failures. Ref #25299#25300rolfbjarne wants to merge 5 commits intomainfrom
Conversation
…#25299 When simulator tests fail with LaunchTimedOut, collect diagnostic info: - Simulator list (simctl list) to check boot state - Simulator boot status for the target UDID - Installed apps on the simulator Also run simctl diagnose in the pipeline on test failure (not only when system.debug is true). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
CC #25299 |
There was a problem hiding this comment.
Pull request overview
Updates CI and xharness to collect additional simulator diagnostics when tests fail due to simulator launch timeouts, improving debuggability of intermittent LaunchTimedOut failures in the Apple-platform test infrastructure.
Changes:
- Run
xcrun simctl diagnosein the test pipeline on job failure (not only whensystem.debugis enabled) and publish the resulting artifact. - Add xharness-side diagnostic collection for
LaunchTimedOutresults (simctl list,bootstatus,listapps) into a dedicated log.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| tools/devops/automation/templates/tests/run-tests.yml | Adjusts step conditions so simulator diagnostics are collected/published on failures as well as debug runs. |
| tests/xharness/AppRunner.cs | Adds targeted LaunchTimedOut diagnostic logging via simctl commands. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Log the LaunchTimedOut condition to the Jenkins main log so it's visible in the pipeline output (previously it was only in a per-test Run log file). Also collect load average and recent crash reports in the diagnostic log, since we found sqlite3 crashes correlated with LaunchTimedOut failures. Ref #25299 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
When a simulator test launch times out, retry once with a fresh AppRunner. This addresses the transient failures caused by high system load and sqlite3 crashes on CI machines that prevent simulators from properly launching test apps. Also propagate AppRunner.FailureMessage to the test task so failure details are visible in the test report. Ref #25299 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
✅ [PR Build #23a7934] Build passed (Build packages) ✅Pipeline on Agent |
✅ [PR Build #23a7934] Build passed (Detect API changes) ✅Pipeline on Agent |
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
✅ [PR Build #23a7934] Build passed (Build macOS tests) ✅Pipeline on Agent |
🔥 [CI Build #23a7934] Test results 🔥Test results❌ Tests failed on VSTS: test results 1 tests crashed, 2 tests failed, 164 tests passed. Failures❌ fsharp tests2 tests failed, 2 tests passed.Failed tests
Html Report (VSDrops) Download ❌ windows tests🔥 Failed catastrophically on VSTS: test results - windows (no summary found). Html Report (VSDrops) Download Successes✅ cecil: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Monterey (12): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
When simulator tests fail with LaunchTimedOut, collect diagnostic info:
Also run simctl diagnose in the pipeline on test failure (not only
when system.debug is true).