From 405dd8cb0b4079ab2bb136eaf2100080656b0bad Mon Sep 17 00:00:00 2001 From: Matt Galbraith Date: Thu, 27 Oct 2022 03:14:13 -0700 Subject: [PATCH] Arcade update + changes that should allow the "release/devXY.Z" branches (#14168) Co-authored-by: Tomas Grosup --- azure-pipelines.yml | 20 +++++++++++--------- eng/Version.Details.xml | 8 ++++---- eng/common/templates/job/source-build.yml | 21 +++++++++++++++------ eng/common/tools.sh | 11 +++++------ global.json | 4 ++-- 5 files changed, 37 insertions(+), 27 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index df849372dd0..d2590b5ba6c 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -68,6 +68,8 @@ variables: - ${{ if and(eq(variables['System.TeamProject'], 'public'), eq(variables['Build.Reason'], 'PullRequest')) }}: - name: RunningAsPullRequest value: true + # Pick up pool provider name behavior from shared yaml template + - template: /eng/common/templates/variables/pool-providers.yml # Variables defined in yml cannot be overridden at queue time; instead overridable variables must be defined in the web UI. # Commenting out until something like this is supported: https://github.com/Microsoft/azure-pipelines-yaml/pull/129 @@ -104,7 +106,7 @@ stages: jobs: - job: Full_Signed pool: - name: NetCore1ESPool-Internal + name: $(DncEngInternalBuildPool) demands: ImageOverride -equals windows.vs2022.amd64 timeoutInMinutes: 300 variables: @@ -212,7 +214,7 @@ stages: - name: _SignType value: Test pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 90 steps: @@ -285,7 +287,7 @@ stages: # WindowsMachineQueueName=Windows.vs2022.amd64.open # and there is an alternate build definition that sets this to a queue that is always scouting the # next preview of Visual Studio. - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 120 strategy: @@ -343,7 +345,7 @@ stages: # WindowsMachineQueueName=Windows.vs2022.amd64.open # and there is an alternate build definition that sets this to a queue that is always scouting the # next preview of Visual Studio. - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 120 strategy: @@ -397,7 +399,7 @@ stages: # Mock official build - job: MockOfficial pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) steps: - checkout: self @@ -488,7 +490,7 @@ stages: # End to end build - job: EndToEndBuildTests pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) steps: - checkout: self @@ -517,7 +519,7 @@ stages: - name: _SignType value: Test pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 90 steps: @@ -543,7 +545,7 @@ stages: # Plain build Windows - job: Plain_Build_Windows pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) variables: - name: _BuildConfig @@ -640,7 +642,7 @@ stages: # Test trimming on Windows - job: Build_And_Test_Trimming_Windows pool: - name: NetCore-Public + name: $(DncEngPublicBuildPool) demands: ImageOverride -equals $(WindowsMachineQueueName) strategy: maxParallel: 2 diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 839629b8f92..4dbba158d78 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -8,14 +8,14 @@ - + https://github.com/dotnet/arcade - 7e27c0ab0fc92ec636c26442fd1663dc5714aa4b + c5dd6a1da2e6d9b3423ab809fcda8af2927a408b - + https://github.com/dotnet/arcade - 7e27c0ab0fc92ec636c26442fd1663dc5714aa4b + c5dd6a1da2e6d9b3423ab809fcda8af2927a408b diff --git a/eng/common/templates/job/source-build.yml b/eng/common/templates/job/source-build.yml index 6fe2d737dbf..e40bf35203b 100644 --- a/eng/common/templates/job/source-build.yml +++ b/eng/common/templates/job/source-build.yml @@ -34,8 +34,6 @@ parameters: jobs: - job: ${{ parameters.jobNamePrefix }}_${{ parameters.platform.name }} displayName: Source-Build (${{ parameters.platform.name }}) - variables: - - template: /eng/common/templates/variables/pool-providers.yml ${{ each property in parameters.platform.jobProperties }}: ${{ property.key }}: ${{ property.value }} @@ -46,13 +44,24 @@ jobs: ${{ if eq(parameters.platform.pool, '') }}: # The default VM host AzDO pool. This should be capable of running Docker containers: almost all # source-build builds run in Docker, including the default managed platform. + # /eng/common/templates/variables/pool-providers.yml can't be used here (some customers declare variables already), so duplicate its logic pool: - ${{ if eq(variables['System.TeamProject'], 'public') }}: - name: $(DncEngPublicBuildPool) + # Main environments + ${{ if and(eq(variables['System.TeamProject'], 'public'), ne(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), true)) }}: + name: NetCore-Public demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open - ${{ if eq(variables['System.TeamProject'], 'internal') }}: - name: $(DncEngInternalBuildPool) + ${{ if and(eq(variables['System.TeamProject'], 'internal'), ne(contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release'), true)) }}: + name: NetCore1ESPool-Internal demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + + # Servicing build environments + ${{ if and(eq(variables['System.TeamProject'], 'public'), contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release')) }}: + name: NetCore-Svc-Public + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64.Open + ${{ if and(eq(variables['System.TeamProject'], 'internal'), contains(coalesce(variables['System.PullRequest.TargetBranch'], variables['Build.SourceBranch'], 'refs/heads/main'), 'release')) }}: + name: NetCore1ESPool-Svc-Internal + demands: ImageOverride -equals Build.Ubuntu.1804.Amd64 + ${{ if ne(parameters.platform.pool, '') }}: pool: ${{ parameters.platform.pool }} diff --git a/eng/common/tools.sh b/eng/common/tools.sh index dc19dfabe8e..6586eab458e 100755 --- a/eng/common/tools.sh +++ b/eng/common/tools.sh @@ -417,12 +417,11 @@ function MSBuild { Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20" Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20" - export NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY=true - export NUGET_EXPERIMENTAL_MAX_NETWORK_TRY_COUNT=6 - export NUGET_EXPERIMENTAL_NETWORK_RETRY_DELAY_MILLISECONDS=1000 - Write-PipelineSetVariable -name "NUGET_ENABLE_EXPERIMENTAL_HTTP_RETRY" -value "true" - Write-PipelineSetVariable -name "NUGET_EXPERIMENTAL_MAX_NETWORK_TRY_COUNT" -value "6" - Write-PipelineSetVariable -name "NUGET_EXPERIMENTAL_NETWORK_RETRY_DELAY_MILLISECONDS" -value "1000" + # https://github.com/dotnet/arcade/issues/11369 - disable new MSBuild server feature on linux + # This feature is new and can result in build failures from connection timeout errors. + export DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER=1 + Write-PipelineSetVariable -name "DOTNET_CLI_DO_NOT_USE_MSBUILD_SERVER" -value "1" + fi local toolset_dir="${_InitializeToolset%/*}" diff --git a/global.json b/global.json index 65d0eaedfdd..39f450f3121 100644 --- a/global.json +++ b/global.json @@ -18,7 +18,7 @@ "perl": "5.32.1.1" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.22520.1", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.22520.1" + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.22524.5", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.22524.5" } }