From d0a5c989173243621a7db5641667e13eddd07b77 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:05:17 +0000 Subject: [PATCH 1/6] Initial plan From 205300598b5a93d005fe807414cbb3ab9f4783d2 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:09:03 +0000 Subject: [PATCH 2/6] Simplify vs-insertion ymls: target only main/rel/insiders/rel/stable, auto always maps to main Co-authored-by: JanProvaznik <25267098+JanProvaznik@users.noreply.github.com> --- azure-pipelines/vs-insertion-experimental.yml | 32 +------- azure-pipelines/vs-insertion.yml | 77 +++---------------- 2 files changed, 12 insertions(+), 97 deletions(-) diff --git a/azure-pipelines/vs-insertion-experimental.yml b/azure-pipelines/vs-insertion-experimental.yml index 215e88c5ecc..6cfa14acf69 100644 --- a/azure-pipelines/vs-insertion-experimental.yml +++ b/azure-pipelines/vs-insertion-experimental.yml @@ -24,20 +24,8 @@ parameters: displayName: 'Insertion Target Branch (select for manual insertion)' values: - main - - rel/d18.6 - - rel/d18.5 - - rel/d18.4 - - rel/d18.3 - - rel/d18.0 - - rel/d17.14 - - rel/d17.13 - - rel/d17.12 - - rel/d17.11 - - rel/d17.8 - - rel/d17.6 - - rel/d17.3 - - rel/d17.0 - - rel/d16.11 + - rel/insiders + - rel/stable variables: - name: TeamName @@ -120,27 +108,13 @@ extends: inputs: targetType: inline script: | - # Extract VS version from branch name if it follows exp/vsXX.Y-somename pattern - $fullBranch = "$(resources.pipeline.MSBuildExpPerf.sourceBranch)" $parameterTargetBranch = "${{ parameters.TargetBranch }}" $detectedTarget = "main" # Default target branch - # Try to match the pattern with regex - if ($fullBranch -match "exp/vs(\d+)\.(\d+).*") { - $major = $matches[1] - $minor = $matches[2] - $targetBranch = "rel/d$major.$minor" - Write-Host "Detected version pattern in branch: $major.$minor" - Write-Host "Setting target branch to $targetBranch" - $detectedTarget = $targetBranch - } else { - Write-Host "No version pattern detected in branch, using default target: main" - } - # Determine which target branch to use based on build reason $finalTargetBranch = $parameterTargetBranch if ("$(Build.Reason)" -eq "ResourceTrigger" -or "$(Build.Reason)" -eq "PipelineCompletedTrigger") { - Write-Host "Build was triggered automatically, using detected target branch: $detectedTarget" + Write-Host "Build was triggered automatically, using default target branch: $detectedTarget" $finalTargetBranch = $detectedTarget } else { Write-Host "Build was triggered manually, using parameter target branch: $parameterTargetBranch" diff --git a/azure-pipelines/vs-insertion.yml b/azure-pipelines/vs-insertion.yml index f40e263cea8..7068c5f74e2 100644 --- a/azure-pipelines/vs-insertion.yml +++ b/azure-pipelines/vs-insertion.yml @@ -28,8 +28,10 @@ resources: branch: main # for daily main scheduled insertion trigger: branches: - include: # trigger as a followup to servicing CI + include: # trigger as a followup to CI on servicing branches - vs* + - rel/insiders + - rel/stable repositories: - repository: 1ESPipelineTemplates type: git @@ -44,20 +46,8 @@ parameters: values: - auto - main - - rel/d18.6 - - rel/d18.5 - - rel/d18.4 - - rel/d18.3 - - rel/d18.0 - - rel/d17.14 - - rel/d17.13 - - rel/d17.12 - - rel/d17.11 - - rel/d17.10 - - rel/d17.8 - - rel/d17.6 - - rel/d17.3 - - rel/d17.0 + - rel/insiders + - rel/stable - name: DropRetentionDays default: 183 type: number @@ -70,38 +60,7 @@ parameters: variables: # `auto` should work every time and selecting a branch in parameters is likely to fail due to incompatible versions in MSBuild and VS - name: AutoInsertTargetBranch - ${{ if eq(variables['Build.SourceBranchName'], 'vs18.6') }}: - value: 'rel/d18.6' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs18.5') }}: - value: 'rel/d18.5' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs18.4') }}: - value: 'rel/d18.4' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs18.3') }}: - value: 'rel/d18.3' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs18.0') }}: - value: 'rel/d18.0' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.14') }}: - value: 'rel/d17.14' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.13') }}: - value: 'rel/d17.13' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.12') }}: - value: 'rel/d17.12' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.11') }}: - value: 'rel/d17.11' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.8') }}: - value: 'rel/d17.8' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.6') }}: - value: 'rel/d17.6' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.3') }}: - value: 'rel/d17.3' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.0') }}: - value: 'rel/d17.0' - ${{ elseif eq(variables['Build.SourceBranchName'], 'main') }}: - value: 'main' - ${{ elseif eq(variables['Build.SourceBranchName'], 'vs17.15') }}: - value: 'main' - ${{ else }}: - value: '' + value: 'main' - name: InsertTargetBranch ${{ if not(eq(parameters.TargetBranch, 'auto')) }}: value: ${{ parameters.TargetBranch }} @@ -235,29 +194,11 @@ extends: "Microsoft.Build.Utilities.Core=$MicrosoftNETStringToolsPackageVersion", "Microsoft.NET.StringTools=$MicrosoftNETStringToolsPackageVersion" ) - # servicing branches until 17.12 also include Microsoft.Build.Engine and Microsoft.Build.Conversion.Core - if ("$(InsertTargetBranch)" -in @("rel/d17.0", "rel/d17.3", "rel/d17.6", "rel/d17.8", "rel/d17.10", "rel/d17.11", "rel/d17.12")) - - { - $props += @( - "Microsoft.Build.Conversion.Core=$MicrosoftNETStringToolsPackageVersion", - "Microsoft.Build.Engine=$MicrosoftNETStringToolsPackageVersion" - ) - } $propsValue = $props -join ";" - # For 18.0+, don't update PackageReferences so that VS packages like VSSDK - # can choose their own versioning and don't always depend on a super fresh MSBuild - if ("$(InsertTargetBranch)" -in @("rel/d17.10", "rel/d17.12", "rel/d17.14")) - { - Write-Host "Setting InsertPackagePropsValues to '$propsValue'" - Write-Host "##vso[task.setvariable variable=InsertPackagePropsValues]$($propsValue)" - } - else - { - Write-Host "Unsetting InsertPackagePropsValues" - Write-Host "##vso[task.setvariable variable=InsertPackagePropsValues]" - } + # InsertPackagePropsValues is not needed for main/rel/insiders/rel/stable + Write-Host "Unsetting InsertPackagePropsValues" + Write-Host "##vso[task.setvariable variable=InsertPackagePropsValues]" # autocomplete main $autocomplete = "false" From 5a4448c05a48af579d3fa236d4981e14e72d7ac5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:15:53 +0000 Subject: [PATCH 3/6] Remove non-existent rel/insiders and rel/stable from resource pipeline triggers Co-authored-by: JanProvaznik <25267098+JanProvaznik@users.noreply.github.com> --- azure-pipelines/vs-insertion.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/azure-pipelines/vs-insertion.yml b/azure-pipelines/vs-insertion.yml index 7068c5f74e2..69ae10439cd 100644 --- a/azure-pipelines/vs-insertion.yml +++ b/azure-pipelines/vs-insertion.yml @@ -30,8 +30,6 @@ resources: branches: include: # trigger as a followup to CI on servicing branches - vs* - - rel/insiders - - rel/stable repositories: - repository: 1ESPipelineTemplates type: git @@ -196,7 +194,7 @@ extends: ) $propsValue = $props -join ";" - # InsertPackagePropsValues is not needed for main/rel/insiders/rel/stable + # InsertPackagePropsValues was needed for old servicing branches (rel/d17.x) but is not used for main Write-Host "Unsetting InsertPackagePropsValues" Write-Host "##vso[task.setvariable variable=InsertPackagePropsValues]" From f328cd7a603e8062176a96c9e68dae1c907af832 Mon Sep 17 00:00:00 2001 From: MichalPavlik Date: Thu, 19 Mar 2026 13:54:53 +0100 Subject: [PATCH 4/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- azure-pipelines/vs-insertion.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/azure-pipelines/vs-insertion.yml b/azure-pipelines/vs-insertion.yml index 69ae10439cd..7be240e7912 100644 --- a/azure-pipelines/vs-insertion.yml +++ b/azure-pipelines/vs-insertion.yml @@ -57,13 +57,11 @@ parameters: variables: # `auto` should work every time and selecting a branch in parameters is likely to fail due to incompatible versions in MSBuild and VS - - name: AutoInsertTargetBranch - value: 'main' - name: InsertTargetBranch ${{ if not(eq(parameters.TargetBranch, 'auto')) }}: value: ${{ parameters.TargetBranch }} ${{ else }}: - value: $(AutoInsertTargetBranch) + value: 'main' - name: TeamName value: msbuild - name: TeamEmail From b697ea5e6dab8f1da81749890e7b01897c88bd9b Mon Sep 17 00:00:00 2001 From: MichalPavlik Date: Thu, 19 Mar 2026 13:55:25 +0100 Subject: [PATCH 5/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- azure-pipelines/vs-insertion.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/azure-pipelines/vs-insertion.yml b/azure-pipelines/vs-insertion.yml index 7be240e7912..e0af55a65f8 100644 --- a/azure-pipelines/vs-insertion.yml +++ b/azure-pipelines/vs-insertion.yml @@ -182,15 +182,6 @@ extends: $MicrosoftNETStringToolsPackageVersion = $packageFile.BaseName.TrimStart("Microsoft.NET.StringTools") Write-Host "Setting MicrosoftNETStringToolsPackageVersion to '$MicrosoftNETStringToolsPackageVersion'" Write-Host "##vso[task.setvariable variable=MicrosoftNETStringToolsPackageVersion]$($MicrosoftNETStringToolsPackageVersion)" - $props = @( - "VS.ExternalAPIs.MSBuild=$MSBuild_ExtApisPackageVersion", - "Microsoft.Build=$MicrosoftNETStringToolsPackageVersion", - "Microsoft.Build.Framework=$MicrosoftNETStringToolsPackageVersion", - "Microsoft.Build.Tasks.Core=$MicrosoftNETStringToolsPackageVersion", - "Microsoft.Build.Utilities.Core=$MicrosoftNETStringToolsPackageVersion", - "Microsoft.NET.StringTools=$MicrosoftNETStringToolsPackageVersion" - ) - $propsValue = $props -join ";" # InsertPackagePropsValues was needed for old servicing branches (rel/d17.x) but is not used for main Write-Host "Unsetting InsertPackagePropsValues" From 5e3d52c16d85bb3e13b887521c7d7615e19c5629 Mon Sep 17 00:00:00 2001 From: MichalPavlik Date: Thu, 19 Mar 2026 13:56:11 +0100 Subject: [PATCH 6/6] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- azure-pipelines/vs-insertion-experimental.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/azure-pipelines/vs-insertion-experimental.yml b/azure-pipelines/vs-insertion-experimental.yml index 6cfa14acf69..05018f82c08 100644 --- a/azure-pipelines/vs-insertion-experimental.yml +++ b/azure-pipelines/vs-insertion-experimental.yml @@ -109,13 +109,12 @@ extends: targetType: inline script: | $parameterTargetBranch = "${{ parameters.TargetBranch }}" - $detectedTarget = "main" # Default target branch # Determine which target branch to use based on build reason $finalTargetBranch = $parameterTargetBranch if ("$(Build.Reason)" -eq "ResourceTrigger" -or "$(Build.Reason)" -eq "PipelineCompletedTrigger") { - Write-Host "Build was triggered automatically, using default target branch: $detectedTarget" - $finalTargetBranch = $detectedTarget + Write-Host "Build was triggered automatically, using default target branch: main" + $finalTargetBranch = "main" } else { Write-Host "Build was triggered manually, using parameter target branch: $parameterTargetBranch" }