Enable Helix Job Monitor for the runtime pipeline#129690
Conversation
|
Tagging subscribers to this area: @akoeplinger, @matouskozak, @simonrozsival |
There was a problem hiding this comment.
Pull request overview
This PR wires up Helix Job Monitor support across the runtime Azure DevOps pipelines by introducing a useHelixMonitor parameter through the relevant YAML templates, enabling it for the runtime pipeline test legs, and adding the Helix Job Monitor .NET tool/dependency so the monitor job can run.
Changes:
- Add a
HelixJobMonitorjob toeng/pipelines/runtime.yml(Build stage) using the sharedeng/commontemplate. - Plumb a
useHelixMonitorparameter through Helix-related pipeline templates and pass/p:EnableHelixJobMonitor=...through the various “send to helix” paths. - Add
Microsoft.DotNet.Helix.JobMonitortool/dependency and pin it in.config/dotnet-tools.json.
Reviewed changes
Copilot reviewed 18 out of 18 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| eng/Version.Details.xml | Adds the Microsoft.DotNet.Helix.JobMonitor toolset dependency entry. |
| eng/Version.Details.props | Adds version properties for the Helix Job Monitor dependency. |
| eng/pipelines/runtime.yml | Adds the Helix Job Monitor job and enables useHelixMonitor: true across runtime pipeline test legs. |
| eng/pipelines/libraries/run-test-job.yml | Introduces useHelixMonitor parameter and forwards it into the libraries Helix submission step. |
| eng/pipelines/libraries/helix.yml | Accepts useHelixMonitor and passes /p:EnableHelixJobMonitor=... into sendtohelix.proj. |
| eng/pipelines/installer/helix.yml | Adds useHelixMonitor, but currently passes UseHelixMonitor into /eng/common/templates/steps/send-to-helix.yml (template parameter mismatch; needs fix). |
| eng/pipelines/coreclr/nativeaot-post-build-steps.yml | Adds useHelixMonitor pass-through to the shared runtime test+Helix submit template. |
| eng/pipelines/common/templates/wasm-runtime-tests.yml | Adds and forwards useHelixMonitor into the Helix submission path. |
| eng/pipelines/common/templates/wasm-library-tests.yml | Adds and forwards useHelixMonitor into the Helix submission path. |
| eng/pipelines/common/templates/wasm-library-aot-tests.yml | Adds and forwards useHelixMonitor into nested wasm templates. |
| eng/pipelines/common/templates/wasm-coreclr-library-tests.yml | Adds and forwards useHelixMonitor into the Helix submission path. |
| eng/pipelines/common/templates/simple-wasm-build-tests.yml | Adds and forwards useHelixMonitor into the Helix submission path for WBT scenarios. |
| eng/pipelines/common/templates/runtimes/send-to-helix-step.yml | Adds useHelixMonitor and includes /p:EnableHelixJobMonitor=... in the computed send parameters. |
| eng/pipelines/common/templates/runtimes/run-test-job.yml | Adds useHelixMonitor parameter and forwards it to send-to-helix-step.yml. |
| eng/pipelines/common/templates/runtimes/build-runtime-tests-and-send-to-helix.yml | Adds useHelixMonitor parameter and forwards it to send-to-helix-step.yml. |
| eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml | Hard-enables useHelixMonitor: true for the CoreCLR Wasm.Build.Tests Helix submission. |
| eng/pipelines/common/templates/browser-wasm-build-tests.yml | Adds and forwards useHelixMonitor for non-CoreCLR WBT Helix submissions. |
| .config/dotnet-tools.json | Adds the microsoft.dotnet.helix.jobmonitor tool entry and pins its version. |
- Add useHelixMonitor parameter to all helix pipeline templates - Enable Helix Monitor in runtime.yml for all test legs - Add helix-job-monitor.yml template job at the top of the Build stage - Add Microsoft.DotNet.Helix.JobMonitor dependency (same version as Arcade) - Pass EnableHelixJobMonitor MSBuild property through send-to-helix Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
20899d1 to
624f97d
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 18 out of 19 changed files in this pull request and generated 3 comments.
Comments suppressed due to low confidence (1)
eng/pipelines/common/templates/browser-wasm-coreclr-build-tests.yml:145
- This template hard-codes
useHelixMonitor: truewhen invoking the libraries Helix template. Since other Helix templates were updated to accept auseHelixMonitorparameter (defaulting to false) andruntime.ymlis now explicitly setting it, this hard-codedtruemakes the behavior inconsistent and harder to roll back/experiment with.
Consider adding a useHelixMonitor parameter to this template (default false) and threading it through instead of hard-coding true.
testRunNamePrefixSuffix: CoreCLR_$(_BuildConfig)_$(_hostedOs)
extraHelixArguments: /p:BrowserHost=$(_hostedOs)
scenarios:
- buildwasmapps
useHelixMonitor: true
| - template: /eng/common/core-templates/job/helix-job-monitor.yml | ||
| parameters: | ||
| helixAccessToken: $(HelixApiAccessToken) | ||
| timeoutInMinutes: 540 | ||
|
|
| testBuildArgs: nativeaot tree nativeaot | ||
| liveLibrariesBuildConfig: Release | ||
| testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig) | ||
| useHelixMonitor: true | ||
| extraVariablesTemplates: |
| - template: /eng/common/core-templates/job/helix-job-monitor.yml | ||
| parameters: | ||
| helixAccessToken: $(HelixApiAccessToken) | ||
| timeoutInMinutes: 540 |
| <PropertyGroup> | ||
| <!-- dotnet-arcade dependencies --> | ||
| <MicrosoftDotNetHelixJobMonitorPackageVersion>11.0.0-beta.26325.1</MicrosoftDotNetHelixJobMonitorPackageVersion> | ||
| <!-- dotnet-dotnet dependencies --> | ||
| <MicrosoftCodeAnalysisPackageVersion>5.9.0-1.26319.105</MicrosoftCodeAnalysisPackageVersion> |
| - powershell: > | ||
| $(Build.SourcesDirectory)\eng\common\msbuild.ps1 | ||
| $(Build.SourcesDirectory)/${{ parameters.HelixProjectPath }} | ||
| /restore | ||
| /p:TreatWarningsAsErrors=false | ||
| /p:EnableHelixJobMonitor=${{ parameters.UseHelixMonitor }} | ||
| ${{ parameters.HelixProjectArguments }} | ||
| /t:Test | ||
| /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/SendToHelix.binlog |
…nitor-rebased # Conflicts: # eng/Version.Details.xml
…nitor-rebased # Conflicts: # eng/Version.Details.xml
| /p:TreatWarningsAsErrors=false | ||
| /p:EnableHelixJobMonitor=${{ parameters.UseHelixMonitor }} | ||
| ${{ parameters.HelixProjectArguments }} | ||
| /t:Test | ||
| /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/SendToHelix.binlog |
| - stage: Build | ||
| jobs: | ||
|
|
||
| - template: /eng/common/core-templates/job/helix-job-monitor.yml | ||
| parameters: | ||
| helixAccessToken: $(HelixApiAccessToken) | ||
| timeoutInMinutes: 540 |
| creator: dotnet-bot | ||
| testBuildArgs: nativeaot tree nativeaot | ||
| liveLibrariesBuildConfig: Release | ||
| testRunNamePrefixSuffix: NativeAOT_$(_BuildConfig) | ||
| useHelixMonitor: true |
dotnet/arcade#16731