Limit Helix job monitor to runtime pipeline - #132084
Conversation
Default the shared monitor switch to false and opt the runtime pipeline in explicitly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c07f370-3ea0-4352-8610-0ab0cf1f7b0a
|
Azure Pipelines: Successfully started running 5 pipeline(s). 11 pipeline(s) were filtered out due to trigger conditions. There may be pipelines that require an authorized user to comment /azp run to run. |
|
Tagging subscribers to this area: @akoeplinger, @matouskozak, @simonrozsival |
There was a problem hiding this comment.
Pull request overview
Scopes the Helix Job Monitor feature to the main eng/pipelines/runtime.yml pipeline by disabling it by default in shared pipeline variables and explicitly opting in from the runtime pipeline definition.
Changes:
- Default
enableHelixJobMonitortofalseineng/pipelines/common/variables.yml. - Explicitly set
enableHelixJobMonitor: trueineng/pipelines/runtime.ymlso the runtime pipeline continues to include the monitor job and passuseHelixMonitorthrough its Helix template invocations.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| eng/pipelines/runtime.yml | Opts the runtime pipeline into Helix Job Monitor explicitly via a local variable override. |
| eng/pipelines/common/variables.yml | Changes the shared default for enableHelixJobMonitor to false so other pipelines don’t implicitly enable monitoring behavior. |
|
is there a plan to enable it back on other pipelines, e.g. |
|
we can opt in more pipelines step by step |
|
@mmitche build monitor seems to be holding up this PR too (at least for the next hour or so, it seems to timeout after 6+ hours) |
|
We should also enable it very soon in the JitStress pipelines that run a lot of scenarios. We've already taken a change that depends on the job monitor for those pipelines to not wait on jobs to finish before submitting more jobs. |
|
/ba-g runtime and runtime-diagnostics pipeline failures are unrelated to this change |
## Summary - default `enableHelixJobMonitor` to `false` in the shared pipeline variables - explicitly enable it in `eng/pipelines/runtime.yml` - preserve the standalone monitor job and fire-and-forget submissions only for the runtime pipeline ## Motivation The original rollout in dotnet#129690 intended to enable the Helix Job Monitor only for the runtime pipeline. However, the switch was set to `true` in the shared variables template imported by other pipelines. This caused standalone pipelines such as [`runtime-coreclr superpmi-collect` build 3043381](https://dev.azure.com/dnceng/internal/_build/results?buildId=3043381&view=results) to configure Helix submissions for out-of-band monitoring without adding a monitor job. Those submissions returned after submission rather than waiting for completion. Defaulting the shared switch off and opting in from `runtime.yml` keeps the complete feature scoped to its intended pipeline. ## Validation - `git diff --check` - verified `enableHelixJobMonitor` is enabled only by `eng/pipelines/runtime.yml` > [!NOTE] > This pull request description was generated with GitHub Copilot. Copilot-Session: 0c07f370-3ea0-4352-8610-0ab0cf1f7b0a
Summary
enableHelixJobMonitortofalsein the shared pipeline variableseng/pipelines/runtime.ymlMotivation
The original rollout in #129690 intended to enable the Helix Job Monitor only for the runtime pipeline. However, the switch was set to
truein the shared variables template imported by other pipelines.This caused standalone pipelines such as
runtime-coreclr superpmi-collectbuild 3043381 to configure Helix submissions for out-of-band monitoring without adding a monitor job. Those submissions returned after submission rather than waiting for completion.Defaulting the shared switch off and opting in from
runtime.ymlkeeps the complete feature scoped to its intended pipeline.Validation
git diff --checkenableHelixJobMonitoris enabled only byeng/pipelines/runtime.ymlNote
This pull request description was generated with GitHub Copilot.