As discussed in #35568 (review), we need to construct a multi job helix project that calls into sendtohelix.proj with different variables and in parallel.
A good example for this approach would be the mono interpreter. Since it is built within every mono runtime, it can be enabled with the --interpreter parameter. It would be wasteful of CI resources to do this independently of a regular mono test run, so shuffling different parameters into sendtohelix.proj would do the trick.
On the yml side, we would need to trigger the multi job helix project:
|
steps: |
|
- script: ${{ parameters.msbuildScript }} |
|
$(Build.SourcesDirectory)/src/libraries/sendtohelix.proj |
|
/t:test |
|
/p:RuntimeFlavor=${{ parameters.runtimeFlavor }} |
|
/p:TargetArchitecture=${{ parameters.archGroup }} |
|
/p:Configuration=${{ parameters.configuration }} |
|
/p:TargetOS=${{ parameters.targetOS }} |
|
/p:TestScope=${{ parameters.testScope }} |
|
/p:TestRunNamePrefixSuffix=${{ parameters.testRunNamePrefixSuffix }} |
|
/p:HelixBuild=$(Build.BuildNumber) |
|
/p:Creator=${{ parameters.creator }} |
|
${{ parameters.extraHelixArguments }} |
|
/bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/SendToHelix.binlog |
And then within the multi job helix project, we would shuffle different parameters to sendtohelix.proj as it exists today.
As discussed in #35568 (review), we need to construct a multi job helix project that calls into
sendtohelix.projwith different variables and in parallel.A good example for this approach would be the mono interpreter. Since it is built within every mono runtime, it can be enabled with the
--interpreterparameter. It would be wasteful of CI resources to do this independently of a regular mono test run, so shuffling different parameters intosendtohelix.projwould do the trick.On the yml side, we would need to trigger the multi job helix project:
runtime/eng/pipelines/libraries/helix.yml
Lines 15 to 28 in 993db61
And then within the multi job helix project, we would shuffle different parameters to sendtohelix.proj as it exists today.