From f5e1a72bb481e605b97fa916d4b2f49479115bba Mon Sep 17 00:00:00 2001 From: Steve MacLean Date: Wed, 29 Apr 2020 19:57:55 -0400 Subject: [PATCH] Remove CoreCLR TargetSpecific test build jobs Refactor targetSpecific test build Remove targetSpecific build-test-jobs.yml jobs Build targetSpecific tests in run-test-job.yml jobs --- .../templates/runtimes/run-test-job.yml | 42 ++++++++++++++----- eng/pipelines/coreclr/ci.yml | 17 -------- eng/pipelines/runtime.yml | 40 ------------------ 3 files changed, 31 insertions(+), 68 deletions(-) diff --git a/eng/pipelines/common/templates/runtimes/run-test-job.yml b/eng/pipelines/common/templates/runtimes/run-test-job.yml index d52240be644de..2804c2adca008 100644 --- a/eng/pipelines/common/templates/runtimes/run-test-job.yml +++ b/eng/pipelines/common/templates/runtimes/run-test-job.yml @@ -58,10 +58,11 @@ jobs: dependsOn: - ${{ if ne(parameters.corefxTests, true) }}: - - ${{ if eq(parameters.testGroup, 'innerloop') }}: - - '${{ 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 ne(parameters.testBuildPhased, true) }}: + - ${{ if eq(parameters.testGroup, 'innerloop') }}: + - '${{ 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) }}: # Also depend on AnyOS AnyCPU tests - ${{ if eq(parameters.testGroup, 'innerloop') }}: @@ -209,13 +210,14 @@ jobs: artifactName: '$(managedGenericTestArtifactName)' displayName: 'generic managed test artifacts' - # Download and unzip target specific tests - - template: /eng/pipelines/common/download-artifact-step.yml - parameters: - unpackFolder: '$(managedTestArtifactRootFolderPath)' - artifactFileName: '$(managedTestArtifactName)$(archiveExtension)' - artifactName: '$(managedTestArtifactName)' - displayName: 'managed test artifacts (built on ${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }})' + # Download and unzip target specific tests (unless we build them below) + - ${{ if ne(parameters.testBuildPhased, true) }}: + - template: /eng/pipelines/common/download-artifact-step.yml + parameters: + unpackFolder: '$(managedTestArtifactRootFolderPath)' + artifactFileName: '$(managedTestArtifactName)$(archiveExtension)' + artifactName: '$(managedTestArtifactName)' + displayName: 'managed test artifacts (built on ${{ parameters.managedTestBuildOsGroup }}${{ parameters.managedTestBuildOsSubgroup }})' # Download product binaries directory @@ -236,6 +238,24 @@ jobs: artifactName: '$(coreClrProductArtifactName)' displayName: 'CoreCLR product download for Mono' + + # Build target specific tests + - ${{ if ne(parameters.corefxTests, true) }}: + - ${{ if eq(parameters.testBuildPhased, true) }}: + # Install test build dependencies + - ${{ if eq(parameters.osGroup, 'OSX') }}: + - script: sh $(Build.SourcesDirectory)/eng/install-native-dependencies.sh $(osGroup) + displayName: Install native dependencies + - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: + # Necessary to install correct cmake version + - script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force + displayName: Install native dependencies + + # Build targetSpecific managed test components + - script: $(coreClrRepoRootDir)build-test$(scriptExt) targetSpecific skipnative skipgeneratelayout skiptestwrappers $(buildConfig) $(archType) $(crossArg) $(priorityArg) ci $(librariesOverrideArg) + displayName: Build managed test components + + # Download and unzip the Microsoft.NET.Sdk.IL package needed for traversing # ilproj test projects during copynativeonly. - ${{ if ne(parameters.corefxTests, true) }}: diff --git a/eng/pipelines/coreclr/ci.yml b/eng/pipelines/coreclr/ci.yml index 51a85c2f4558d..4028d51a5e222 100644 --- a/eng/pipelines/coreclr/ci.yml +++ b/eng/pipelines/coreclr/ci.yml @@ -103,23 +103,6 @@ jobs: 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 - - Windows_NT_arm - - Windows_NT_arm64 - - Windows_NT_x64 - - Windows_NT_x86 - testGroup: outerloop - jobParameters: - liveLibrariesBuildConfig: Release - testBuildPhase: targetSpecific - # # Checked JIT test runs # diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index da37549ddfd37..af93039f2173f 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -592,46 +592,6 @@ jobs: 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 - - Windows_NT_arm64 - jobParameters: - testGroup: innerloop - liveLibrariesBuildConfig: Release - testBuildPhase: targetSpecific - condition: >- - or( - eq(dependencies.checkout.outputs['SetPathVars_coreclr.containsChange'], true), - eq(variables['isFullMatrix'], true)) - -# -# CoreCLR Test builds using live libraries debug build -# Only when CoreCLR is changed -# -- 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), - eq(variables['isFullMatrix'], true)) - # # CoreCLR Test executions using live libraries # Only when CoreCLR is changed