Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@ parameters:
- name: runPREfast
type: boolean
default: false
# When true, this template is being invoked from the monobuild context where
# the WindowsAppSDK monorepo IS the self repo. EsrpCodeSigning-Steps is invoked
# WITHOUT the @WinAppSDK suffix.
- name: IsMonobuild
type: boolean
default: false

steps:
- task: NuGetAuthenticate@1
Expand Down Expand Up @@ -53,16 +59,18 @@ steps:
failOnAlert: false #changed true to false, temporary workaround for component governance blocking pipeline due to low .NET version

- ${{ if eq(parameters.SignOutput, 'true') }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-EsrpCodeSigning-Steps.yml@WinAppSDK
- template: WindowsAppSDK-EsrpCodeSigning-Wrapper.yml
parameters:
FolderPath: '$(build.SourcesDirectory)\BuildOutput'
UseMinimatch: true
Pattern: |
**/*.winmd
**/*.dll
**/*.exe
KeyCode: 'CP-230012'
displayName: 'Authenticode CodeSign Binaries'
IsMonobuild: ${{ parameters.IsMonobuild }}
InnerParams:
FolderPath: '$(build.SourcesDirectory)\BuildOutput'
UseMinimatch: true
Pattern: |
**/*.winmd
**/*.dll
**/*.exe
KeyCode: 'CP-230012'
displayName: 'Authenticode CodeSign Binaries'

# Artifacts are uploaded via ob_outputDirectory where the each vPack Push jobs downloads from
# so the CopyFiles below are to move all the vPack files to the right locations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ parameters:
- name: runPREfast
type: boolean
default: false
# When true, this template is being invoked from the monobuild context where
# the WindowsAppSDK monorepo IS the self repo. The shared EsrpCodeSigning-Steps
# template is invoked WITHOUT the @WinAppSDK suffix.
- name: IsMonobuild
type: boolean
default: false

steps:
- task: NuGetAuthenticate@1
Expand Down Expand Up @@ -132,16 +138,18 @@ steps:
# continueOnError: true

- ${{ if eq(parameters.SignOutput, 'true') }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-EsrpCodeSigning-Steps.yml@WinAppSDK
- template: WindowsAppSDK-EsrpCodeSigning-Wrapper.yml
parameters:
FolderPath: '$(build.SourcesDirectory)\BuildOutput'
UseMinimatch: true
Pattern: |
**/*.winmd
**/*.dll
**/*.exe
KeyCode: 'CP-230012'
displayName: 'Authenticode CodeSign Binaries'
IsMonobuild: ${{ parameters.IsMonobuild }}
InnerParams:
FolderPath: '$(build.SourcesDirectory)\BuildOutput'
UseMinimatch: true
Pattern: |
**/*.winmd
**/*.dll
**/*.exe
KeyCode: 'CP-230012'
displayName: 'Authenticode CodeSign Binaries'

# Artifacts are uploaded via ob_outputDirectory where the each vPack Push jobs downloads from
# so the CopyFiles below are to move all the vPack files to the right locations
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ parameters:
- name: UseCurrentBuild
type: boolean
default: false
# When true, this template is being invoked from the monobuild context where
# the WindowsAppSDK monorepo IS the self repo. PublishSymbol-Steps and
# EsrpCodeSigning-Steps are invoked WITHOUT the @WinAppSDK suffix.
- name: IsMonobuild
type: boolean
default: false

steps:
- task: PowerShell@2
Expand Down Expand Up @@ -288,19 +294,23 @@ steps:
failOnAlert: false
condition: and(succeeded(), ne(variables.SkipInstallerBuild, true))

- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-PublishSymbol-Steps.yml@WinAppSDK
- template: WindowsAppSDK-PublishSymbol-Wrapper.yml
parameters:
SearchPattern: '$(foundationRepoPath)BuildOutput\$(buildConfiguration)\$(buildPlatform)\WindowsAppRuntimeInstall\*.pdb'
IsOfficial: ${{ parameters.IsOfficial }}
condition: and(succeeded(), ne(variables.SkipInstallerBuild, true))
IsMonobuild: ${{ parameters.IsMonobuild }}
InnerParams:
SearchPattern: '$(foundationRepoPath)BuildOutput\$(buildConfiguration)\$(buildPlatform)\WindowsAppRuntimeInstall\*.pdb'
IsOfficial: ${{ parameters.IsOfficial }}
condition: and(succeeded(), ne(variables.SkipInstallerBuild, true))

- ${{ if eq(parameters.SignOutput, 'true') }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-EsrpCodeSigning-Steps.yml@WinAppSDK
- template: WindowsAppSDK-EsrpCodeSigning-Wrapper.yml
parameters:
FolderPath: $(foundationRepoPath)BuildOutput\$(buildConfiguration)\$(buildPlatform)\WindowsAppRuntimeInstall
Pattern: WindowsAppRuntimeInstall*.exe
UseMinimatch: true
KeyCode: 'CP-230012'
IsMonobuild: ${{ parameters.IsMonobuild }}
InnerParams:
FolderPath: $(foundationRepoPath)BuildOutput\$(buildConfiguration)\$(buildPlatform)\WindowsAppRuntimeInstall
Pattern: WindowsAppRuntimeInstall*.exe
UseMinimatch: true
KeyCode: 'CP-230012'

- task: CopyFiles@2
displayName: 'Publish Installer'
Expand Down
26 changes: 17 additions & 9 deletions build/AzurePipelinesTemplates/WindowsAppSDK-BuildMRT-Steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ parameters:
- name: runPREfast
type: boolean
default: false
# When true, this template is being invoked from the monobuild context where
# the WindowsAppSDK monorepo IS the self repo. EsrpCodeSigning-Steps is invoked
# WITHOUT the @WinAppSDK suffix.
- name: IsMonobuild
type: boolean
default: false

steps:
- template: WindowsAppSDK-SetupBuildEnvironment-Steps.yml
Expand Down Expand Up @@ -74,16 +80,18 @@ steps:
- task: ms.vss-governance-buildtask.governance-build-task-component-detection.ComponentGovernanceComponentDetection@0

- ${{ if eq(parameters.SignOutput, 'true') }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-EsrpCodeSigning-Steps.yml@WinAppSDK
- template: WindowsAppSDK-EsrpCodeSigning-Wrapper.yml
parameters:
FolderPath: '$(build.SourcesDirectory)\BuildOutput'
UseMinimatch: true
Pattern: |
**/*.winmd
**/*.dll
**/*.exe
KeyCode: 'CP-230012'
displayName: 'Authenticode CodeSign Binaries'
IsMonobuild: ${{ parameters.IsMonobuild }}
InnerParams:
FolderPath: '$(build.SourcesDirectory)\BuildOutput'
UseMinimatch: true
Pattern: |
**/*.winmd
**/*.dll
**/*.exe
KeyCode: 'CP-230012'
displayName: 'Authenticode CodeSign Binaries'

- task: CopyFiles@2
displayName: MoveToOutputDirectory
Expand Down
14 changes: 11 additions & 3 deletions build/AzurePipelinesTemplates/WindowsAppSDK-BuildVSIX-Steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ parameters:
- name: UseCurrentBuild
type: boolean
default: false
# When true, this template is being invoked from the monobuild context where
# the WindowsAppSDK monorepo IS the self repo. PublishSymbol-Steps is invoked
# WITHOUT the @WinAppSDK suffix.
- name: IsMonobuild
type: boolean
default: false
- name: OptionalVSIXVersion
# if blank, the project template will select the version matching the Windows App SDK
# nuget. If provided, it should be a 4-part dotted version ('1.2.3.4')
Expand Down Expand Up @@ -193,10 +199,12 @@ steps:
codeSignPattern: |
**/WindowsAppSDK.*.Extension.*.dll

- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-PublishSymbol-Steps.yml@WinAppSDK
- template: WindowsAppSDK-PublishSymbol-Wrapper.yml
parameters:
SearchPattern: '$(FoundationRepoPath)dev\VSIX\BuildOutput\obj\AnyCPU$(buildConfiguration)\**\WindowsAppSDK*.pdb'
IsOfficial: ${{ parameters.IsOfficial }}
IsMonobuild: ${{ parameters.IsMonobuild }}
InnerParams:
SearchPattern: '$(FoundationRepoPath)dev\VSIX\BuildOutput\obj\AnyCPU$(buildConfiguration)\**\WindowsAppSDK*.pdb'
IsOfficial: ${{ parameters.IsOfficial }}

- task: CopyFiles@2
displayName: 'Stage VSIX component JSONs'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Wrapper for WindowsAppSDK-ConvertWttLogToXUnit-Steps.yml that dispatches to either
# @WinAppSDK (per-component pipelines) or @self (monobuild) at compile time.

parameters:
- name: IsMonobuild
Copy link
Copy Markdown
Contributor

@alexlamtest alexlamtest Apr 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: unnecessary indentation? The 2 spaces are not required, I think. But that should be ok.
Similar below, not repeating.

type: boolean
default: false
- name: InnerParams
type: object
default: {}

steps:
- ${{ if parameters.IsMonobuild }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-ConvertWttLogToXUnit-Steps.yml@self
parameters: ${{ parameters.InnerParams }}
- ${{ else }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-ConvertWttLogToXUnit-Steps.yml@WinAppSDK
parameters: ${{ parameters.InnerParams }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Wrapper for WindowsAppSDK-DetermineVersion-Steps.yml that dispatches to either
# @WinAppSDK (per-component pipelines) or @self (monobuild) at compile time.

parameters:
- name: IsMonobuild
type: boolean
default: false
- name: InnerParams
type: object
default: {}

steps:
- ${{ if parameters.IsMonobuild }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-DetermineVersion-Steps.yml@self
parameters: ${{ parameters.InnerParams }}
- ${{ else }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-DetermineVersion-Steps.yml@WinAppSDK
parameters: ${{ parameters.InnerParams }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Wrapper for WindowsAppSDK-EsrpCodeSigning-Steps.yml that dispatches to either
# @WinAppSDK (per-component pipelines) or @self (monobuild) at compile time.
# This eliminates if/else duplication at each call site.

parameters:
- name: IsMonobuild
type: boolean
default: false
- name: InnerParams
type: object
default: {}

steps:
- ${{ if parameters.IsMonobuild }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-EsrpCodeSigning-Steps.yml@self
parameters: ${{ parameters.InnerParams }}
- ${{ else }}:
- template: Build/WindowsAppSDK/AzurePipelinesTemplates/WindowsAppSDK-EsrpCodeSigning-Steps.yml@WinAppSDK
parameters: ${{ parameters.InnerParams }}
Loading