You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: ui-tests-ci-hang.plan.md
+6-2Lines changed: 6 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -79,8 +79,8 @@ Fix the `DotPilot.UITests` GitHub Actions execution path so the required UI test
79
79
-[x]`GitHub Actions job: UI Tests`
80
80
Failure symptom: the PR validation run enters `Run UI Tests`, then fails to produce a terminal result and may later surface `Attempting to cancel the build... Error: The operation was canceled.`
81
81
Suspected cause: the UI test harness had unbounded teardown calls for `_browserApp.Dispose()` and `BrowserTestHost.Stop()`, so a Windows-specific cleanup hang could leave the job running until GitHub eventually canceled it.
82
-
Intended fix path: bound teardown cleanup with explicit timeoutsand convert cleanup hangs into deterministic test failures instead of infinite jobs.
83
-
Status: bounded cleanup is fixed locally; CI still needs instrumented logs to confirm whether any remaining hang is in driver/bootstrap, browser startup, host readiness, or teardown.
82
+
Intended fix path: bound teardown cleanup with explicit timeouts, add harness stage logging, bound Chrome version probing, and move the GitHub UI suite to the macOS browser environment that already ships Chrome and ChromeDriver.
83
+
Status: bounded cleanup is fixed locally; the remaining patch now also removes an unbounded browser-version probe and switches CI off the hanging Windows runner path, but GitHub still needs a fresh run to confirm the terminal result.
84
84
85
85
## Baseline Notes
86
86
@@ -95,7 +95,11 @@ Fix the `DotPilot.UITests` GitHub Actions execution path so the required UI test
95
95
- Added bounded cleanup execution in `DotPilot.UITests` so teardown now fails fast if app disposal or browser-host shutdown hangs.
96
96
- Added focused regression tests for the bounded-cleanup helper to prove success, exception, and timeout behavior.
97
97
- Added harness logging around browser binary resolution, ChromeDriver resolution, host startup, setup, and cleanup so the next GitHub run exposes the exact blocking stage instead of sitting silent inside `Run UI Tests`.
98
+
- Added a timeout around Chrome `--version` probing so browser bootstrap now fails fast instead of hanging the whole UI job when the version probe process stalls.
99
+
- Added driver-version mapping reuse by browser build/platform so the harness can reuse a cached matching ChromeDriver without re-querying the Chrome-for-Testing patch endpoint every time.
100
+
- Moved the GitHub Actions `UI Test Suite` job to `macos-latest` and injects the preinstalled Chrome and ChromeDriver paths through the existing Uno.UITest environment variables.
98
101
-`dotnet test DotPilot.UITests/DotPilot.UITests.csproj --filter BoundedCleanupTests` passed.
102
+
-`dotnet test DotPilot.UITests/DotPilot.UITests.csproj --filter BrowserAutomationBootstrapTests` passed.
99
103
-`dotnet test DotPilot.UITests/DotPilot.UITests.csproj` passed with `9` tests green.
100
104
-`dotnet test ./DotPilot.UITests/DotPilot.UITests.csproj --logger GitHubActions --blame-crash` passed with `9` tests green.
0 commit comments