-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[automated] Merge branch 'vs17.8' => 'vs17.10' (#11124)
* Dont ngen taskhost Fixes our lack of optprof data (#8737) Don't ngen TaskHosts * Bump version * Bump version * Update System.Security.Cryptography.Pkcs * Bump version * Workaround for incorrect encoding of PUA range in GB18030 Uri string (#9751) * [release/vs17.7] Onboard 1es templates (#9924) * bump arcade version * bump MicrosoftNetCompilersToolsetVersion * bump MicrosoftNetCompilersToolsetVersion * update sha for Microsoft.Net.Compilers.Toolset * CG alert cleaning on VS17.8 (#10725) * Bump Microsoft.IO.Redist to 6.0.1 * Bump System.Formats.Asn1 to 8.0.1 * Bump System.Text.Json to 8.0.0.4 * Bump the dependencies of System.Text.Json * Add System.Formats.Asn1 8.0.1 to the pre-built exception list * Bump version prefix to 17.8.8 * Updated System.Collection.Immutable package to v8 * Adding System.Collections.Immutable 8.0.0 to the pre-built exception list * Updated Version.Details.xml * [vs17.8] update arcade and fix build (#10838) * Update dependencies from https://github.com/dotnet/arcade build 20241008.1 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.23425.2 -> To Version 8.0.0-beta.24508.1 Dependency coherency updates Microsoft.DotNet.XliffTasks From Version 1.0.0-beta.23423.1 -> To Version 1.0.0-beta.23475.1 (parent: Microsoft.DotNet.Arcade.Sdk * remove BuildXL from nuget config * compatibility suppressions * Update dependencies from https://github.com/dotnet/arcade build 20241… Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.24508.1 -> To Version 8.0.0-beta.24516.1 * include PortableRuntimeIdentifierGraph.json * Suppress a warning IDE0305 * bump version --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Jenny Bai <[email protected]> * [vs17.8] Sync internal and public branches (#10858) * Update dependencies from https://github.com/dotnet/arcade build 20241025.2 (#10894) * [vs17.8] Update dependencies from dotnet/arcade (#10986) * Update dependencies from https://github.com/dotnet/arcade build 20241112.12 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.24525.2 -> To Version 8.0.0-beta.24562.12 * Update VersionPrefix to 17.8.11 --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Surayya Huseyn Zada <[email protected]> * Update dependencies from https://github.com/dotnet/arcade build 20241120.5 Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.24562.12 -> To Version 8.0.0-beta.24570.5 * Update VersionPrefix to 17.8.12 * [vs17.8] Backport VS insertion pipeline YMLs (#11066) Co-authored-by: Jan Provaznik <[email protected]> * Update .opt-prof.yml (#11112) * [vs17.8] Fix setting package versions in VS insertion (#11103) * fix setting package versions * use VS branch names in servicing package decision --------- Co-authored-by: Jan Provaznik <[email protected]> * Update vs/msbuild version (#11115) * Update vs/msbuild version * Bump version * Update xcopy-msbuild version to 17.8.5 (#11118) * Add inter-branch merge flow file (#11123) * Update .opt-prof.yml (#11121) * Bump up System.Text.Json to 8.0.5 (#11134) * Remove the change to CompatibilitySuppressions.xml * Remove unnecessary workaround for sdk 8.0.1xx bootstrap in the branch vs17.8 * Bump up version prefix to 17.10.14 --------- Co-authored-by: Forgind <[email protected]> Co-authored-by: Jan Krivanek <[email protected]> Co-authored-by: sujitnayak <[email protected]> Co-authored-by: YuliiaKovalova <[email protected]> Co-authored-by: YuliiaKovalova <[email protected]> Co-authored-by: Surayya Huseyn Zada <[email protected]> Co-authored-by: Surayya Huseyn Zada <[email protected]> Co-authored-by: Gang Wang <[email protected]> Co-authored-by: Jan Provazník <[email protected]> Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Jenny Bai <[email protected]> Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
- Loading branch information
1 parent
7620cbd
commit 7c2b926
Showing
10 changed files
with
315 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
name: Inter-branch merge workflow | ||
on: | ||
push: | ||
branches: | ||
- vs1** | ||
|
||
permissions: | ||
contents: write | ||
pull-requests: write | ||
|
||
jobs: | ||
Merge: | ||
uses: dotnet/arcade/.github/workflows/inter-branch-merge-base.yml@main | ||
with: | ||
configuration_file_path: '.config/git-merge-flow-config.jsonc' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
parameters: | ||
- name: deadPATServiceConnectionId # The GUID of the PAT-based service connection whose access token must be replaced. | ||
type: string | ||
- name: wifServiceConnectionName # The name of the WIF service connection to use to get the access token. | ||
type: string | ||
- name: resource # The scope for which the access token is requested. | ||
type: string | ||
default: 499b84ac-1321-427f-aa17-267ca6975798 # Azure Artifact feeds (any of them) | ||
|
||
steps: | ||
- task: AzureCLI@2 | ||
displayName: 🔏 Authenticate with WIF service connection | ||
inputs: | ||
azureSubscription: ${{ parameters.wifServiceConnectionName }} | ||
scriptType: pscore | ||
scriptLocation: inlineScript | ||
inlineScript: | | ||
$accessToken = az account get-access-token --query accessToken --resource '${{ parameters.resource }}' -o tsv | ||
# Set the access token as a secret, so it doesn't get leaked in the logs | ||
Write-Host "##vso[task.setsecret]$accessToken" | ||
# Override the apitoken of the nuget service connection, for the duration of this stage | ||
Write-Host "##vso[task.setendpoint id=${{ parameters.deadPATServiceConnectionId }};field=authParameter;key=apitoken]$accessToken" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,267 @@ | ||
# Create a VS insertion (DotNet-MSBuild-Trusted -> VS) from a CI run on main or any servicing branch. | ||
# To achieve insertion automation, this pipeline definition yml has to be on servicing branches and main. | ||
|
||
|
||
# Runs in 3 modes: | ||
# 1. daily main insertion from latest main CI. | ||
# - can be disabled in the UI by adding a custom schedule for any branch. | ||
# 2. trigger insert as a followup to a servicing CI run. | ||
# - can be disabled in the UI by adding a custom CI trigger. | ||
# 3. manual insertion - select manually the TargetBranch and inserted CI run. | ||
trigger: none | ||
pr: none | ||
name: $(Date:yyyyMMdd).$(Rev:r) | ||
|
||
schedules: | ||
- cron: '0 3 * * 1-5' # Runs every weekday at 3AM UTC | ||
displayName: Daily VS insertion main | ||
branches: | ||
include: | ||
- main | ||
always: false # Don't run if there are no code changes | ||
|
||
resources: | ||
pipelines: | ||
- pipeline: 'MSBuild' | ||
project: 'DevDiv' | ||
source: 'MSBuild' | ||
branch: main # for daily main scheduled insertion | ||
trigger: | ||
branches: | ||
include: # trigger as a followup to servicing CI | ||
- vs* | ||
repositories: | ||
- repository: 1ESPipelineTemplates | ||
type: git | ||
name: 1ESPipelineTemplates/1ESPipelineTemplates | ||
ref: refs/tags/release | ||
|
||
parameters: | ||
- name: TargetBranch | ||
default: auto | ||
type: string | ||
displayName: 'Insertion Target Branch (select for manual insertion)' | ||
values: | ||
- auto | ||
- main | ||
- rel/d17.13 | ||
- rel/d17.12 | ||
- rel/d17.11 | ||
- rel/d17.10 | ||
- rel/d17.8 | ||
- rel/d17.6 | ||
- rel/d17.3 | ||
- rel/d17.0 | ||
- name: DropRetentionDays | ||
default: 183 | ||
type: number | ||
displayName: 'Drop Retention Days (do not set to < 90)' | ||
|
||
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'], '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.10') }}: | ||
value: 'rel/d17.10' | ||
${{ 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' | ||
${{ else }}: | ||
value: '' | ||
- name: InsertTargetBranch | ||
${{ if not(eq(parameters.TargetBranch, 'auto')) }}: | ||
value: ${{ parameters.TargetBranch }} | ||
${{ else }}: | ||
value: $(AutoInsertTargetBranch) | ||
- name: TeamName | ||
value: msbuild | ||
- name: TeamEmail | ||
value: [email protected] | ||
- name: MSBuild_CI_BuildNumber | ||
value: $(resources.pipeline.MSBuild.runName) | ||
- name: MSBuild_CI_SourceVersion | ||
value: $(resources.pipeline.MSBuild.sourceCommit) | ||
- name: ArtifactPackagesPath | ||
value: $(Build.ArtifactStagingDirectory)/PackageArtifacts | ||
|
||
- name: MSBuildPackagePattern | ||
value: '$(ArtifactPackagesPath)/Microsoft.Build.*.nupkg' | ||
- name: StringToolsPackagePattern | ||
value: '$(ArtifactPackagesPath)/Microsoft.NET.StringTools*.nupkg' | ||
- name: ExternalAPIsPackagePattern | ||
value: '$(ArtifactPackagesPath)/VS.ExternalAPIs.*.nupkg' | ||
|
||
extends: | ||
template: v1/1ES.Official.PipelineTemplate.yml@1ESPipelineTemplates | ||
parameters: | ||
pool: | ||
name: VSEngSS-MicroBuild2022-1ES | ||
customBuildTags: | ||
- ES365AIMigrationTooling-Release | ||
stages: | ||
- stage: RetainBuild | ||
displayName: Retain build | ||
jobs: | ||
- job: Job_1 | ||
displayName: Run on agent | ||
condition: succeeded() | ||
timeoutInMinutes: 0 | ||
steps: | ||
# Check that InsertTargetBranch is valid before running anything else. | ||
- task: PowerShell@2 | ||
name: CheckInsertTargetBranch | ||
inputs: | ||
targetType: inline | ||
script: | | ||
if ("$(InsertTargetBranch)" -eq "") { | ||
Write-Error "InsertTargetBranch is not set, this means your're not inserting from main or a valid servicing branch." | ||
exit 1 | ||
} | ||
# the insertion source branch corresponds to the branch on which the MSBuild pipeline ran | ||
- task: PowerShell@2 | ||
name: SetSourceBranchName | ||
inputs: | ||
targetType: inline | ||
script: | | ||
# Extract the last section after the last '/' | ||
$fullBranch = "$(resources.pipeline.MSBuild.sourceBranch)" | ||
$branchSegments = $fullBranch -split '/' | ||
$branch = $branchSegments[-1] | ||
Write-Host "Setting source branch to '$branch'" | ||
Write-Host "##vso[task.setvariable variable=SourceBranchName;isoutput=true]$branch" | ||
- task: MicroBuildRetainVstsDrops@1 | ||
name: MicroBuildRetainVstsDrops_2 | ||
displayName: Retain VSTS Drops | ||
inputs: | ||
DropNames: Products/DevDiv/DotNet-msbuild-Trusted/$(SetSourceBranchName.SourceBranchName)/$(MSBuild_CI_BuildNumber) | ||
AccessToken: $(System.AccessToken) | ||
DropServiceUri: https://devdiv.artifacts.visualstudio.com/DefaultCollection | ||
DropRetentionDays: ${{ parameters.DropRetentionDays }} | ||
- stage: VSInsertion | ||
displayName: VS insertion | ||
dependsOn: RetainBuild | ||
variables: | ||
SourceBranchName: $[ stageDependencies.RetainBuild.Job_1.outputs['SetSourceBranchName.SourceBranchName'] ] | ||
VSDropPath: https://vsdrop.corp.microsoft.com/file/v1/Products/DevDiv/DotNet-msbuild-Trusted/$(SourceBranchName)/$(MSBuild_CI_BuildNumber) | ||
VSManVersionSuffix: $(MSBuild_ExtApisPackageVersion)+$(MSBuild_CI_SourceVersion) | ||
StandardVSManPath: Microsoft.Build.vsman{$(VSManVersionSuffix)}=$(VSDropPath);Microsoft.Build.vsman | ||
Arm64VSManPath: Microsoft.Build.Arm64.vsman{$(VSManVersionSuffix)}=$(VSDropPath);Microsoft.Build.Arm64.vsman | ||
UnGACVSManPath: Microsoft.Build.UnGAC.vsman=$(VSDropPath);Microsoft.Build.UnGAC.vsman | ||
InsertJsonValues: $(StandardVSManPath),$(Arm64VSManPath),$(UnGACVSManPath) | ||
InsertConfigValues: VS.ExternalAPIs.MSBuild=$(MSBuild_ExtApisPackageVersion) | ||
InsertCustomScriptExecutionCommand: $(Pipeline.Workspace)\xsd\Update-MSBuildXsds.ps1 | ||
InsertDescription: Insert MSBuild $(MSBuild_CI_BuildNumber) from the branch $(SourceBranchName) at commit $(MSBuild_CI_SourceVersion). Corresponding package version is $(MSBuild_ExtApisPackageVersion) | ||
InsertPayloadName: 'MSBuild $(SourceBranchName) $(MSBuild_ExtApisPackageVersion)' | ||
jobs: | ||
- job: PushPackagesAndInsert | ||
displayName: Push Packages and Insert VS payload | ||
condition: succeeded() | ||
timeoutInMinutes: 0 | ||
templateContext: | ||
inputs: | ||
- input: pipelineArtifact | ||
pipeline: 'MSBuild' | ||
artifactName: 'xsd' | ||
targetPath: '$(Pipeline.Workspace)/xsd' | ||
- input: pipelineArtifact | ||
pipeline: 'MSBuild' | ||
artifactName: 'PackageArtifacts' | ||
targetPath: '$(Build.ArtifactStagingDirectory)/PackageArtifacts' | ||
# the CI build creates a sourcebuild intermediate package that is not signed, remove it to avoid warning from Guardian | ||
itemPattern: | | ||
** | ||
!**/Microsoft.SourceBuild.Intermediate*.nupkg | ||
steps: | ||
- task: Powershell@2 | ||
name: PwshMungeExternalAPIsPkgVersion | ||
displayName: Munge ExternalAPIs package version and set props | ||
inputs: | ||
targetType: inline | ||
script: | | ||
$folder = "$(Build.ArtifactStagingDirectory)/PackageArtifacts/VS.ExternalAPIs.*.nupkg" | ||
$packageFile = Get-ChildItem -Path $folder -Filter VS.ExternalAPIs.*.nupkg | Select-Object -First 1 | ||
$MSBuild_ExtApisPackageVersion = $packageFile.BaseName.TrimStart("VS.ExternalAPIs.MSBuild") | ||
Write-Host "Setting MSBuild_ExtApisPackageVersion to '$MSBuild_ExtApisPackageVersion'" | ||
Write-Host "##vso[task.setvariable variable=MSBuild_ExtApisPackageVersion]$($MSBuild_ExtApisPackageVersion)" | ||
$folder = "$(Build.ArtifactStagingDirectory)/PackageArtifacts/Microsoft.NET.StringTools*.nupkg" | ||
$packageFile = Get-ChildItem -Path $folder -Filter Microsoft.NET.StringTools*.nupkg | Select-Object -First 1 | ||
$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" | ||
) | ||
# 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 ";" | ||
Write-Host "Setting InsertPackagePropsValues to '$propsValue'" | ||
Write-Host "##vso[task.setvariable variable=InsertPackagePropsValues]$($propsValue)" | ||
- task: 1ES.PublishNuGet@1 | ||
displayName: 'Push MSBuild CoreXT packages' | ||
inputs: | ||
packageParentPath: '$(Build.ArtifactStagingDirectory)' | ||
packagesToPush: $(MSBuildPackagePattern);$(StringToolsPackagePattern);$(ExternalAPIsPackagePattern) | ||
nuGetFeedType: internal | ||
publishVstsFeed: VS | ||
allowPackageConflicts: true | ||
- template: /azure-pipelines/WIFtoPATauth.yml@self | ||
parameters: | ||
wifServiceConnectionName: azure-public/vside package push | ||
deadPATServiceConnectionId: 42175e93-c771-4a4f-a132-3cca78f44b3b | ||
- task: 1ES.PublishNuGet@1 | ||
displayName: 'Push MSBuild packages to VSSDK' | ||
inputs: | ||
packageParentPath: '$(Build.ArtifactStagingDirectory)' | ||
packagesToPush: $(MSBuildPackagePattern);$(StringToolsPackagePattern) | ||
nuGetFeedType: external | ||
publishFeedCredentials: azure-public/vssdk | ||
allowPackageConflicts: true | ||
- task: PowerShell@2 | ||
name: PrintTargetBranch | ||
inputs: | ||
targetType: inline | ||
script: | | ||
Write-Host "InsertTargetBranch: $(InsertTargetBranch)" | ||
- task: MicroBuildInsertVsPayload@4 | ||
name: MicroBuildInsertVsPayload_4 | ||
displayName: Insert VS Payload | ||
inputs: | ||
LinkWorkItemsToPR: true | ||
TeamName: $(TeamName) | ||
TeamEmail: $(TeamEmail) | ||
TargetBranch: $(InsertTargetBranch) | ||
InsertionPayloadName: $(InsertPayloadName) | ||
PackagePropsValues: $(InsertPackagePropsValues) | ||
InsertionDescription: $(InsertDescription) | ||
ComponentJsonValues: $(InsertJsonValues) | ||
DefaultConfigValues: $(InsertConfigValues) | ||
InsertionReviewers: MSBuild,VS ProTools | ||
CustomScriptExecutionCommand: $(InsertCustomScriptExecutionCommand) | ||
AutoCompletePR: true | ||
AutoCompleteMergeStrategy: Squash | ||
InsertionBuildPolicy: Request Perf DDRITs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters