Repository navigation
Enable Arcade CI mode for Helix and code coverage - #7704
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove the temporary Build Analysis experiment test now that the CI behavior has been captured. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #7704 +/- ##
==========================================
- Coverage 70.81% 70.81% -0.01%
==========================================
Files 1421 1421
Lines 280034 280034
Branches 27621 27621
==========================================
- Hits 198304 198301 -3
+ Misses 73568 73563 -5
- Partials 8162 8170 +8
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🟡 Changes recommended
Fix the Unix-incompatible script syntax and centralize the Torch native package versions.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Enables Arcade CI mode for Helix and code-coverage workflows while configuring native dependency paths.
Changes:
- Adds platform-specific CI flags to build, test, and Helix invocations.
- Resolves package-root and LightGBM paths dynamically for coverage.
- Configures native TorchSharp dependencies for coverage tests.
File summaries
| File | Summary | Findings |
|---|---|---|
build/ci/job-template.yml |
Updates shared CI, Helix, and coverage commands. | Critical: Windows cmd.exe syntax is used in Unix Bash steps. Moderate: Torch native package versions remain hard-coded instead of using centralized properties. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c0435a7a-e09d-4246-a749-c89d64d47f4f
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c0435a7a-e09d-4246-a749-c89d64d47f4f
|
Should we enable the |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: c0435a7a-e09d-4246-a749-c89d64d47f4f
|
@matouskozak Good point. I think they should, so I enabled them. |
| $packageRoot = $properties.NuGetPackageRoot | ||
| $env:PATH += ";${packageRoot}libtorch-cpu-win-x64\$($properties.LibTorchVersion)\runtimes\win-x64\native" | ||
| $env:PATH += ";${packageRoot}torchsharp\$($properties.TorchSharpVersion)\runtimes\win-x64\native" |
There was a problem hiding this comment.
Are these the only native libraries we should add? I think TensorFlow also has some dependency.
There was a problem hiding this comment.
TensorFlow does have a native dependency, but it doesn't need to be added here, the dependency can be correctly resolved already.
There was a problem hiding this comment.
Do you know why the CodeCoverage run skipped the Tensorflow tests https://dev.azure.com/dnceng-public/public/_build/results?buildId=1642172&view=ms.vss-test-web.build-test-results-tab ?
There was a problem hiding this comment.
Actually, TensorFlow should be added here, so I did that.
There are other TensorFlow (and more) tests that are still skipped. I will open a separate PR once this one is merged.
rosebyte
left a comment
There was a problem hiding this comment.
LGTM, please take a look on Matous' comments before merging.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0c982995-379f-4379-bcb7-dba5d1102bb4


Fixes #7344.
Root cause
ML.NET invoked the Arcade Helix MSBuild wrappers without CI mode. When a Helix failure was already matched by a Known Build Error, the wrapper still returned exit code 1, causing Azure Pipelines to add a second generic
Cmd.exe exited with code '1'orBash exited with code '1'error. That generic error was not covered by the KBE, so Build Analysis remained red.Changes
-ci/--ci. Arcade reports the underlying failure to Azure Pipelines but suppresses the redundant wrapper exit-code error.NuGetPackageRootandLightGBMVersionfrom evaluated MSBuild properties so CodeCoverage finds TorchSharp and LightGBM native assets in Arcade's repo-local CI package cache without duplicating its package-root logic.Validation
Cmd.exe/Bash exited with code '1'error.Remaining caveat
The legacy Helix Azure Pipelines reporter can still emit a separate structured
Test <name> has failederror that is not necessarily matched by the KBE. This PR deliberately does not disable that reporter because doing so would change which system gates test failures. Adopting the standalone Helix Job Monitor will disable the legacy reporter and remove that remaining duplicate error path.