From 753786c02a3ff51f4863f337ab9fd321454a5982 Mon Sep 17 00:00:00 2001 From: Will Thant Date: Tue, 21 Jul 2026 12:00:21 -0700 Subject: [PATCH] Gate public symbol publish behind PublishPublicSymbols param (monobuild) Add a PublishPublicSymbols parameter (default true) to the three Foundation symbol-publish step templates (Installer, VSIX, PackTransportPackage) and thread it into the InnerParams splatted to WindowsAppSDK-PublishSymbol-Wrapper.yml, which forwards to WindowsAppSDK-PublishSymbol-Steps.yml. The leaf gates the public SymWeb/MSDL publish on and(IsOfficial, PublishPublicSymbols). Default true preserves standalone per-component pipeline behavior; the monobuild passes false while the public symbol-publish service connection is being sorted. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> # Conflicts: # build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml --- .../WindowsAppSDK-BuildInstaller-Steps.yml | 7 +++++++ .../WindowsAppSDK-BuildVSIX-Steps.yml | 7 +++++++ .../WindowsAppSDK-PackTransportPackage-Steps.yml | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/build/AzurePipelinesTemplates/WindowsAppSDK-BuildInstaller-Steps.yml b/build/AzurePipelinesTemplates/WindowsAppSDK-BuildInstaller-Steps.yml index 3dda8640ab..a8b9dba444 100644 --- a/build/AzurePipelinesTemplates/WindowsAppSDK-BuildInstaller-Steps.yml +++ b/build/AzurePipelinesTemplates/WindowsAppSDK-BuildInstaller-Steps.yml @@ -5,6 +5,12 @@ parameters: - name: IsOfficial type: boolean default: false +# Gates the public SymWeb/MSDL symbol publish inside WindowsAppSDK-PublishSymbol-Steps.yml. +# Default true preserves standalone per-component behavior; the monobuild passes false while +# the public symbol-publish service connection is being sorted. +- name: PublishPublicSymbols + type: boolean + default: true - name: runStaticAnalysis type: boolean default: false @@ -341,6 +347,7 @@ steps: InnerParams: SearchPattern: '$(foundationRepoPath)BuildOutput\$(buildConfiguration)\$(buildPlatform)\WindowsAppRuntimeInstall\*.pdb' IsOfficial: ${{ parameters.IsOfficial }} + PublishPublicSymbols: ${{ parameters.PublishPublicSymbols }} condition: and(succeeded(), ne(variables.SkipInstallerBuild, true)) - ${{ if eq(parameters.SignOutput, 'true') }}: diff --git a/build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml b/build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml index 9119366d11..65b56633d6 100644 --- a/build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml +++ b/build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml @@ -5,6 +5,12 @@ parameters: - name: IsOfficial type: boolean default: false +# Gates the public SymWeb/MSDL symbol publish inside WindowsAppSDK-PublishSymbol-Steps.yml. +# Default true preserves standalone per-component behavior; the monobuild passes false while +# the public symbol-publish service connection is being sorted. +- name: PublishPublicSymbols + type: boolean + default: true - name: runStaticAnalysis type: boolean default: true @@ -266,6 +272,7 @@ steps: InnerParams: SearchPattern: '$(FoundationRepoPath)dev\Templates\VSIX\BuildOutput\obj\AnyCPU$(buildConfiguration)\**\WindowsAppSDK*.pdb' IsOfficial: ${{ parameters.IsOfficial }} + PublishPublicSymbols: ${{ parameters.PublishPublicSymbols }} - task: CopyFiles@2 displayName: 'Stage VSIX component JSONs' diff --git a/build/AzurePipelinesTemplates/WindowsAppSDK-PackTransportPackage-Steps.yml b/build/AzurePipelinesTemplates/WindowsAppSDK-PackTransportPackage-Steps.yml index dc2bcae4c3..19f6e9bba5 100644 --- a/build/AzurePipelinesTemplates/WindowsAppSDK-PackTransportPackage-Steps.yml +++ b/build/AzurePipelinesTemplates/WindowsAppSDK-PackTransportPackage-Steps.yml @@ -17,6 +17,12 @@ parameters: - name: IsOfficial type: boolean default: false + # Gates the public SymWeb/MSDL symbol publish inside WindowsAppSDK-PublishSymbol-Steps.yml. + # Default true preserves standalone per-component behavior; the monobuild passes false while + # the public symbol-publish service connection is being sorted. + - name: PublishPublicSymbols + type: boolean + default: true - name: PublishPackage type: boolean default: false @@ -117,6 +123,7 @@ steps: InnerParams: SearchPattern: '$(Build.ArtifactStagingDirectory)\symbols\**\*.pdb' IsOfficial: ${{ parameters.IsOfficial }} + PublishPublicSymbols: ${{ parameters.PublishPublicSymbols }} # ── Determine version + pack NuGet ── - template: WindowsAppSDK-DetermineVersion-Wrapper.yml