From 6c87fbbf01f957686c26f0be492bea2e8488a392 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Thu, 2 Apr 2020 07:42:04 -0700 Subject: [PATCH 01/16] simplify libraries build dependencies. --- eng/pipelines/libraries/build-job.yml | 2 +- eng/pipelines/libraries/build-test-job.yml | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 14057daa4ff907..1f7edf13dc3ed5 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -56,7 +56,7 @@ jobs: - ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }} - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - - ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, 'linux', parameters.osSubgroup, 'x64', parameters.liveRuntimeBuildConfig) }} + - ${{ format('coreclr_corelib_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, 'linux', parameters.osSubgroup, 'x64', parameters.liveRuntimeBuildConfig) }} variables: - _skipTestRestoreArg: /p:SkipTestRestore=true diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index b821c45cdda4fc..2e4c0275ec8f04 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -35,10 +35,7 @@ jobs: displayName: 'Test Build' dependsOn: - - ${{ if notIn(parameters.framework, 'allConfigurations', 'net472') }}: - - ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - - ${{ if in(parameters.framework, 'allConfigurations', 'net472') }}: - - ${{ format('libraries_build_{0}_{1}{2}_{3}_{4}', parameters.framework, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} + - ${{ format('libraries_build_{0}_{1}{2}_{3}_{4}', parameters.framework, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} # Libraries Test also depends on Product, now that the libraries build only depends on corelib - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }} From f8788a60bf29f2f57b82d90afe7e662aaae71b52 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Thu, 2 Apr 2020 07:52:00 -0700 Subject: [PATCH 02/16] FIx depends for tests --- eng/pipelines/libraries/build-test-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/libraries/build-test-job.yml b/eng/pipelines/libraries/build-test-job.yml index 2e4c0275ec8f04..0a44ef8f52d824 100644 --- a/eng/pipelines/libraries/build-test-job.yml +++ b/eng/pipelines/libraries/build-test-job.yml @@ -35,7 +35,7 @@ jobs: displayName: 'Test Build' dependsOn: - - ${{ format('libraries_build_{0}_{1}{2}_{3}_{4}', parameters.framework, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} + - ${{ format('libraries_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} # Libraries Test also depends on Product, now that the libraries build only depends on corelib - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }} From 9a20fca7d8607f128fe43b527217d323fae7a8be Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Thu, 2 Apr 2020 08:15:54 -0700 Subject: [PATCH 03/16] Fix artifact name for webAssembly --- eng/pipelines/libraries/base-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index 05396033602814..ece5ff1b37e0ae 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -110,7 +110,7 @@ jobs: # WebAssembly uses linux implementation detail - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - - _runtimeArtifactName: '$(runtimeFlavorName)Product_Linux_x64_${{ parameters.liveRuntimeBuildConfig }}' + - _runtimeArtifactName: 'CoreLib_Linux_x64_${{ parameters.liveRuntimeBuildConfig }}' # Windows variables - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: From 51f9724c0268ca4534a4eacfbf0493ff5a5892ba Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Tue, 7 Apr 2020 16:23:58 -0700 Subject: [PATCH 04/16] try building corelib during libraries build. --- eng/pipelines/libraries/base-job.yml | 5 +---- eng/pipelines/libraries/build-job.yml | 4 ++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index ece5ff1b37e0ae..9c77e5ef31d9a6 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -99,9 +99,6 @@ jobs: - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - _runtimeDownloadPath: '$(Build.SourcesDirectory)/artifacts/transport/${{ parameters.runtimeFlavor }}' - # Download corelib dependencies for coreclr libraries and not test - - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - - _runtimeArtifactName: 'CoreLib_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.liveRuntimeBuildConfig }}' # Download full product dependencies for mono or test - ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - _runtimeArtifactName: '$(runtimeFlavorName)Product_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.liveRuntimeBuildConfig }}' @@ -135,7 +132,7 @@ jobs: steps: - template: /eng/pipelines/common/clone-checkout-bundle-step.yml - - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: + - ${{ if and(ne(parameters.liveRuntimeBuildConfig, ''), or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - template: /eng/pipelines/common/download-artifact-step.yml parameters: unpackFolder: $(_runtimeDownloadPath) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 1f7edf13dc3ed5..cd90d8e062d9a6 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -95,6 +95,10 @@ jobs: parameters: installDotnet: true + # Build CoreLib + - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subsetCategory coreclr -subset corelib $(crossArg) -arch $(archType) -c ${{ parameters.liveRuntimeBuildConfig }} $(officialBuildIdArg) -ci + displayName: Build System.Private.CoreLib + - script: $(_buildScript) -restore $(_buildArguments) $(_skipTestRestoreArg) /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/Restore.binlog displayName: Restore From fa208b3a551e7746c273e7d90cfb2acb46a2b560 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Tue, 7 Apr 2020 16:48:31 -0700 Subject: [PATCH 05/16] small typo --- eng/pipelines/libraries/base-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index e9f31f7b6b6e1a..5630f2455a2d30 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -127,7 +127,7 @@ jobs: steps: - template: /eng/pipelines/common/clone-checkout-bundle-step.yml - - ${{ if and(ne(parameters.liveRuntimeBuildConfig, ''), or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: + - ${{ if and(ne(parameters.liveRuntimeBuildConfig, ''), or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, ''))) }}: - template: /eng/pipelines/common/download-artifact-step.yml parameters: unpackFolder: $(_runtimeDownloadPath) From fa6d6038b6005e7fb261e0030415051f1fad4d6a Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Tue, 7 Apr 2020 18:15:08 -0700 Subject: [PATCH 06/16] Merge coreclr+libraries build scripts --- eng/pipelines/libraries/base-job.yml | 2 +- eng/pipelines/libraries/build-job.yml | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index 5630f2455a2d30..e46745d45c690e 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -112,7 +112,7 @@ jobs: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: - _buildScript: ./$(_buildScriptFileName)$(scriptExt) - - _buildArguments: -subsetcategory libraries -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg) + - _buildArguments: -subsetcategory coreclr-libraries -subset corelib-depprojs-ref-native-src -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg) - ${{ parameters.variables }} dependsOn: diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 0ea0d6de69a933..402b2aefadf0d2 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -92,10 +92,6 @@ jobs: parameters: installDotnet: true - # Build CoreLib - - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subsetCategory coreclr -subset corelib $(crossArg) -arch $(archType) -c ${{ parameters.liveRuntimeBuildConfig }} $(officialBuildIdArg) -ci - displayName: Build System.Private.CoreLib - - script: $(_buildScript) $(_buildArguments) $(_addtionalBuildArguments) From 41a6c4979f266219a42572b5a27bf6c44dc33bfc Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Tue, 7 Apr 2020 18:45:30 -0700 Subject: [PATCH 07/16] update scripts based on new refactor --- eng/pipelines/libraries/build-job.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 6fa4b12c852e69..7c4e119661aa9c 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -94,6 +94,15 @@ jobs: parameters: installDotnet: true + # Build Private CoreLib + - script: $(_buildScript) + -subset clr.corelib + -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} + $(_buildArguments) + $(_addtionalBuildArguments) + + displayName: Build System.Private.CoreLib + - script: $(_buildScript) -subset $(_subset) $(_buildArguments) From f21724fe0c1aa3388ed069fb4346be00a844b83a Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Tue, 7 Apr 2020 19:04:22 -0700 Subject: [PATCH 08/16] fix script error --- eng/pipelines/libraries/base-job.yml | 2 +- eng/pipelines/libraries/build-job.yml | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index 925e84b0da953f..947803f0e7f25e 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -116,7 +116,7 @@ jobs: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: - _buildScript: ./$(_buildScriptFileName)$(scriptExt) - - _buildArguments: -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg) + - _buildArguments: -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg) - ${{ parameters.variables }} dependsOn: diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 7c4e119661aa9c..cf179f12d192d7 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -97,7 +97,6 @@ jobs: # Build Private CoreLib - script: $(_buildScript) -subset clr.corelib - -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} $(_buildArguments) $(_addtionalBuildArguments) From aa77d5abb16cc301bcbdcf7537bbec363cd03077 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Tue, 7 Apr 2020 19:45:02 -0700 Subject: [PATCH 09/16] dont build corelib for mono or testbuilds --- eng/pipelines/libraries/base-job.yml | 6 ++++-- eng/pipelines/libraries/build-job.yml | 12 ++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index 947803f0e7f25e..731771c6e6a8a7 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -95,13 +95,15 @@ jobs: - _runtimeArtifactName: '' - _runtimeDownloadPath: '' - _runtimeArtifactsPathArg: '' + - _runtimeConfigurationArg: '' - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - _runtimeDownloadPath: '$(Build.SourcesDirectory)/artifacts/transport/${{ parameters.runtimeFlavor }}' + - _runtimeConfigurationArg: -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} # Download full product dependencies for mono or test - ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - _runtimeArtifactName: '$(runtimeFlavorName)Product_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.liveRuntimeBuildConfig }}' - - _runtimeArtifactsPathArg: ' /p:RuntimeArtifactsPath=$(_runtimeDownloadPath)' + - _runtimeArtifactsPathArg: ' /p:RuntimeArtifactsPath=$(_runtimeDownloadPath)' - _testRunNamePrefixSuffix: $(runtimeFlavorName)_${{ parameters.liveRuntimeBuildConfig }} # WebAssembly uses linux implementation detail @@ -116,7 +118,7 @@ jobs: - ${{ if ne(parameters.osGroup, 'Windows_NT') }}: - _buildScript: ./$(_buildScriptFileName)$(scriptExt) - - _buildArguments: -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg) + - _buildArguments: $(_runtimeConfigurationArg) -configuration ${{ parameters.buildConfig }} -ci -arch ${{ parameters.archType }} $(_finalFrameworkArg) $(_testScopeArg) $(_runtimeOSArg) $(_msbuildCommonParameters) $(_runtimeArtifactsPathArg) $(_crossBuildPropertyArg) - ${{ parameters.variables }} dependsOn: diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index cf179f12d192d7..577358987f24c1 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -95,12 +95,12 @@ jobs: installDotnet: true # Build Private CoreLib - - script: $(_buildScript) - -subset clr.corelib - $(_buildArguments) - $(_addtionalBuildArguments) - - displayName: Build System.Private.CoreLib + - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: + - script: $(_buildScript) + -subset clr.corelib + $(_buildArguments) + $(_addtionalBuildArguments) + displayName: Build System.Private.CoreLib - script: $(_buildScript) -subset $(_subset) From be15e5032faba8ba83d91fb32022e5ce0c859aa3 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Wed, 8 Apr 2020 09:52:09 -0700 Subject: [PATCH 10/16] Handle webassembly case --- eng/pipelines/libraries/build-job.yml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 577358987f24c1..7e580766f8d6d2 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -50,9 +50,7 @@ jobs: ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: dependsOn: - ${{ if ne(parameters.osGroup, 'WebAssembly') }}: - # Use corelib dependencies for coreclr and non test builds - - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - - ${{ format('coreclr_corelib_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }} + # Use full product dependency for non-coreclr and test builds - ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }} - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: @@ -64,6 +62,9 @@ jobs: - ${{ parameters.variables }} - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - EMSDK_PATH: $(Build.BinariesDirectory)/emsdk + # for coreclr library builds (when not testing) build corelib as well. + - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, ''), ne(parameters.osGroup, 'WebAssembly')) }}: + - _subset: clr.corelib+libs - ${{ if eq(parameters.runTests, true) }}: - _subset: libs+libs.tests - _addtionalBuildArguments: /p:ArchiveTests=true @@ -89,19 +90,18 @@ jobs: ./emsdk activate --embedded ${EMSCRIPTEN_VERSION}-upstream displayName: Install Emscripten + # Build CoreLib for WebAssembly + - script: $(_buildScript) + -subset clr.corelib + -configuration Release -arch x64 -os Linux + $(_addtionalBuildArguments) + displayName: Build System.Private.CoreLib + - ${{ if eq(parameters.isOfficialBuild, true) }}: - template: /eng/pipelines/common/restore-internal-tools.yml parameters: installDotnet: true - # Build Private CoreLib - - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - - script: $(_buildScript) - -subset clr.corelib - $(_buildArguments) - $(_addtionalBuildArguments) - displayName: Build System.Private.CoreLib - - script: $(_buildScript) -subset $(_subset) $(_buildArguments) From ac84ea049f57be4e323827119f2e75a562709d0c Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Wed, 8 Apr 2020 13:04:30 -0700 Subject: [PATCH 11/16] fix allconfigurations build --- eng/pipelines/libraries/base-job.yml | 2 +- eng/pipelines/libraries/build-job.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index 731771c6e6a8a7..e5eff4ab9bc5cf 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -108,7 +108,7 @@ jobs: # WebAssembly uses linux implementation detail - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - - _runtimeArtifactName: 'CoreLib_Linux_x64_${{ parameters.liveRuntimeBuildConfig }}' + - _runtimeArtifactsPathArg: ' /p:RuntimeArtifactsPath=$(Build.SourcesDirectory)/artifacts/bin/coreclr/Linux.x64.Release' # Windows variables - ${{ if eq(parameters.osGroup, 'Windows_NT') }}: diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 7e580766f8d6d2..a9eacd0b5dd648 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -66,7 +66,7 @@ jobs: - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, ''), ne(parameters.osGroup, 'WebAssembly')) }}: - _subset: clr.corelib+libs - ${{ if eq(parameters.runTests, true) }}: - - _subset: libs+libs.tests + - _subset: clr.corelib+libs+libs.tests - _addtionalBuildArguments: /p:ArchiveTests=true - ${{ parameters.variables }} From e99992f261d9141ee4569d986e55389ca1412f36 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Wed, 8 Apr 2020 16:21:28 -0700 Subject: [PATCH 12/16] remove separate corelib job --- eng/pipelines/libraries/build-job.yml | 2 -- eng/pipelines/runtime.yml | 21 --------------------- 2 files changed, 23 deletions(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index a9eacd0b5dd648..6000b20e60146d 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -53,8 +53,6 @@ jobs: # Use full product dependency for non-coreclr and test builds - ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - ${{ format('{0}_product_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.liveRuntimeBuildConfig) }} - - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - - ${{ format('coreclr_corelib_build_{1}{2}_{3}_{4}', parameters.runtimeFlavor, 'linux', parameters.osSubgroup, 'x64', parameters.liveRuntimeBuildConfig) }} variables: - _subset: libs diff --git a/eng/pipelines/runtime.yml b/eng/pipelines/runtime.yml index cded9f4807e80d..63d84bc38e7541 100644 --- a/eng/pipelines/runtime.yml +++ b/eng/pipelines/runtime.yml @@ -118,27 +118,6 @@ jobs: - eng/pipelines/mono/* - eng/pipelines/libraries/* -# -# Build CoreLib release -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml - buildConfig: release - platforms: - - OSX_x64 - - Linux_x64 - - Linux_arm - - Linux_arm64 - - Linux_musl_x64 - - Linux_musl_arm64 - - Windows_NT_x64 - - Windows_NT_x86 - - Windows_NT_arm - - Windows_NT_arm64 - jobParameters: - testGroup: innerloop - # # Build CoreCLR checked # Only when CoreCLR is changed From 46f5a93d71082ab52cfae15767fae5b36066463b Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Thu, 9 Apr 2020 09:53:31 -0700 Subject: [PATCH 13/16] remove corelib jobs from pipelines --- .../build-coreclr-and-libraries-job.yml | 15 ------------ eng/pipelines/coreclr/ci.yml | 11 --------- eng/pipelines/libraries/outerloop.yml | 23 ------------------- eng/pipelines/runtime-official.yml | 21 ----------------- 4 files changed, 70 deletions(-) diff --git a/eng/pipelines/common/build-coreclr-and-libraries-job.yml b/eng/pipelines/common/build-coreclr-and-libraries-job.yml index 7ea5e7af112cf9..ddf5d8103cac75 100644 --- a/eng/pipelines/common/build-coreclr-and-libraries-job.yml +++ b/eng/pipelines/common/build-coreclr-and-libraries-job.yml @@ -13,21 +13,6 @@ parameters: pool: '' jobs: -- template: /eng/pipelines/coreclr/templates/build-corelib-job.yml - parameters: - buildConfig: ${{ parameters.buildConfig }} - archType: ${{ parameters.archType }} - osGroup: ${{ parameters.osGroup }} - osSubgroup: ${{ parameters.osSubgroup }} - container: ${{ parameters.container }} - testGroup: ${{ parameters.testGroup }} - crossrootfsDir: ${{ parameters.crossrootfsDir }} - timeoutInminutes: ${{ parameters.timeoutInMinutes }} - signBinaries: ${{ parameters.signBinaries }} - stagedBuild: ${{ parameters.stagedBuild }} - variables: ${{ parameters.variables }} - pool: ${{ parameters.pool }} - - template: /eng/pipelines/coreclr/templates/build-job.yml parameters: buildConfig: ${{ parameters.buildConfig }} diff --git a/eng/pipelines/coreclr/ci.yml b/eng/pipelines/coreclr/ci.yml index 0848c4cc3ea8cd..0249dc33eba230 100644 --- a/eng/pipelines/coreclr/ci.yml +++ b/eng/pipelines/coreclr/ci.yml @@ -31,17 +31,6 @@ jobs: # - template: /eng/pipelines/common/checkout-job.yml -# -# Checked Corelib builds -# -- template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml - buildConfig: checked - platformGroup: all - jobParameters: - testGroup: outerloop - # # Debug builds # diff --git a/eng/pipelines/libraries/outerloop.yml b/eng/pipelines/libraries/outerloop.yml index eb3b2e9493ddf5..9afbf206e5f369 100644 --- a/eng/pipelines/libraries/outerloop.yml +++ b/eng/pipelines/libraries/outerloop.yml @@ -13,29 +13,6 @@ variables: jobs: - template: /eng/pipelines/common/checkout-job.yml - - # - # CoreLib Build - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml - buildConfig: release - platforms: - - ${{ if eq(variables['includeWindowsOuterloop'], true) }}: - - Windows_NT_x64 - - Windows_NT_x86 - - ${{ if eq(variables['includeLinuxOuterloop'], true) }}: - - Linux_x64 - - Linux_musl_x64 - - ${{ if eq(variables['isFullMatrix'], true) }}: - - Linux_arm - - Linux_arm64 - - Linux_musl_arm64 - - ${{ if eq(variables['includeOsxOuterloop'], true) }}: - - OSX_x64 - jobParameters: - testGroup: innerloop # # CoreCLR Build diff --git a/eng/pipelines/runtime-official.yml b/eng/pipelines/runtime-official.yml index b524c2d098f2f4..ba48081097ec67 100644 --- a/eng/pipelines/runtime-official.yml +++ b/eng/pipelines/runtime-official.yml @@ -39,27 +39,6 @@ stages: # - template: /eng/pipelines/common/checkout-job.yml - # - # Build CoreLib - # - - template: /eng/pipelines/common/platform-matrix.yml - parameters: - jobTemplate: /eng/pipelines/coreclr/templates/build-corelib-job.yml - buildConfig: release - platforms: - - OSX_x64 - - Linux_x64 - - Linux_arm - - Linux_arm64 - - Linux_musl_x64 - - Linux_musl_arm64 - - Windows_NT_x86 - - Windows_NT_x64 - - Windows_NT_arm - - Windows_NT_arm64 - jobParameters: - isOfficialBuild: ${{ variables.isOfficialBuild }} - # # Build CoreCLR # From 06bc41e55aa1b7dc9dfcd660699ee6d3e6adedce Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Thu, 9 Apr 2020 17:42:48 -0700 Subject: [PATCH 14/16] delete build-corelib-job --- .../coreclr/templates/build-corelib-job.yml | 109 ------------------ 1 file changed, 109 deletions(-) delete mode 100644 eng/pipelines/coreclr/templates/build-corelib-job.yml diff --git a/eng/pipelines/coreclr/templates/build-corelib-job.yml b/eng/pipelines/coreclr/templates/build-corelib-job.yml deleted file mode 100644 index b846bb3d0cb099..00000000000000 --- a/eng/pipelines/coreclr/templates/build-corelib-job.yml +++ /dev/null @@ -1,109 +0,0 @@ -parameters: - archType: '' - buildConfig: '' - condition: true - container: '' - crossrootfsDir: '' - isOfficialBuild: false - osGroup: '' - osSubgroup: '' - platform: '' - pool: '' - signBinaries: false - stagedBuild: false - testGroup: '' - timeoutInMinutes: '' - variables: {} - -### Product build -jobs: -- template: xplat-pipeline-job.yml - parameters: - buildConfig: ${{ parameters.buildConfig }} - _BuildConfig: ${{ parameters.buildConfig }} - archType: ${{ parameters.archType }} - osGroup: ${{ parameters.osGroup }} - osSubgroup: ${{ parameters.osSubgroup }} - testGroup: ${{ parameters.testGroup }} - helixType: 'build/product/' - enableMicrobuild: true - stagedBuild: ${{ parameters.stagedBuild }} - pool: ${{ parameters.pool }} - condition: ${{ parameters.condition }} - - name: ${{ format('coreclr_corelib_build_{0}{1}_{2}_{3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - displayName: ${{ format('CoreCLR CoreLib Build {0}{1} {2} {3}', parameters.osGroup, parameters.osSubgroup, parameters.archType, parameters.buildConfig) }} - - # Run all steps in the container. - # Note that the containers are defined in platform-matrix.yml - container: ${{ parameters.container }} - - timeoutInMinutes: ${{ parameters.timeoutInMinutes }} - - crossrootfsDir: ${{ parameters.crossrootfsDir }} - - gatherAssetManifests: true - variables: - - name: osGroup - value: ${{ parameters.osGroup }} - - name: osSubgroup - value: ${{ parameters.osSubgroup }} - - name: compilerArg - value: '' - - name: publishLogsArtifactPrefix - value: 'BuildLogs_CoreLib' - - name: officialBuildIdArg - value: '' - - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}: - - name: officialBuildIdArg - value: '/p:OfficialBuildId=$(Build.BuildNumber)' - - - ${{ parameters.variables }} - - steps: - - # Install native dependencies - # Linux builds use docker images with dependencies preinstalled, - # and FreeBSD builds use a build agent with dependencies - # preinstalled, so we only need this step for OSX and Windows. - - ${{ 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 python - - script: $(Build.SourcesDirectory)\eng\common\init-tools-native.cmd -InstallDirectory $(Build.SourcesDirectory)\native-tools -Force - displayName: Install native dependencies - - # # Install internal tools on official builds - # # Since our internal tools are behind an authenticated feed, - # # we need to use the DotNetCli AzDO task to restore from the feed using a service connection. - # # We can't do this from within the build, so we need to do this as a separate step. - - ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(variables['Build.Reason'], 'PullRequest')) }}: - - template: /eng/pipelines/common/restore-internal-tools.yml - parameters: - installDotnet: true - - # Build Private CoreLib - - script: $(Build.SourcesDirectory)$(dir)build$(scriptExt) -subset clr.corelib $(crossArg) -arch $(archType) -c $(buildConfig) $(officialBuildIdArg) -ci - displayName: Build System.Private.CoreLib - - - # Publish corelib output directory for consumption by libraries. - - template: /eng/pipelines/common/upload-artifact-step.yml - parameters: - rootFolder: $(buildProductRootFolderPath) - includeRootFolder: false - archiveType: $(archiveType) - tarCompression: $(tarCompression) - archiveExtension: $(archiveExtension) - artifactName: $(corelibProductArtifactName) - displayName: Upload System.Private.CoreLib - - # Publish Logs - - task: PublishPipelineArtifact@1 - displayName: Publish Logs - inputs: - targetPath: $(Build.SourcesDirectory)/artifacts/log - artifactName: '$(publishLogsArtifactPrefix)_$(osGroup)$(osSubgroup)_$(archType)_$(buildConfig)' - continueOnError: true - condition: always() From e74f8392e4dff60fff0e3bcd3b61fafacd388db8 Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Fri, 10 Apr 2020 10:48:08 -0700 Subject: [PATCH 15/16] PR feedback --- eng/pipelines/libraries/base-job.yml | 2 +- eng/pipelines/libraries/build-job.yml | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/eng/pipelines/libraries/base-job.yml b/eng/pipelines/libraries/base-job.yml index e5eff4ab9bc5cf..aa38df996e3589 100644 --- a/eng/pipelines/libraries/base-job.yml +++ b/eng/pipelines/libraries/base-job.yml @@ -99,7 +99,7 @@ jobs: - ${{ if ne(parameters.liveRuntimeBuildConfig, '') }}: - _runtimeDownloadPath: '$(Build.SourcesDirectory)/artifacts/transport/${{ parameters.runtimeFlavor }}' - - _runtimeConfigurationArg: -runtimeConfiguration ${{ parameters.liveRuntimeBuildConfig }} + - _runtimeConfigurationArg: -rc ${{ parameters.liveRuntimeBuildConfig }} # Download full product dependencies for mono or test - ${{ if or(ne(parameters.runtimeFlavor, 'coreclr'), ne(parameters.testScope, '')) }}: - _runtimeArtifactName: '$(runtimeFlavorName)Product_${{ parameters.osGroup }}${{ parameters.osSubgroup }}_${{ parameters.archType }}_${{ parameters.liveRuntimeBuildConfig }}' diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 6000b20e60146d..c9e2102bbe4ead 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -56,16 +56,17 @@ jobs: variables: - _subset: libs - - _addtionalBuildArguments: '' + - _additionalBuildArguments: '' - ${{ parameters.variables }} - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - EMSDK_PATH: $(Build.BinariesDirectory)/emsdk # for coreclr library builds (when not testing) build corelib as well. - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, ''), ne(parameters.osGroup, 'WebAssembly')) }}: - _subset: clr.corelib+libs + # Tests only run for 'allConfiguration' and 'net472' build-jobs - ${{ if eq(parameters.runTests, true) }}: - _subset: clr.corelib+libs+libs.tests - - _addtionalBuildArguments: /p:ArchiveTests=true + - _additionalBuildArguments: /p:ArchiveTests=true - ${{ parameters.variables }} @@ -91,8 +92,9 @@ jobs: # Build CoreLib for WebAssembly - script: $(_buildScript) -subset clr.corelib - -configuration Release -arch x64 -os Linux - $(_addtionalBuildArguments) + -configuration Release -arch x64 -os Linux -ci + /bl:$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/BuildCorelib.binlog + $(_additionalBuildArguments) displayName: Build System.Private.CoreLib - ${{ if eq(parameters.isOfficialBuild, true) }}: @@ -103,7 +105,7 @@ jobs: - script: $(_buildScript) -subset $(_subset) $(_buildArguments) - $(_addtionalBuildArguments) + $(_additionalBuildArguments) displayName: Restore and Build Product - ${{ if eq(parameters.runTests, false) }}: From 25e4962fa2776f6d2c5ad91e60360704bf49867d Mon Sep 17 00:00:00 2001 From: Manish Godse <61718172+mangod9@users.noreply.github.com> Date: Fri, 10 Apr 2020 14:05:46 -0700 Subject: [PATCH 16/16] remove special case for webassembly now that its dependent on the mono runtimeFlavor --- eng/pipelines/libraries/build-job.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/libraries/build-job.yml b/eng/pipelines/libraries/build-job.yml index 2d93ca9c54d2f2..f0a98c2e284c73 100644 --- a/eng/pipelines/libraries/build-job.yml +++ b/eng/pipelines/libraries/build-job.yml @@ -60,7 +60,7 @@ jobs: - ${{ if eq(parameters.osGroup, 'WebAssembly') }}: - EMSDK_PATH: /usr/local/emscripten # for coreclr library builds (when not testing) build corelib as well. - - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, ''), ne(parameters.osGroup, 'WebAssembly')) }}: + - ${{ if and(eq(parameters.runtimeFlavor, 'coreclr'), eq(parameters.testScope, '')) }}: - _subset: clr.corelib+libs # Tests only run for 'allConfiguration' and 'net472' build-jobs - ${{ if eq(parameters.runTests, true) }}: