From 355aed167d50c5e0e14a9ef44d3f1a691208fd58 Mon Sep 17 00:00:00 2001 From: Matt Thalman Date: Wed, 8 Jan 2025 10:55:00 -0600 Subject: [PATCH 1/2] Enable SB stage 2 builds --- eng/pipelines/templates/stages/vmr-build.yml | 248 +++++++++---------- 1 file changed, 121 insertions(+), 127 deletions(-) diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index fd8daa2f91e1..20c1a13e09d5 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -106,49 +106,47 @@ stages: ### Additional jobs for lite/full builds ### - ${{ if in(parameters.scope, 'lite', 'full') }}: - # Disabled until net9.0 -> net10.0 transition is complete - see https://github.com/dotnet/source-build/issues/4605 - # - template: ../jobs/vmr-build.yml - # parameters: - # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - # buildName: ${{ format('{0}_Online_CurrentSourceBuiltSdk', variables.centOSStreamName) }} - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # targetArchitecture: x64 - # pool: ${{ parameters.pool_Linux }} - # container: - # name: ${{ variables.centOSStreamContainerName }} - # image: ${{ variables.centOSStreamContainerImage }} - # buildFromArchive: false # 🚫 - # buildSourceOnly: true # ✅ - # enablePoison: false # 🚫 - # excludeOmniSharpTests: true # ✅ - # runOnline: true # ✅ - # useMonoRuntime: false # 🚫 - # withPreviousSDK: false # 🚫 - # reuseBuildArtifactsFrom: - # - ${{ format('{0}_Online_MsftSdk_x64', variables.centOSStreamName) }} - - # Disabled until net9.0 -> net10.0 transition is complete - see https://github.com/dotnet/source-build/issues/4605 - # - template: ../jobs/vmr-build.yml - # parameters: - # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - # buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.alpinePreviousName) }} - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # targetArchitecture: x64 - # artifactsRid: ${{ variables.alpinePreviousX64Rid }} - # pool: ${{ parameters.pool_Linux }} - # container: - # name: ${{ variables.alpinePreviousContainerName }} - # image: ${{ variables.alpinePreviousContainerImage }} - # targetRid: ${{ variables.alpinePreviousX64Rid }} - # buildFromArchive: false # 🚫 - # buildSourceOnly: true # ✅ - # enablePoison: true # ✅ - # excludeOmniSharpTests: true # ✅ - # runOnline: false # 🚫 - # useMonoRuntime: false # 🚫 - # withPreviousSDK: true # ✅ + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: ${{ format('{0}_Online_CurrentSourceBuiltSdk', variables.centOSStreamName) }} + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + targetArchitecture: x64 + pool: ${{ parameters.pool_Linux }} + container: + name: ${{ variables.centOSStreamContainerName }} + image: ${{ variables.centOSStreamContainerImage }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: true # ✅ + runOnline: true # ✅ + useMonoRuntime: false # 🚫 + withPreviousSDK: false # 🚫 + reuseBuildArtifactsFrom: + - ${{ format('{0}_Online_MsftSdk_x64', variables.centOSStreamName) }} + + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.alpinePreviousName) }} + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + targetArchitecture: x64 + artifactsRid: ${{ variables.alpinePreviousX64Rid }} + pool: ${{ parameters.pool_Linux }} + container: + name: ${{ variables.alpinePreviousContainerName }} + image: ${{ variables.alpinePreviousContainerImage }} + targetRid: ${{ variables.alpinePreviousX64Rid }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: true # ✅ + excludeOmniSharpTests: true # ✅ + runOnline: false # 🚫 + useMonoRuntime: false # 🚫 + withPreviousSDK: true # ✅ - template: ../jobs/vmr-build.yml parameters: @@ -232,47 +230,45 @@ stages: useMonoRuntime: false # 🚫 withPreviousSDK: false # 🚫 - # Disabled until net9.0 -> net10.0 transition is complete - see https://github.com/dotnet/source-build/issues/4605 - # - template: ../jobs/vmr-build.yml - # parameters: - # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - # buildName: ${{ format('{0}_Online_PreviousSourceBuiltSdk', variables.centOSStreamName) }} - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # targetArchitecture: x64 - # artifactsRid: ${{ variables.centOSStreamX64Rid }} - # pool: ${{ parameters.pool_Linux }} - # container: - # name: ${{ variables.centOSStreamContainerName }} - # image: ${{ variables.centOSStreamContainerImage }} - # buildFromArchive: false # 🚫 - # buildSourceOnly: true # ✅ - # enablePoison: false # 🚫 - # excludeOmniSharpTests: false # 🚫 - # runOnline: true # ✅ - # useMonoRuntime: false # 🚫 - # withPreviousSDK: true # ✅ - - # Disabled until net9.0 -> net10.0 transition is complete - see https://github.com/dotnet/source-build/issues/4605 - # - template: ../jobs/vmr-build.yml - # parameters: - # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - # buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.centOSStreamName) }} - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # targetArchitecture: x64 - # artifactsRid: ${{ variables.centOSStreamX64Rid }} - # pool: ${{ parameters.pool_Linux }} - # container: - # name: ${{ variables.centOSStreamContainerName }} - # image: ${{ variables.centOSStreamContainerImage }} - # buildFromArchive: false # 🚫 - # buildSourceOnly: true # ✅ - # enablePoison: false # 🚫 - # excludeOmniSharpTests: true # ✅ - # runOnline: false # 🚫 - # useMonoRuntime: false # 🚫 - # withPreviousSDK: true # ✅ + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: ${{ format('{0}_Online_PreviousSourceBuiltSdk', variables.centOSStreamName) }} + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + targetArchitecture: x64 + artifactsRid: ${{ variables.centOSStreamX64Rid }} + pool: ${{ parameters.pool_Linux }} + container: + name: ${{ variables.centOSStreamContainerName }} + image: ${{ variables.centOSStreamContainerImage }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: false # 🚫 + runOnline: true # ✅ + useMonoRuntime: false # 🚫 + withPreviousSDK: true # ✅ + + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.centOSStreamName) }} + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + targetArchitecture: x64 + artifactsRid: ${{ variables.centOSStreamX64Rid }} + pool: ${{ parameters.pool_Linux }} + container: + name: ${{ variables.centOSStreamContainerName }} + image: ${{ variables.centOSStreamContainerImage }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: true # ✅ + runOnline: false # 🚫 + useMonoRuntime: false # 🚫 + withPreviousSDK: true # ✅ - template: ../jobs/vmr-build.yml parameters: @@ -331,49 +327,47 @@ stages: useMonoRuntime: false # 🚫 withPreviousSDK: false # 🚫 - # Disabled until net9.0 -> net10.0 transition is complete - see https://github.com/dotnet/source-build/issues/4605 - # - template: ../jobs/vmr-build.yml - # parameters: - # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - # buildName: ${{ format('{0}_Offline_CurrentSourceBuiltSdk', variables.fedoraName) }} - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # targetArchitecture: x64 - # pool: ${{ parameters.pool_Linux }} - # container: - # name: ${{ variables.fedoraContainerName }} - # image: ${{ variables.fedoraContainerImage }} - # buildFromArchive: false # 🚫 - # buildSourceOnly: true # ✅ - # enablePoison: false # 🚫 - # excludeOmniSharpTests: false # 🚫 - # runOnline: false # 🚫 - # useMonoRuntime: false # 🚫 - # withPreviousSDK: false # 🚫 - # reuseBuildArtifactsFrom: - # - ${{ format('{0}_Offline_MsftSdk_x64', variables.fedoraName) }} - - # Disabled until net9.0 -> net10.0 transition is complete - see https://github.com/dotnet/source-build/issues/4605 - # - template: ../jobs/vmr-build.yml - # parameters: - # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - # buildName: ${{ format('{0}_Mono_Offline_CurrentSourceBuiltSdk', variables.centOSStreamName) }} - # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - # vmrBranch: ${{ variables.VmrBranch }} - # targetArchitecture: x64 - # pool: ${{ parameters.pool_Linux }} - # container: - # name: ${{ variables.centOSStreamContainerName }} - # image: ${{ variables.centOSStreamContainerImage }} - # buildFromArchive: true # ✅ - # buildSourceOnly: true # ✅ - # enablePoison: false # 🚫 - # excludeOmniSharpTests: true # ✅ - # runOnline: false # 🚫 - # useMonoRuntime: true # ✅ - # withPreviousSDK: false # 🚫 - # reuseBuildArtifactsFrom: - # - ${{ format('{0}_Mono_Offline_MsftSdk_x64', variables.centOSStreamName) }} + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: ${{ format('{0}_Offline_CurrentSourceBuiltSdk', variables.fedoraName) }} + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + targetArchitecture: x64 + pool: ${{ parameters.pool_Linux }} + container: + name: ${{ variables.fedoraContainerName }} + image: ${{ variables.fedoraContainerImage }} + buildFromArchive: false # 🚫 + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: false # 🚫 + runOnline: false # 🚫 + useMonoRuntime: false # 🚫 + withPreviousSDK: false # 🚫 + reuseBuildArtifactsFrom: + - ${{ format('{0}_Offline_MsftSdk_x64', variables.fedoraName) }} + + - template: ../jobs/vmr-build.yml + parameters: + # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + buildName: ${{ format('{0}_Mono_Offline_CurrentSourceBuiltSdk', variables.centOSStreamName) }} + isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + vmrBranch: ${{ variables.VmrBranch }} + targetArchitecture: x64 + pool: ${{ parameters.pool_Linux }} + container: + name: ${{ variables.centOSStreamContainerName }} + image: ${{ variables.centOSStreamContainerImage }} + buildFromArchive: true # ✅ + buildSourceOnly: true # ✅ + enablePoison: false # 🚫 + excludeOmniSharpTests: true # ✅ + runOnline: false # 🚫 + useMonoRuntime: true # ✅ + withPreviousSDK: false # 🚫 + reuseBuildArtifactsFrom: + - ${{ format('{0}_Mono_Offline_MsftSdk_x64', variables.centOSStreamName) }} #### VERTICAL BUILD (Validation) #### - ${{ if and(not(parameters.isSourceOnlyBuild), or(eq(variables['Build.Reason'], 'PullRequest'), ne(variables['System.TeamProject'], 'internal'))) }}: From 0710294c12eadfb9f60c3670a0fcfec00563088d Mon Sep 17 00:00:00 2001 From: Matt Thalman Date: Thu, 9 Jan 2025 15:55:30 -0600 Subject: [PATCH 2/2] Disable N-1 Alpine leg --- eng/pipelines/templates/stages/vmr-build.yml | 41 ++++++++++---------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/eng/pipelines/templates/stages/vmr-build.yml b/eng/pipelines/templates/stages/vmr-build.yml index 20c1a13e09d5..cfc3f558c35f 100644 --- a/eng/pipelines/templates/stages/vmr-build.yml +++ b/eng/pipelines/templates/stages/vmr-build.yml @@ -127,26 +127,27 @@ stages: reuseBuildArtifactsFrom: - ${{ format('{0}_Online_MsftSdk_x64', variables.centOSStreamName) }} - - template: ../jobs/vmr-build.yml - parameters: - # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline - buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.alpinePreviousName) }} - isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} - vmrBranch: ${{ variables.VmrBranch }} - targetArchitecture: x64 - artifactsRid: ${{ variables.alpinePreviousX64Rid }} - pool: ${{ parameters.pool_Linux }} - container: - name: ${{ variables.alpinePreviousContainerName }} - image: ${{ variables.alpinePreviousContainerImage }} - targetRid: ${{ variables.alpinePreviousX64Rid }} - buildFromArchive: false # 🚫 - buildSourceOnly: true # ✅ - enablePoison: true # ✅ - excludeOmniSharpTests: true # ✅ - runOnline: false # 🚫 - useMonoRuntime: false # 🚫 - withPreviousSDK: true # ✅ + # Disabled due to https://github.com/dotnet/source-build/issues/4819 + # - template: ../jobs/vmr-build.yml + # parameters: + # # Changing the build name requires updating the referenced name in the source-build-sdk-diff-tests.yml pipeline + # buildName: ${{ format('{0}_Offline_PreviousSourceBuiltSdk', variables.alpinePreviousName) }} + # isBuiltFromVmr: ${{ parameters.isBuiltFromVmr }} + # vmrBranch: ${{ variables.VmrBranch }} + # targetArchitecture: x64 + # artifactsRid: ${{ variables.alpinePreviousX64Rid }} + # pool: ${{ parameters.pool_Linux }} + # container: + # name: ${{ variables.alpinePreviousContainerName }} + # image: ${{ variables.alpinePreviousContainerImage }} + # targetRid: ${{ variables.alpinePreviousX64Rid }} + # buildFromArchive: false # 🚫 + # buildSourceOnly: true # ✅ + # enablePoison: true # ✅ + # excludeOmniSharpTests: true # ✅ + # runOnline: false # 🚫 + # useMonoRuntime: false # 🚫 + # withPreviousSDK: true # ✅ - template: ../jobs/vmr-build.yml parameters: