Skip to content

Commit 32c970e

Browse files
AlesProkopCopilot
andauthored
Disable Bootstrapper for vs17.14 (dotnet#14105)
### Context On the `vs17.14` servicing branch, the official build (pipeline `MSBuild` / definition `9434`) fails in the `OptProf - Build VS bootstrapper` step (`MicroBuildBuildVSBootstrapper@3`) with `Failed to obtain an access token from the VSDrop Managed Identity`. `vs17.14` is in servicing and no longer needs to collect fresh OptProf data, so this disables OptProf collection (including the failing bootstrapper build) while continuing to apply the last-collected optimization data so shipped binaries stay optimized. ### Changes Made - Changed the `enableOptProf` parameter default from `true` to `false` in `.vsts-dotnet.yml`, which gates off all OptProf-collection steps (`MicroBuildOptProfPlugin@6`, `MicroBuildBuildVSBootstrapper@3`, `VisualStudio.BuildIbcTrainingSettings`, ProfilingInputs publish, `ready-for-training` tag). - Removed the `${{ if eq(parameters.enableOptProf, false) }}` block in `.vsts-dotnet.yml` that forced `SkipApplyOptimizationData` to `true`, decoupling data *collection* from data *application*; `SkipApplyOptimizationData` is now governed solely by the pipeline variable (default `false` = keep applying existing data). - Gated the `OptProf - Publish Artifact: MicroBuildOutputs` task in `azure-pipelines/.vsts-dotnet-build-jobs.yml` on `${{ parameters.enableOptProf }}`, since `BootstrapperInfo.json` is only produced when the bootstrapper runs. ### Testing - Validated both YAML files parse successfully. - Pending: queue official build `9434` on the merged `vs17.14` branch and confirm `OptProf - Build VS bootstrapper` is skipped, the build is green, and the `Build` step log shows optimization data is still applied (i.e., `EnableNgenOptimization` is not set to `false`). - Result: <fill in build link / outcome after the official run>. ### Notes - `enableOptProf` remains a queue-time parameter, so OptProf collection can be re-enabled per-run if the VSDrop managed-identity/channel issue is later resolved. - No product code changes; VSSetup/packages are still produced, so downstream VS insertion is unaffected. --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 1e7809c commit 32c970e

3 files changed

Lines changed: 12 additions & 7 deletions

File tree

.vsts-dotnet.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,11 @@ parameters:
1515
default: 'default'
1616
- name: enableOptProf
1717
displayName: Enable OptProf data collection for this build
18+
# vs17.14 is in servicing and no longer collects fresh OptProf data: the VS
19+
# bootstrapper build (required only for OptProf collection) is disabled by default.
20+
# We keep applying the last-collected optimization data (see SkipApplyOptimizationData below).
1821
type: boolean
19-
default: true
22+
default: false
2023
- name: enableSigningValidation
2124
displayName: Enable Signing Validation
2225
type: boolean
@@ -42,10 +45,11 @@ variables:
4245
value: ${{ parameters.OptProfDropName }}
4346
- name: SourceBranch
4447
value: ''
45-
# Override SkipApplyOptimizationData to true when disabling OptProf data collection
46-
- ${{ if eq(parameters.enableOptProf, false) }}:
47-
- name: SkipApplyOptimizationData
48-
value: true
48+
# NOTE (vs17.14 servicing): historically, disabling OptProf collection also forced
49+
# SkipApplyOptimizationData to true (stop applying data). On this branch we intentionally
50+
# decouple the two: collection is disabled, but we keep applying the last-collected
51+
# optimization data so shipped binaries stay optimized. SkipApplyOptimizationData is
52+
# therefore governed solely by the pipeline variable (default 'false' = apply existing data).
4953
- name: EnableReleaseOneLocBuild
5054
value: false # Disable loc for vs17.14
5155
- name: Codeql.Enabled

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,8 @@ jobs:
147147
ArtifactName: MicroBuildOutputs
148148
ArtifactType: Container
149149
displayName: 'OptProf - Publish Artifact: MicroBuildOutputs'
150-
condition: succeeded()
150+
# Only produced when the OptProf bootstrapper runs; skip when OptProf collection is disabled.
151+
condition: and(succeeded(), ${{ parameters.enableOptProf }})
151152

152153
- task: 1ES.PublishBuildArtifacts@1
153154
displayName: 'Publish Artifact: logs'

eng/Versions.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the MIT license. See License.txt in the project root for full license information. -->
33
<Project>
44
<PropertyGroup>
5-
<VersionPrefix>17.14.49</VersionPrefix>
5+
<VersionPrefix>17.14.50</VersionPrefix>
66
<DotNetFinalVersionKind>release</DotNetFinalVersionKind>
77
<PackageValidationBaselineVersion>17.13.9</PackageValidationBaselineVersion>
88
<AssemblyVersion>15.1.0.0</AssemblyVersion>

0 commit comments

Comments
 (0)