Skip to content

Create multi job helix project to support multiple test modes on CI #36215

@steveisok

Description

@steveisok

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions