-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
Summary
PR #34498 ("Add Microsoft.Maui.Client tool for cross-platform device and SDK management") introduced a new Microsoft.Maui.Client.UnitTests test project. These tests are failing with exit code 1 on Windows Helix in both Debug and Release configurations. Additionally, the macOS Release build fails compiling Maui.Controls.Sample.csproj for the net10.0-ios target framework.
Build Details
| Field | Value |
|---|---|
| Pipeline | maui-pr (Definition 302) |
| Build | #1353764 |
| Branch | refs/pull/34498/merge |
| PR | #34498 — "Add Microsoft.Maui.Client tool for cross-platform device and SDK management" |
| Commit | 3172ea61cdae8365d8fbd17c4d2885d34c0c1795 |
| Duration | 2026-03-26T13:55:10Z → 2026-03-26T15:54:49Z (~2h) |
| Author | @rmarinho |
Failed Jobs
| # | Job | Error | Helix? |
|---|---|---|---|
| 1 | Windows Helix Unit Tests (Debug) | Microsoft.Maui.Client.UnitTests.dll exit code 1 |
✅ Yes |
| 2 | Windows Helix Unit Tests (Release) | Microsoft.Maui.Client.UnitTests.dll exit code 1 |
✅ Yes |
| 3 | Build macOS (Release) | CS0246/CS0101/CS0115 in Maui.Controls.Sample for net10.0-ios |
No |
Error Details
Failure 1 & 2 — Windows Helix Unit Tests (Debug + Release)
Helix Job IDs:
- Debug:
b7f27aa0-8338-41de-8277-6c94d15bd6ccande28ec8b6-cf95-4028-a015-38a245715dfa - Release:
bdc02c81-f17a-4b77-9848-1b2f807d7c46and7b3c5204-734d-4a05-90bc-f96d81f7f7f3
Queue: Windows.10.Amd64.Open
Exit code: 1 (test failure)
The PR adds src/Tools/tests/Microsoft.Maui.Client.UnitTests/ and registers it in eng/helix.proj:
(XUnitProject Include="$(RepoRoot)src/Tools/tests/Microsoft.Maui.Client.UnitTests/Microsoft.Maui.Client.UnitTests.csproj" /)
```
**Likely root causes (most probable first):**
1. **`DoctorService` calls live processes** — `DoctorServiceTests.RunAllChecksAsync_IncludesDotNetChecks()` creates a real `DoctorService` that calls `dotnet workload list` and `dotnet --version`. On Helix Windows agents, `dotnet workload list` could fail or produce output that triggers assertion failures (`CheckStatus.Error` propagation).
2. **`AndroidCommandsTests` `Assert.Empty(parseResult.Errors)`** — Tests like `InstallCommand_ParsesCommaSeparatedPackages` use `System.CommandLine 2.0.5` (newly added). Semicolons in package strings like `build-tools;35.0.0` may be parsed differently or trigger parse errors with this version.
3. **`ServiceConfigurationTests.Program_Services_CanBeOverridden`** — Calls `Program.Services = testProvider` and `Program.ResetServices()`. If `Program` has side effects at startup on Windows Helix, this could fail.
**Blob log (requires auth):**
```
(helixr1107v0xdeko0k025g8.blob.core.windows.net/redacted)
```
---
### Failure 3 — Build macOS (Release)
**Log:** Job log 159 in build [#1353764](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1353764)
The macOS Release build fails compiling `Maui.Controls.Sample.csproj` for `TargetFramework=net10.0-ios`:
```
Platforms/Android/MainActivity.cs(1,7): error CS0246: The type or namespace name 'Android' could not be found [net10.0-ios]
Platforms/MacCatalyst/AppDelegate.cs(14,15): error CS0101: The namespace already contains a definition for 'AppDelegate' [net10.0-ios]
Platforms/MacCatalyst/Main.cs(6,15): error CS0101: The namespace already contains a definition for 'Application' [net10.0-ios]
Pages/Core/DragAndDropBetweenLayouts.xaml.cs(31,27): error CS0115: 'OnAppearing()': no suitable method found to override [net10.0-ios]
Pages/Core/FlyoutPageGallery.xaml.cs(26,27): error CS0115: 'OnNavigatedTo(NavigatedToEventArgs)': no suitable method found to override [net10.0-ios]- Android platform files (
Platforms/Android/) are being compiled in thenet10.0-iosTFM context - MacCatalyst files (
Platforms/MacCatalyst/) cause duplicate class definitions for the iOS TFM - Page override methods (
OnAppearing,OnNavigatedTo, etc.) report "no suitable method found"
Controls.Sample.
Root Cause Assessment
| # | Failure | Category | Confidence |
|---|---|---|---|
| 1-2 | Microsoft.Maui.Client.UnitTests Helix |
Code — new tests fail on CI | High |
| 3 | macOS Release Controls.Sample CS errors |
Infrastructure / Pre-existing | Medium |
Recommended Actions
For PR #34498 author (@rmarinho):
- Identify which tests fail — Download the Helix console log from the blob URL above or trigger a new run with
--no-restoreverbose to see exact failure messages - Mock
dotnetprocess calls inDoctorServiceTests—RunAllChecksAsync_IncludesDotNetCheckscalls real processes; use dependency injection / mockProcessRunneror guard with[SkippableFact]/ environment check - Verify
System.CommandLine 2.0.5parsing behavior — The semicolon-containing package strings inAndroidCommandsTestsmay behave differently; run tests locally against the actual System.CommandLine version - Confirm macOS Release failure is pre-existing — Check if the same errors appear in main-branch builds before this PR was created; if pre-existing, track separately
Related
- PR: Add Microsoft.Maui.Client tool for cross-platform device and SDK management #34498
- ADO Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1353764
- Helix job (Debug): https://helix.dot.net/api/jobs/b7f27aa0-8338-41de-8277-6c94d15bd6cc/details
- Helix job (Release): https://helix.dot.net/api/jobs/bdc02c81-f17a-4b77-9848-1b2f807d7c46/details
Warning
⚠️ Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
helixr1107v0xdeko0k025g8.blob.core.windows.net
To allow these domains, add them to the network.allowed list in your workflow frontmatter:
network:
allowed:
- defaults
- "helixr1107v0xdeko0k025g8.blob.core.windows.net"See Network Configuration for more information.
Note
🔒 Integrity filtering filtered 3 items
Integrity filtering activated and filtered the following items during workflow execution.
This happens when a tool call accesses a resource that does not meet the required integrity or secrecy level of the workflow.
- pr:Add Microsoft.Maui.Client tool for cross-platform device and SDK management #34498 (
pull_request_read: Resource 'pr:Add Microsoft.Maui.Client tool for cross-platform device and SDK management #34498' has lower integrity than agent requires. Agent would need to drop integrity tags [unapproved:all approved:all] to trust this resource.) - issue:#0 (
search_issues: Resource 'issue:#0' has lower integrity than agent requires. Agent would need to drop integrity tags [unapproved:all approved:all] to trust this resource.) - issue:#0 (
search_issues: Resource 'issue:#0' has lower integrity than agent requires. Agent would need to drop integrity tags [approved:all unapproved:all] to trust this resource.)
🩺 Diagnosis by CI Failure Doctor for dotnet/maui
- expires on Apr 2, 2026, 4:17 PM UTC