Skip to content

Commit 434e6d0

Browse files
authored
Merge branch 'vs17.11' into merge/vs17.10-to-vs17.11
2 parents 3056f1f + 70f0ec6 commit 434e6d0

File tree

552 files changed

+22761
-3830
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

552 files changed

+22761
-3830
lines changed

.config/guardian/.gdnbaselines

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,45 @@
5252
"createdDate": "2024-03-14 12:01:14Z",
5353
"expirationDate": "2024-08-31 12:48:32Z",
5454
"justification": "This error is baselined with an expiration date of 180 days from 2024-03-14 12:48:32Z"
55+
},
56+
"24491acb7bf0f8b072d9fbd2f6efcf1bdf6e9506ff3f7a9f9c803445c55b7bd9": {
57+
"signature": "24491acb7bf0f8b072d9fbd2f6efcf1bdf6e9506ff3f7a9f9c803445c55b7bd9",
58+
"alternativeSignatures": [
59+
"2dc3f5f5423a151deb6a74413f2798ade061c1f50519daeed42acfd2caebed03"
60+
],
61+
"target": ".packages/drop.app/18.165.29912-buildid11693003/lib/net45/ContentStoreApp.Full/x64/BuildXLAria.dll",
62+
"memberOf": [
63+
"default"
64+
],
65+
"tool": "binskim",
66+
"ruleId": "BA2008",
67+
"createdDate": "2024-06-19 17:22:41Z"
68+
},
69+
"1dc1a6797e20d1319df1cb8d4df5c6f6194ce4e87151bf801fb9bf2d038ccfaf": {
70+
"signature": "1dc1a6797e20d1319df1cb8d4df5c6f6194ce4e87151bf801fb9bf2d038ccfaf",
71+
"alternativeSignatures": [
72+
"f52bc24a2feebdcb7b1192ac2debea8da9ca5d012a6719e905b16f979711ceca"
73+
],
74+
"target": ".packages/drop.app/18.165.29912-buildid11693003/lib/net45/ContentStoreApp.Full/x64/BuildXLNatives.dll",
75+
"memberOf": [
76+
"default"
77+
],
78+
"tool": "binskim",
79+
"ruleId": "BA2008",
80+
"createdDate": "2024-06-19 17:22:41Z"
81+
},
82+
"5bf3f552d54adcae12d7f1e79d47b5a9392c774f03943793cd1a0f7bb2eef28b": {
83+
"signature": "5bf3f552d54adcae12d7f1e79d47b5a9392c774f03943793cd1a0f7bb2eef28b",
84+
"alternativeSignatures": [
85+
"ea4d59d18cbff7ffab4bb678927fc6fee763539a51cfbf5aae60ae1b8123a6ba"
86+
],
87+
"target": ".packages/drop.app/18.165.29912-buildid11693003/lib/net45/ContentStoreApp.Full/x64/ClientTelemetry.dll",
88+
"memberOf": [
89+
"default"
90+
],
91+
"tool": "binskim",
92+
"ruleId": "BA2007",
93+
"createdDate": "2024-06-19 17:22:41Z"
5594
}
5695
}
57-
}
96+
}

.editorconfig

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# editorconfig.org
1+
# editorconfig.org
22

33
# top-most EditorConfig file
44
root = true
@@ -163,6 +163,9 @@ dotnet_code_quality.ca2208.api_surface = public
163163
# CA1852: Seal internal types
164164
dotnet_diagnostic.ca1852.severity = warning
165165

166+
# CA2000: Dispose objects before losing scope
167+
dotnet_diagnostic.ca2000.severity = error
168+
166169
# RS0037: Enable tracking of nullability of reference types in the declared API
167170
# Our API is not annotated but new classes get nullable enabled so disable this.
168171
# We'd be happy if everything was annotated and this could be removed.
@@ -409,3 +412,6 @@ dotnet_diagnostic.IDE0290.severity = suggestion
409412
dotnet_diagnostic.IDE0300.severity = suggestion
410413
dotnet_diagnostic.IDE0301.severity = suggestion
411414
dotnet_diagnostic.IDE0305.severity = suggestion
415+
416+
# Temporarily disable SA1010 "Opening square brackets should not be preceded by a space" until https://github.com/DotNetAnalyzers/StyleCopAnalyzers/issues/3687 is fixed
417+
dotnet_diagnostic.SA1010.severity = none

.exp-insertions.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,15 +166,16 @@ jobs:
166166
Write-Host "Detected drop.exe path: $dropExePath"
167167
168168
Write-Host "Downloading VS msbuild"
169-
& "$dropExePath" get --patAuthEnvVar 'cloudbuild-token' -u "$(MSBuildDropPath)\$(VSVersion)" -d "$(System.ArtifactsDirectory)/VSMSBuildDrop"
169+
$patAuthEnvVar = "SYSTEM_ACCESSTOKEN"
170+
& "$dropExePath" get --patAuthEnvVar $patAuthEnvVar -u "$(MSBuildDropPath)\$(VSVersion)" -d "$(System.ArtifactsDirectory)/VSMSBuildDrop"
170171
Write-Host "Download of VS msbuild finished"
171172
172173
Write-Host "Copying VS msbuild to $(Pipeline.Workspace)/VSMSBuild"
173174
Copy-Item -Path "$(System.ArtifactsDirectory)/VSMSBuildDrop/*" -Destination "$(Pipeline.Workspace)/VSMSBuild" -Recurse
174175
Write-Host "Copy of VS msbuild finished"
175176
displayName: Download msbuild vs drop
176177
env:
177-
cloudbuild-token: $(cloudbuild-token)
178+
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
178179
179180
- task: DownloadBuildArtifacts@1
180181
inputs:

.vsts-dotnet-ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@ jobs:
2626
$isVersionBumped = $false
2727
if ($changedVersionsFile -ne $null) {
2828
$difference = git diff HEAD~1 $versionsFile
29-
$changedContent = $difference -join " "
29+
$changedContent = $difference -join "%"
3030
# 'DotNetFinalVersionKind' is expected to be added only during the initial setup of the release branch
31-
$initialCommitPattern = '-\s*<VersionPrefix>\d+\.\d+\.\d+<\/VersionPrefix> \+\s*<VersionPrefix>\d+\.\d+\.\d+<\/VersionPrefix>.*<DotNetFinalVersionKind>release<\/DotNetFinalVersionKind>'
31+
$initialCommitPattern = '-\s*<VersionPrefix>\d+\.\d+\.\d+<\/VersionPrefix>%.*\+\s*<VersionPrefix>\d+\.\d+\.\d+<\/VersionPrefix><DotNetFinalVersionKind>release<\/DotNetFinalVersionKind>'
3232
$isInitialCommit = $changedContent -match $initialCommitPattern
33-
$pattern = '-\s*<VersionPrefix>\d+\.\d+\.(?<previous>\d+)<\/VersionPrefix>.* \+\s*<VersionPrefix>\d+\.\d+\.(?<current>\d+)<\/VersionPrefix>'
33+
$pattern = '-\s*<VersionPrefix>\d+\.\d+\.(?<previous>\d+)<\/VersionPrefix>.*%\+\s*<VersionPrefix>\d+\.\d+\.(?<current>\d+)<\/VersionPrefix>'
3434
if (!($isInitialCommit) -and ($changedContent -match $pattern)) {
3535
try {
3636
$previousPatch = [Convert]::ToInt32($Matches.previous)

.vsts-dotnet.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ parameters:
1313
displayName: Optional OptProfDrop Override
1414
type: string
1515
default: 'default'
16+
- name: enableOptProf
17+
displayName: Enable OptProf data collection for this build
18+
type: boolean
19+
default: true
1620
- name: enableSigningValidation
1721
displayName: Enable Signing Validation
1822
type: boolean
@@ -38,13 +42,12 @@ variables:
3842
value: ${{ parameters.OptProfDropName }}
3943
- name: SourceBranch
4044
value: ''
41-
# For now skipping apply optimization data for vs16.11, because the run with real signed bits requires being fully automated
42-
# while there is no available optimization data for vs16.11.
43-
- ${{ if startsWith(variables['Build.SourceBranch'], 'refs/heads/vs16.11') }}:
45+
# Override SkipApplyOptimizationData to true when disabling OptProf data collection
46+
- ${{ if eq(parameters.EnableOptProf, false) }}:
4447
- name: SkipApplyOptimizationData
4548
value: true
4649
- name: EnableReleaseOneLocBuild
47-
value: false # Disable loc for vs17.10 now that it's shipped
50+
value: false # disable loc for vs17.11
4851
- name: Codeql.Enabled
4952
value: true
5053
# ensures we don't build and push experimental versions to official feeds as release versions
@@ -115,6 +118,7 @@ extends:
115118
isExperimental: false
116119
enableComponentGovernance: true
117120
signTypeParameter: ${{ parameters.signTypeParameter }}
121+
enableOptProf: ${{ parameters.enableOptProf }}
118122

119123
- template: /eng/common/templates-official/post-build/post-build.yml@self
120124
parameters:

MSBuild.Dev.slnf

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
"src\\Framework\\Microsoft.Build.Framework.csproj",
1010
"src\\MSBuild.UnitTests\\Microsoft.Build.CommandLine.UnitTests.csproj",
1111
"src\\MSBuild\\MSBuild.csproj",
12+
"src\\StringTools\\StringTools.csproj",
1213
"src\\Tasks.UnitTests\\Microsoft.Build.Tasks.UnitTests.csproj",
1314
"src\\Tasks\\Microsoft.Build.Tasks.csproj",
15+
"src\\UnitTests.Shared\\Microsoft.Build.UnitTests.Shared.csproj",
1416
"src\\Utilities.UnitTests\\Microsoft.Build.Utilities.UnitTests.csproj",
1517
"src\\Utilities\\Microsoft.Build.Utilities.csproj",
16-
"src\\Xunit.NetCore.Extensions\\Xunit.NetCore.Extensions.csproj",
17-
"src\\StringTools\\StringTools.csproj",
18-
"src\\UnitTests.Shared\\Microsoft.Build.UnitTests.Shared.csproj"
18+
"src\\Xunit.NetCore.Extensions\\Xunit.NetCore.Extensions.csproj"
1919
]
2020
}
2121
}

MSBuild.sln

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MSBuild.VSSetup.Arm64", "sr
8080
EndProject
8181
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.UnitTests.Shared", "src\UnitTests.Shared\Microsoft.Build.UnitTests.Shared.csproj", "{52A0B9C1-23B7-4CCC-B3FC-BDBA1C619E2A}"
8282
EndProject
83+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.BuildCheck.UnitTests", "src\BuildCheck.UnitTests\Microsoft.Build.BuildCheck.UnitTests.csproj", "{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}"
84+
EndProject
85+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.Templates", "template_feed\Microsoft.Build.Templates.csproj", "{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}"
86+
EndProject
8387
Global
8488
GlobalSection(SolutionConfigurationPlatforms) = preSolution
8589
Debug|Any CPU = Debug|Any CPU
@@ -864,6 +868,54 @@ Global
864868
{52A0B9C1-23B7-4CCC-B3FC-BDBA1C619E2A}.Release|x64.Build.0 = Release|x64
865869
{52A0B9C1-23B7-4CCC-B3FC-BDBA1C619E2A}.Release|x86.ActiveCfg = Release|Any CPU
866870
{52A0B9C1-23B7-4CCC-B3FC-BDBA1C619E2A}.Release|x86.Build.0 = Release|Any CPU
871+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
872+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|Any CPU.Build.0 = Debug|Any CPU
873+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|ARM64.ActiveCfg = Debug|arm64
874+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|ARM64.Build.0 = Debug|arm64
875+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|x64.ActiveCfg = Debug|x64
876+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|x64.Build.0 = Debug|x64
877+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|x86.ActiveCfg = Debug|Any CPU
878+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Debug|x86.Build.0 = Debug|Any CPU
879+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|Any CPU.ActiveCfg = MachineIndependent|Any CPU
880+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|Any CPU.Build.0 = MachineIndependent|Any CPU
881+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|ARM64.ActiveCfg = MachineIndependent|arm64
882+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|ARM64.Build.0 = MachineIndependent|arm64
883+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|x64.ActiveCfg = MachineIndependent|x64
884+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|x64.Build.0 = MachineIndependent|x64
885+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|x86.ActiveCfg = MachineIndependent|Any CPU
886+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.MachineIndependent|x86.Build.0 = MachineIndependent|Any CPU
887+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|Any CPU.ActiveCfg = Release|Any CPU
888+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|Any CPU.Build.0 = Release|Any CPU
889+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|ARM64.ActiveCfg = Release|arm64
890+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|ARM64.Build.0 = Release|arm64
891+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|x64.ActiveCfg = Release|x64
892+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|x64.Build.0 = Release|x64
893+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|x86.ActiveCfg = Release|Any CPU
894+
{434CC6DB-1E66-4FB1-A66C-D5BBE99F0ED8}.Release|x86.Build.0 = Release|Any CPU
895+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
896+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|Any CPU.Build.0 = Debug|Any CPU
897+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|ARM64.ActiveCfg = Debug|Any CPU
898+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|ARM64.Build.0 = Debug|Any CPU
899+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|x64.ActiveCfg = Debug|Any CPU
900+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|x64.Build.0 = Debug|Any CPU
901+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|x86.ActiveCfg = Debug|Any CPU
902+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Debug|x86.Build.0 = Debug|Any CPU
903+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|Any CPU.ActiveCfg = MachineIndependent|Any CPU
904+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|Any CPU.Build.0 = MachineIndependent|Any CPU
905+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|ARM64.ActiveCfg = MachineIndependent|Any CPU
906+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|ARM64.Build.0 = MachineIndependent|Any CPU
907+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|x64.ActiveCfg = MachineIndependent|Any CPU
908+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|x64.Build.0 = MachineIndependent|Any CPU
909+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|x86.ActiveCfg = MachineIndependent|Any CPU
910+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.MachineIndependent|x86.Build.0 = MachineIndependent|Any CPU
911+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|Any CPU.ActiveCfg = Release|Any CPU
912+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|Any CPU.Build.0 = Release|Any CPU
913+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|ARM64.ActiveCfg = Release|Any CPU
914+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|ARM64.Build.0 = Release|Any CPU
915+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|x64.ActiveCfg = Release|Any CPU
916+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|x64.Build.0 = Release|Any CPU
917+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|x86.ActiveCfg = Release|Any CPU
918+
{A86EE74A-AEF0-42ED-A5A7-7A54BC0773D8}.Release|x86.Build.0 = Release|Any CPU
867919
EndGlobalSection
868920
GlobalSection(SolutionProperties) = preSolution
869921
HideSolutionNode = FALSE

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
The Microsoft Build Engine is a platform for building applications. This engine, also known as MSBuild, provides an XML schema for a project file that controls how the build platform processes and builds software. Visual Studio uses MSBuild, but MSBuild can run without Visual Studio. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed.
44

5-
For more information on MSBuild, see the [MSBuild documentation](https://docs.microsoft.com/visualstudio/msbuild/msbuild) on docs.microsoft.com.
5+
For more information on MSBuild, see the [MSBuild documentation](https://learn.microsoft.com/visualstudio/msbuild/msbuild) on learn.microsoft.com.
66

77
The [changelog](documentation/Changelog.md) has detailed information about changes made in different releases.
88

@@ -15,12 +15,12 @@ For the full supported experience, you will need to have Visual Studio 2022 or h
1515
To get started on **Visual Studio 2022**:
1616

1717
1. [Install Visual Studio 2022](https://www.visualstudio.com/vs/). Select the following Workloads:
18-
- .NET desktop development
19-
- .NET Core cross-platform development
18+
- .NET desktop development
19+
- .NET Core cross-platform development
2020
2. Ensure [long path support](https://learn.microsoft.com/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later) is enabled at the Windows level.
2121
3. Open a `Developer Command Prompt for VS 2022` prompt.
2222
4. Clone the source code: `git clone https://github.com/dotnet/msbuild`
23-
- You may have to [download Git](https://git-scm.com/downloads) first.
23+
- You may have to [download Git](https://git-scm.com/downloads) first.
2424
5. Run `.\build.cmd` from the root of the repo to build the code. This also restores packages needed to open the projects in Visual Studio.
2525
6. Open `MSBuild.sln` or `MSBuild.Dev.slnf` in Visual Studio 2022.
2626

azure-pipelines/.vsts-dotnet-build-jobs.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ parameters:
99
- name: signTypeParameter
1010
type: string
1111
default: 'test'
12+
- name: enableOptProf
13+
type: boolean
14+
default: false
1215

1316
jobs:
1417
- job: Windows_NT
@@ -26,7 +29,7 @@ jobs:
2629
- name: VisualStudio.MajorVersion
2730
value: 17
2831
- name: VisualStudio.ChannelName
29-
value: 'int.d17.10' # MSBuild's vs17.10 branch corresponds to this VS channel
32+
value: 'int.d17.11' # MSBuild's vs17.11 branch corresponds to this VS channel
3033
- name: VisualStudio.DropName
3134
value: Products/$(System.TeamProject)/$(Build.Repository.Name)/$(Build.SourceBranchName)/$(Build.BuildNumber)
3235

@@ -74,6 +77,7 @@ jobs:
7477
AccessToken: '$(System.AccessToken)'
7578
feedSource: 'https://devdiv.pkgs.visualstudio.com/DefaultCollection/_packaging/MicroBuildToolset/nuget/v3/index.json'
7679
displayName: 'Install OptProf Plugin'
80+
condition: and(succeeded(), ${{ parameters.enableOptProf }})
7781

7882
# Required by MicroBuildBuildVSBootstrapper
7983
- task: MicroBuildSwixPlugin@4
@@ -111,7 +115,7 @@ jobs:
111115
toLowerCase: false
112116
usePat: true
113117
displayName: 'OptProf - Publish to Artifact Services - ProfilingInputs'
114-
condition: succeeded()
118+
condition: and(succeeded(), ${{ parameters.enableOptProf }})
115119

116120
# Build VS bootstrapper
117121
# Generates $(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json
@@ -122,7 +126,7 @@ jobs:
122126
manifests: $(VisualStudio.SetupManifestList)
123127
outputFolder: '$(Build.SourcesDirectory)\artifacts\VSSetup\$(BuildConfiguration)\Insertion'
124128
displayName: 'OptProf - Build VS bootstrapper'
125-
condition: succeeded()
129+
condition: and(succeeded(), ${{ parameters.enableOptProf }})
126130

127131
# Publish run settings
128132
- task: PowerShell@2
@@ -134,7 +138,7 @@ jobs:
134138
/p:BootstrapperInfoPath=$(Build.StagingDirectory)\MicroBuild\Output\BootstrapperInfo.json
135139
/p:VisualStudioIbcTrainingSettingsPath=$(Build.SourcesDirectory)\eng\config\OptProf.runsettings
136140
displayName: 'OptProf - Build IBC training settings'
137-
condition: succeeded()
141+
condition: and(succeeded(), ${{ parameters.enableOptProf }})
138142

139143
# Publish bootstrapper info
140144
- task: 1ES.PublishBuildArtifacts@1
@@ -212,7 +216,7 @@ jobs:
212216
displayName: Tag build as ready for optimization training
213217
inputs:
214218
tags: 'ready-for-training'
215-
condition: succeeded()
219+
condition: and(succeeded(), ${{ parameters.enableOptProf }})
216220

217221
- task: ms-vseng.MicroBuildTasks.521a94ea-9e68-468a-8167-6dcf361ea776.MicroBuildCleanup@1
218222
displayName: Execute cleanup tasks

azure-pipelines/.vsts-dotnet-exp-perf.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
trigger:
22
- exp/*
3+
- perf/*
34

45
# If defined here, these values are not overrideable
56
# Once they exist, we should define these as "runtime parameters"
@@ -20,6 +21,10 @@ parameters:
2021
displayName: Sign Type
2122
type: string
2223
default: 'test'
24+
- name: enableOptProf
25+
displayName: Enable OptProf data collection for this build
26+
type: boolean
27+
default: false
2328

2429
variables:
2530
# if OptProfDrop is not set, string '$(OptProfDrop)' will be passed to the build script.
@@ -76,11 +81,12 @@ extends:
7681
isExperimental: true
7782
enableComponentGovernance: false
7883
signTypeParameter: ${{ parameters.signTypeParameter }}
84+
enableOptProf: ${{ parameters.enableOptProf }}
7985

8086
- template: /eng/common/templates/post-build/post-build.yml@self
8187
parameters:
8288
publishingInfraVersion: 3
8389
enableSymbolValidation: true
8490
enableSourceLinkValidation: false
8591
enableNugetValidation: false
86-
enableSigningValidation: ${{ parameters.enableSigningValidation }}
92+
enableSigningValidation: ${{ parameters.enableSigningValidation }}

0 commit comments

Comments
 (0)