Skip to content

[monobuild] Gate public symbol publish behind PublishPublicSymbols param#6644

Draft
kythant wants to merge 1 commit into
release/dev/monobuildfrom
user/kythant/monobuild-foundation-publishsymbols-gate
Draft

[monobuild] Gate public symbol publish behind PublishPublicSymbols param#6644
kythant wants to merge 1 commit into
release/dev/monobuildfrom
user/kythant/monobuild-foundation-publishsymbols-gate

Conversation

@kythant

@kythant kythant commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

What

Adds a PublishPublicSymbols parameter (default true) to the three Foundation symbol-publish step templates and threads it into the InnerParams object splatted to WindowsAppSDK-PublishSymbol-Wrapper.yml, which forwards to WindowsAppSDK-PublishSymbol-Steps.yml:

  • build/AzurePipelinesTemplates/WindowsAppSDK-BuildInstaller-Steps.yml
  • build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml
  • build/AzurePipelinesTemplates/WindowsAppSDK-PackTransportPackage-Steps.yml

Why

The leaf template gates the public SymWeb/MSDL symbol publish on and(IsOfficial, PublishPublicSymbols). On the Official mono-build the public publish for the Installer, VSIX, and Foundation transport package currently runs unconditionally, and it needs to be turned off while the public symbol-publish service connection is being sorted. Default true preserves existing standalone per-component pipeline behavior; only the mono-build passes false.

Merge order (cross-repo)

This change adds PublishPublicSymbols to the InnerParams that reach the leaf's PublishPublicSymbols parameter, which is introduced by the monorepo leaf-param PR. Merge in this order:

  1. Monorepo PR: leaf param + internal chains (ADO OS/WinAppSDK PR 16235688)
  2. THIS PR (Foundation step templates)
  3. Monorepo PR: thread the param to the Foundation Installer/VSIX/Foundation stages

Validation

Validated end to end via the Official mono-build (ADO OS/WinAppSDK def 196647) pipeline preview, with this branch supplied as the WindowsAppSDKFoundation resource and the monorepo threading branch as self:

  • PublishPublicSymbols=false -> 0 "Publish symbols to SymWeb and MSDL" tasks in the compiled pipeline (down from 6)
  • PublishPublicSymbols=true -> 6 such tasks
  • Private symbol publishing (Publish private symbols to internal server) is unchanged: 7 instances, always on.

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.
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant