Commit ec79089
[net11.0] Use Helix job monitor for unit tests (#37852)
<!-- Please let the below note in for people that find this PR -->
> [!NOTE]
> Are you waiting for the changes in this PR to be merged?
> It would be very helpful if you could [test the resulting
artifacts](https://github.com/dotnet/maui/wiki/Testing-PR-Builds) from
this PR and let us know in a comment if this change resolves your issue.
Thank you!
## Root cause
`maui-pr` builds
[1568023](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1568023)
and
[1568717](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1568717)
failed their Windows Helix lanes even though the affected xUnit commands
completed with exit code 0. The latest run dead-lettered nine work items
after the legacy per-work-item Azure Pipelines reporter hit `TF10216`
service-unavailable responses and 100-second read timeouts.
## Fix
- Opt the unit-test submission jobs into `EnableHelixJobMonitor`, which
disables the legacy per-work-item reporter and hands completion/result
publication to one monitor job.
- Bootstrap the pinned SDK and install the matching
`Microsoft.DotNet.Helix.JobMonitor` version only inside the dedicated
Linux monitor job. This keeps the net11-targeted tool out of the
repository-wide tool manifest, whose restore runs before the pinned SDK
is available.
- Invoke the Arcade bootstrap script through `bash` because MAUI's
generated copy is not executable.
- Give the monitor a 360-minute timeout so it outlives the 240-minute
submission jobs.
The monitor runs alongside the submitters in the same stage and gates on
both the stage timeline and every discovered Helix job. Real test
failures still fail the centralized monitor; only the unreliable legacy
reporting path is removed.
No open `net11.0` PR currently addresses the Helix reporter failure.
This uses the job-monitor path already shipped by the branch-pinned
Arcade SDK instead of suppressing test failures or dropping Azure DevOps
test results.
## Validation
- Restored the unchanged root tool manifest from an empty NuGet cache.
- Installed and invoked `dotnet-helix-job-monitor` version
`11.0.0-beta.26379.102` from an isolated empty cache.
- Verified the normal path remains `monitor=false`, `reporter=true`,
`wait=true`.
- Verified the monitored stage path evaluates to `monitor=true`,
`reporter=false`, `wait=false`.
- Parsed the updated Azure Pipelines YAML and checked the patch for
whitespace errors.
The first PR run,
[1568855](https://dev.azure.com/dnceng-public/public/_build/results?buildId=1568855),
exposed two integration issues in the initial implementation: adding the
net11 tool to the root manifest broke pre-bootstrap restores, and the
generated monitor template directly executed a non-executable script.
Commit `d1ca1493b8` corrects both by isolating installation and invoking
the script through `bash`.
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent bedd1b1 commit ec79089
1 file changed
Lines changed: 62 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
50 | 53 | | |
51 | 54 | | |
52 | 55 | | |
| |||
91 | 94 | | |
92 | 95 | | |
93 | 96 | | |
94 | | - | |
| 97 | + | |
95 | 98 | | |
96 | 99 | | |
97 | | - | |
| 100 | + | |
98 | 101 | | |
99 | | - | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
0 commit comments