container: ''
testGroup: ''
liveRuntimeBuildConfig: ''
- testBuildPhase: ''
# When set to a non-empty value (Debug / Release), it determines libraries
# build configuration to use for the tests. Setting this property implies
${{ if eq(variables['System.TeamProject'], 'internal') }}:
continueOnError: true
- # Compute job name from template parameters
${{ if eq(parameters.testGroup, 'innerloop') }}:
- ${{ if ne(parameters.testBuildPhase, 'targetGeneric') }}:
- 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') }}:
- ${{ if ne(parameters.testBuildPhase, 'targetGeneric') }}:
- 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 }}'
+ 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 eq(parameters.testGroup, 'innerloop') }}:
- ${{ if eq(parameters.testBuildPhase, 'targetGeneric') }}:
- name: '${{ parameters.runtimeFlavor }}_common_test_build_p0_AnyOS_AnyCPU_${{ parameters.buildConfig }}_Lib${{ parameters.liveLibrariesBuildConfig }}'
- displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri0 Test Build AnyOS AnyCPU ${{ parameters.buildConfig }} Libraries:${{ parameters.liveLibrariesBuildConfig }}'
${{ if ne(parameters.testGroup, 'innerloop') }}:
- ${{ if eq(parameters.testBuildPhase, 'targetGeneric') }}:
- name: '${{ parameters.runtimeFlavor }}_common_test_build_p1_AnyOS_AnyCPU_${{ parameters.buildConfig }}_Lib${{ parameters.liveLibrariesBuildConfig }}'
- displayName: '${{ parameters.runtimeFlavorDisplayName }} Common Pri1 Test Build AnyOS AnyCPU ${{ parameters.buildConfig }} Libraries:${{ parameters.liveLibrariesBuildConfig }}'
+ 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
# Build managed test components
- - script: $(coreClrRepoRootDir)build-test$(scriptExt) ${{ parameters.testBuildPhase }} skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg)
+ - script: $(coreClrRepoRootDir)build-test$(scriptExt) skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg)
displayName: Build managed test components
parameters:
rootFolder: $(managedTestArtifactRootFolderPath)
includeRootFolder: false
- ${{ if ne(parameters.testBuildPhase, 'targetGeneric') }}:
- archiveExtension: $(archiveExtension)
- archiveType: $(archiveType)
- tarCompression: $(tarCompression)
- artifactName: $(managedTestArtifactName)
- displayName: 'managed test components'
- ${{ if eq(parameters.testBuildPhase, 'targetGeneric') }}:
- archiveExtension: '.tar.gz'
- archiveType: tar
- tarCompression: gz
- artifactName: $(managedGenericTestArtifactName)
- displayName: 'managed test components (generic)'
+ archiveType: $(archiveType)
+ tarCompression: $(tarCompression)
+ archiveExtension: $(archiveExtension)
+ artifactName: $(managedTestArtifactName)
+ displayName: 'managed test components'
# Publish .packages/microsoft.net.sdk.il needed for traversing
# test projects during the copynativeonly command in run test job.
- - ${{ if ne(parameters.testBuildPhase, 'targetGeneric') }}:
- - template: /eng/pipelines/common/upload-artifact-step.yml
- parameters:
- rootFolder: $(microsoftNetSdkIlFolderPath)
- includeRootFolder: false
- archiveType: $(archiveType)
- tarCompression: $(tarCompression)
- archiveExtension: $(archiveExtension)
- artifactName: $(microsoftNetSdkIlArtifactName)
- displayName: 'Microsoft.NET.Sdk.IL package'
+ - template: /eng/pipelines/common/upload-artifact-step.yml
+ parameters:
+ rootFolder: $(microsoftNetSdkIlFolderPath)
+ includeRootFolder: false
+ archiveType: $(archiveType)
+ tarCompression: $(tarCompression)
+ archiveExtension: $(archiveExtension)
+ artifactName: $(microsoftNetSdkIlArtifactName)
+ displayName: 'Microsoft.NET.Sdk.IL package'
# Publish Logs
displayName: Publish Logs
inputs:
targetPath: $(Build.SourcesDirectory)/artifacts/log
- ${{ if ne(parameters.testBuildPhase, 'targetGeneric') }}:
- artifactName: '${{ parameters.runtimeFlavor }}_Common_Runtime_TestBuildLogs_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
- ${{ if eq(parameters.testBuildPhase, 'targetGeneric') }}:
- artifactName: '${{ parameters.runtimeFlavor }}_Common_Runtime_TestBuildLogs_AnyOS_AnyCPU_$(buildConfig)_Lib${{ parameters.liveLibrariesBuildConfig }}_${{ parameters.testGroup }}'
+ artifactName: '${{ parameters.runtimeFlavor }}_Common_Runtime_TestBuildLogs_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)_${{ parameters.testGroup }}'
continueOnError: true
condition: always()
variables: {}
pool: ''
runtimeFlavorDisplayName: 'CoreCLR'
- testBuildPhased : false
### Test run job
- '${{ parameters.runtimeFlavor }}_common_test_build_p0_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- ${{ if ne(parameters.testGroup, 'innerloop') }}:
- '${{ parameters.runtimeFlavor }}_common_test_build_p1_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_${{ parameters.archType }}_${{parameters.buildConfig }}'
- - ${{ if eq(parameters.testBuildPhased, true) }}:
- - ${{ if eq(parameters.testGroup, 'innerloop') }}:
- - '${{ parameters.runtimeFlavor }}_common_test_build_p0_AnyOS_AnyCPU_${{parameters.buildConfig }}_Lib${{ parameters.liveLibrariesBuildConfig }}'
- - ${{ if ne(parameters.testGroup, 'innerloop') }}:
- - '${{ parameters.runtimeFlavor }}_common_test_build_p1_AnyOS_AnyCPU_${{parameters.buildConfig }}_Lib${{ parameters.liveLibrariesBuildConfig }}'
- ${{ if ne(parameters.stagedBuild, true) }}:
- ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }}
- ${{ if ne(parameters.liveLibrariesBuildConfig, '') }}:
# Download and unzip managed test artifacts
- ${{ if ne(parameters.corefxTests, true) }}:
- - ${{ if eq(parameters.testBuildPhased, true) }}:
- - template: /eng/pipelines/common/download-artifact-step.yml
- parameters:
- unpackFolder: '$(managedTestArtifactRootFolderPath)'
- artifactFileName: '$(managedGenericTestArtifactName).tar.gz'
- artifactName: '$(managedGenericTestArtifactName)'
- displayName: 'generic managed test artifacts'
- template: /eng/pipelines/common/download-artifact-step.yml
parameters:
unpackFolder: '$(managedTestArtifactRootFolderPath)'
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - OSX_x64
- testGroup: outerloop
- jobParameters:
- liveLibrariesBuildConfig: Release
- testBuildPhase: targetGeneric
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- Linux_arm
- Linux_arm64
- OSX_x64
testGroup: outerloop
jobParameters:
liveLibrariesBuildConfig: Release
- testBuildPhase: targetSpecific
#
# Checked JIT test runs
jobParameters:
testGroup: outerloop
liveLibrariesBuildConfig: Release
- testBuildPhased: true
#
# Checked R2R test runs
readyToRun: true
displayNameArgs: R2R
liveLibrariesBuildConfig: Release
- testBuildPhased: true
#
# Crossgen-comparison jobs
- name: corelibProductArtifactName
value: 'CoreLib_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)'
- - name: managedGenericTestArtifactName
- value: 'CoreCLRManagedTestArtifacts_AnyOS_AnyCPU_$(buildConfig)_Lib${{ parameters.liveLibrariesBuildConfig }}'
-
- name: managedTestArtifactName
value: 'CoreCLRManagedTestArtifacts_${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }}_$(archType)_$(buildConfig)'
liveRuntimeBuildConfig: release
#
-# Build libraries using live CoreLib
-# These are part of the test coreclr generic test build.
-#
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/libraries/build-job.yml
- buildConfig: Release
- platforms:
- - OSX_x64
- jobParameters:
- liveRuntimeBuildConfig: release
- condition: >-
- and(
- ne(variables['debugOnPrReleaseOnRolling'], 'Release'),
- or(
- eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(variables['isFullMatrix'], true)))
-
-#
# Build libraries using Mono CoreLib only
#
- template: /eng/pipelines/common/platform-matrix.yml
jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
buildConfig: checked
platforms:
- - OSX_x64
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: Release
- testBuildPhase: targetGeneric
- condition: >-
- or(
- eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(variables['isFullMatrix'], true))
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- Linux_arm
- Windows_NT_x86
- Windows_NT_arm
jobParameters:
testGroup: innerloop
liveLibrariesBuildConfig: Release
- testBuildPhase: targetSpecific
condition: >-
or(
eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
buildConfig: checked
platforms:
- OSX_x64
- jobParameters:
- testGroup: innerloop
- liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- testBuildPhase: targetGeneric
- condition: >-
- and(ne(variables['debugOnPrReleaseOnRolling'], 'Release'),
- or(
- eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
- eq(variables['isFullMatrix'], true)))
-- template: /eng/pipelines/common/platform-matrix.yml
- parameters:
- jobTemplate: /eng/pipelines/common/templates/runtimes/build-test-job.yml
- buildConfig: checked
- platforms:
- - OSX_x64
- Linux_x64
- Linux_arm64
- Windows_NT_x64
jobParameters:
testGroup: innerloop
liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- testBuildPhase: targetSpecific
condition: >-
or(
eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
jobParameters:
testGroup: innerloop
liveLibrariesBuildConfig: Release
- testBuildPhased: true
condition: >-
or(
eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
jobParameters:
testGroup: innerloop
liveLibrariesBuildConfig: ${{ variables.debugOnPrReleaseOnRolling }}
- testBuildPhased: true
condition: >-
or(
eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true),
</ItemGroup>
<Move SourceFiles="@(ServerAssembly)" DestinationFolder="$(ServerAssemblyDest)" />
</Target>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="AssemblyC.csproj" />
<ProjectReference Include="AssemblyContracts.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="AssemblyC.csproj" />
<ProjectReference Include="AssemblyContracts.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ItemGroup>
<Compile Include="AssemblyC.cs" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ItemGroup>
<Compile Include="AssemblyContracts.cs" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ItemGroup>
<ProjectReference Include="../MockReferenceTrackerRuntime/CMakeLists.txt" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="Server/CMakeLists.txt" />
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="../../NativeServer/CMakeLists.txt" />
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="../../NativeServer/CMakeLists.txt" />
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="../../NativeServer/CMakeLists.txt" />
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="../../NativeServer/CMakeLists.txt" />
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="../../NativeServer/CMakeLists.txt" />
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ProjectReference Include="$(TestSourceDir)Common/CoreCLRTestLibrary/CoreCLRTestLibrary.csproj" />
<ProjectReference Include="NetClientPrimitives.csproj" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<ItemGroup>
<Compile Include="NETServer.DefaultInterfaces.il" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<Compile Include="../ServerContracts/Server.Contracts.cs" />
<Compile Include="../ServerContracts/ServerGuids.cs" />
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>
<Name>NETServer</Name>
</ProjectReference>
</ItemGroup>
- <PropertyGroup>
- <CLRTestNeedTarget>1</CLRTestNeedTarget>
- </PropertyGroup>
- <ItemGroup>
- <TraitTags Include="OsSpecific" />
- </ItemGroup>
</Project>