Skip to content

Commit

Permalink
Enable CI to run CoreCLR tests on Mono (#34054)
Browse files Browse the repository at this point in the history
Run the runtime tests on mono in ci.

Co-authored-by: Joseph Shields <directhex@apebox.org>
  • Loading branch information
naricc and directhex committed Apr 22, 2020
1 parent 288a04f commit ec9d33d
Show file tree
Hide file tree
Showing 21 changed files with 174 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ parameters:
osSubgroup: ''
container: ''
testGroup: ''
liveRuntimeBuildConfig: ''

# When set to a non-empty value (Debug / Release), it determines libraries
# build configuration to use for the tests. Setting this property implies
Expand All @@ -18,6 +19,7 @@ parameters:
stagedBuild: false
variables: {}
pool: ''
runtimeFlavorDisplayName: 'CoreCLR'

### Build managed test components (native components are getting built as part
### of the the product build job).
Expand All @@ -27,8 +29,9 @@ parameters:
### over to its reference assembly we should be able to remove this dependency and
### run managed test builds in parallel with the product build job.


jobs:
- template: xplat-pipeline-job.yml
- template: /eng/pipelines/${{ parameters.runtimeFlavor }}/templates/xplat-pipeline-job.yml
parameters:
buildConfig: ${{ parameters.buildConfig }}
archType: ${{ parameters.archType }}
Expand All @@ -47,14 +50,13 @@ jobs:
${{ if eq(variables['System.TeamProject'], 'internal') }}:
continueOnError: true

# Compute job name from template parameters
${{ if eq(parameters.testGroup, 'innerloop') }}:
name: 'coreclr_test_build_p0_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: 'CoreCLR Pri0 Test Build ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'
name: '${{ parameters.runtimeFlavor }}_common_test_build_p0_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri0 Test Build ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'

${{ if ne(parameters.testGroup, 'innerloop') }}:
name: 'coreclr_test_build_p1_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: 'CoreCLR Pri1 Test Build ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'
name: '${{ parameters.runtimeFlavor }}_common_test_build_p1_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri1 Test Build ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'

# Since the condition is being altered, merge the default with the additional conditions.
# See https://docs.microsoft.com/azure/devops/pipelines/process/conditions
Expand All @@ -65,7 +67,7 @@ jobs:
# by switching over to using reference assembly.
${{ if ne(parameters.stagedBuild, true) }}:
dependsOn:
- ${{ format('coreclr_product_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
- ${{ format('coreclr_product_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, coalesce(parameters.liveRuntimeBuildConfig, parameters.buildConfig)) }}
- ${{ if ne(parameters.liveLibrariesBuildConfig, '') }}:
- ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveLibrariesBuildConfig) }}

Expand Down Expand Up @@ -98,6 +100,15 @@ jobs:
artifactName: '$(librariesBuildArtifactName)'
displayName: 'live-built libraries'

- ${{ if eq(parameters.runtimeFlavor, 'mono') }}:
# We need to explictly download CoreCLR for Mono because the CoreCLR tests depend on it
- template: /eng/pipelines/common/download-artifact-step.yml
parameters:
unpackFolder: $(coreClrProductRootFolderPath)
artifactFileName: '$(coreClrProductArtifactName)$(archiveExtension)'
artifactName: '$(coreClrProductArtifactName)'
displayName: 'CoreCLR product build for Mono'


# Download product binaries directory
- template: /eng/pipelines/common/download-artifact-step.yml
Expand Down Expand Up @@ -143,6 +154,6 @@ jobs:
displayName: Publish Logs
inputs:
targetPath: $(Build.SourcesDirectory)/artifacts/log
artifactName: 'TestBuildLogs_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
artifactName: '${{ parameters.runtimeFlavor }}_Common_Runtime_TestBuildLogs_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
continueOnError: true
condition: always()
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,15 @@ parameters:
runInUnloadableContext: false
variables: {}
pool: ''
runtimeFlavorDisplayName: 'CoreCLR'

### Test run job

### Each test run job depends on a corresponding test build job with the same
### buildConfig and archType.

jobs:
- template: xplat-pipeline-job.yml
- template: /eng/pipelines/${{ parameters.runtimeFlavor }}/templates/xplat-pipeline-job.yml
parameters:
buildConfig: ${{ parameters.buildConfig }}
archType: ${{ parameters.archType }}
Expand All @@ -53,22 +54,22 @@ jobs:
dependsOn:
- ${{ if ne(parameters.corefxTests, true) }}:
- ${{ if eq(parameters.testGroup, 'innerloop') }}:
- 'coreclr_test_build_p0_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- '${{ parameters.runtimeFlavor }}_common_test_build_p0_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- ${{ if ne(parameters.testGroup, 'innerloop') }}:
- 'coreclr_test_build_p1_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- '${{ parameters.runtimeFlavor }}_common_test_build_p1_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- ${{ if ne(parameters.stagedBuild, true) }}:
- ${{ format('coreclr_product_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
- ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
- ${{ if ne(parameters.liveLibrariesBuildConfig, '') }}:
- ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveLibrariesBuildConfig) }}

# Compute job name from template parameters
${{ if eq(parameters.testGroup, 'innerloop') }}:
name: 'run_test_p0_${{ parameters.displayNameArgs }}_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: 'CoreCLR Pri0 Test Run ${{ parameters.displayNameArgs }} ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'
name: 'run_test_p0_${{ parameters.runtimeFlavor }}_${{ parameters.displayNameArgs }}_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Pri0 Test Run ${{ parameters.displayNameArgs }} ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'

${{ if ne(parameters.testGroup, 'innerloop') }}:
name: 'run_test_p1_${{ parameters.displayNameArgs }}_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.buildConfig }}'
displayName: 'CoreCLR Pri1 Test Run ${{ parameters.displayNameArgs }} ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'
displayName: '${{ parameters.runtimeFlavorDisplayName }} Pri1 Test Run ${{ parameters.displayNameArgs }} ${{ parameters.osGroup }}${{ parameters.osSubgroup }} ${{ parameters.archType }} ${{ parameters.buildConfig }}'

variables:
- name: testhostArg
Expand All @@ -77,6 +78,13 @@ jobs:
- name: testhostArg
value: 'buildtesthostonly'

- name: runtimeFlavorArgs
value: ''

- ${{ if eq(parameters.runtimeFlavor, 'mono') }}:
- name: runtimeFlavorArgs
value: '-excludemonofailures'

- name: crossgenArg
value: ''
- name: LogNamePrefix
Expand Down Expand Up @@ -198,6 +206,23 @@ jobs:
displayName: 'product build'


- ${{ if eq(parameters.runtimeFlavor, 'mono') }}:
# We need to explictly download CoreCLR for Mono
- template: /eng/pipelines/common/download-artifact-step.yml
parameters:
unpackFolder: $(coreClrProductRootFolderPath)
artifactFileName: '$(coreClrProductArtifactName)$(archiveExtension)'
artifactName: '$(coreClrProductArtifactName)'
displayName: 'CoreCLR product download for Mono'

- script: $(_msbuildCommand)
$(Build.SourcesDirectory)/src/mono/mono.proj
/t:PatchCoreClrCoreRoot
/p:Configuration=$(buildConfig)
/p:TargetArchitecture=$(archType)
displayName: "Patch dotnet with mono"


# Download and unzip the Microsoft.NET.Sdk.IL package needed for traversing
# ilproj test projects during copynativeonly.
- ${{ if ne(parameters.corefxTests, true) }}:
Expand Down Expand Up @@ -235,8 +260,8 @@ jobs:
displayName: Generate test host


# Generate test wrappers
- script: $(coreClrRepoRootDir)build-test$(scriptExt) buildtestwrappersonly $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg)
# Generate test wrappers. This is the step that examines issues.targets to exclude tests.
- script: $(coreClrRepoRootDir)build-test$(scriptExt) buildtestwrappersonly $(runtimeFlavorArgs) $(crossgenArg) $(buildConfig) $(archType) $(crossArg) $(priorityArg) $(librariesOverrideArg)
displayName: Generate test wrappers


Expand All @@ -247,13 +272,14 @@ jobs:


# Send tests to Helix
- template: /eng/pipelines/coreclr/templates/send-to-helix-step.yml
- template: /eng/pipelines/common/templates/runtimes/send-to-helix-step.yml
parameters:
displayName: Send tests to Helix
buildConfig: $(buildConfigUpper)
archType: ${{ parameters.archType }}
osGroup: ${{ parameters.osGroup }}
coreClrRepoRoot: $(coreClrRepoRoot)
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}

${{ if eq(variables['System.TeamProject'], 'public') }}:
creator: $(Build.DefinitionName)
Expand Down Expand Up @@ -426,6 +452,6 @@ jobs:
displayName: Publish Logs
inputs:
targetPath: $(Build.SourcesDirectory)/artifacts/log
artifactName: '$(LogNamePrefix)_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
artifactName: '${{ parameters.runtimeFlavor }}_$(LogNamePrefix)_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
continueOnError: true
condition: always()
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ parameters:
longRunningGcTests: ''
gcSimulatorTests: ''
coreClrRepoRoot: ''
runtimeFlavorDisplayName: 'CoreCLR'

steps:
- ${{ if eq(parameters.osGroup, 'Windows_NT') }}:
Expand Down Expand Up @@ -55,6 +56,7 @@ steps:
_Scenarios: ${{ join(',', parameters.scenarios) }}
_TimeoutPerTestCollectionInMinutes: ${{ parameters.timeoutPerTestCollectionInMinutes }}
_TimeoutPerTestInMinutes: ${{ parameters.timeoutPerTestInMinutes }}
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
${{ if eq(parameters.publishTestResults, 'true') }}:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
# TODO: remove NUGET_PACKAGES once https://github.com/dotnet/arcade/issues/1578 is fixed
Expand Down Expand Up @@ -95,6 +97,7 @@ steps:
_Scenarios: ${{ join(',', parameters.scenarios) }}
_TimeoutPerTestCollectionInMinutes: ${{ parameters.timeoutPerTestCollectionInMinutes }}
_TimeoutPerTestInMinutes: ${{ parameters.timeoutPerTestInMinutes }}
runtimeFlavorDisplayName: ${{ parameters.runtimeFlavorDisplayName }}
${{ if eq(parameters.publishTestResults, 'true') }}:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
# TODO: remove NUGET_PACKAGES once https://github.com/dotnet/arcade/issues/1578 is fixed
Expand Down
4 changes: 4 additions & 0 deletions eng/pipelines/common/xplat-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ parameters:
jobs:
- template: ${{ coalesce(parameters.helixQueuesTemplate, parameters.jobTemplate) }}
parameters:
${{ if eq(parameters.runtimeFlavor, 'coreclr') }}:
runtimeFlavorDisplayName: 'CoreCLR'
${{ if eq(parameters.runtimeFlavor, 'mono') }}:
runtimeFlavorDisplayName: 'Mono'
variables:
# Disable component governance in our CI builds. These builds are not shipping nor
# are they a service. Also the component governance jobs issue lots of inconsequential
Expand Down
6 changes: 3 additions & 3 deletions eng/pipelines/coreclr/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ jobs:
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- Linux_arm
Expand All @@ -113,7 +113,7 @@ jobs:
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platformGroup: all
helixQueueGroup: ci
Expand All @@ -127,7 +127,7 @@ jobs:
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- Linux_arm64
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/corefx-jitstress.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
# TODO: add Windows_NT_arm64, when we have hardware available. Note: platform-matrix.yml needs to enable a Helix queue for this.
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/corefx-jitstress2-jitstressregs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
# TODO: add Windows_NT_arm64, when we have hardware available. Note: platform-matrix.yml needs to enable a Helix queue for this.
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/corefx-jitstressregs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
# TODO: add Windows_NT_arm64, when we have hardware available. Note: platform-matrix.yml needs to enable a Helix queue for this.
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/corefx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
# TODO: add Windows_NT_arm64, when we have hardware available. Note: platform-matrix.yml needs to enable a Helix queue for this.
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/crossgen2-outerloop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/crossgen2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- OSX_x64
Expand All @@ -40,7 +40,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
helixQueuesTemplate: /eng/pipelines/coreclr/templates/helix-queues-setup.yml
buildConfig: checked
platforms:
Expand Down
2 changes: 1 addition & 1 deletion eng/pipelines/coreclr/gc-longrunning.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: release
platforms:
- Linux_x64
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/jitstress-isas-x86.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/build-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- OSX_x64
Expand All @@ -42,7 +42,7 @@ jobs:

- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: checked
platforms:
- Linux_x64
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/release-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: release
platformGroup: all
helixQueueGroup: ci
Expand All @@ -58,7 +58,7 @@ jobs:
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/coreclr/templates/run-test-job.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/run-test-job.yml
buildConfig: release
platformGroup: all
helixQueueGroup: ci
Expand Down
4 changes: 2 additions & 2 deletions eng/pipelines/coreclr/templates/test-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ parameters:

jobs:
- ${{ if and(ne(parameters.corefxTests, true), eq(parameters.osSubgroup, parameters.managedTestBuildOsSubgroup), eq(parameters.osGroup, parameters.managedTestBuildOsGroup)) }}:
- template: /eng/pipelines/coreclr/templates/build-test-job.yml
- template: /eng/pipelines/common/templates/runtimes/build-test-job.yml
parameters:
buildConfig: ${{ parameters.buildConfig }}
liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
Expand All @@ -42,7 +42,7 @@ jobs:
variables: ${{ parameters.variables }}
pool: ${{ parameters.pool }}

- template: /eng/pipelines/coreclr/templates/run-test-job.yml
- template: /eng/pipelines/common/templates/runtimes/run-test-job.yml
parameters:
buildConfig: ${{ parameters.buildConfig }}
liveLibrariesBuildConfig: ${{ parameters.liveLibrariesBuildConfig }}
Expand Down
6 changes: 6 additions & 0 deletions eng/pipelines/mono/templates/xplat-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@ jobs:
- name: osSubgroup
value: ${{ parameters.osSubgroup }}

- name: coreClrRepoRoot
value: '$(Build.SourcesDirectory)/src/coreclr'

- name: coreClrRepoRootDir
value: '$(coreClrRepoRoot)$(dir)'

- ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}:
- name: _HelixSource
value: official/dotnet/runtime/$(Build.SourceBranch)
Expand Down
Loading

0 comments on commit ec9d33d

Please sign in to comment.