mirror of
https://github.com/microsoft/PowerToys
synced 2025-08-21 17:47:39 +00:00
172 lines
6.7 KiB
YAML
172 lines
6.7 KiB
YAML
variables:
|
|
- name: runCodesignValidationInjectionBG
|
|
value: false
|
|
- name: EnablePipelineCache
|
|
value: true
|
|
|
|
parameters:
|
|
- name: buildPlatforms
|
|
type: object
|
|
default:
|
|
- x64
|
|
- arm64
|
|
- name: enableMsBuildCaching
|
|
type: boolean
|
|
default: false
|
|
- name: useVSPreview
|
|
type: boolean
|
|
default: false
|
|
- name: useLatestWebView2
|
|
type: boolean
|
|
default: false
|
|
- name: useLatestOfficialBuild
|
|
type: boolean
|
|
default: true
|
|
- name: testBothInstallModes
|
|
type: boolean
|
|
default: true
|
|
- name: useCurrentBranchBuild
|
|
type: boolean
|
|
default: false
|
|
- name: uiTestModules
|
|
type: object
|
|
default: []
|
|
|
|
stages:
|
|
- ${{ each platform in parameters.buildPlatforms }}:
|
|
- ${{ if eq(parameters.useLatestOfficialBuild, false) }}:
|
|
- stage: Build_${{ platform }}
|
|
displayName: Build ${{ platform }}
|
|
dependsOn: []
|
|
jobs:
|
|
- template: job-build-project.yml
|
|
parameters:
|
|
pool:
|
|
${{ if eq(variables['System.CollectionId'], 'cb55739e-4afe-46a3-970f-1b49d8ee7564') }}:
|
|
name: SHINE-INT-L
|
|
${{ else }}:
|
|
name: SHINE-OSS-L
|
|
${{ if eq(parameters.useVSPreview, true) }}:
|
|
demands: ImageOverride -equals SHINE-VS17-Preview
|
|
buildPlatforms:
|
|
- ${{ platform }}
|
|
buildConfigurations: [Release]
|
|
enablePackageCaching: true
|
|
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
|
|
runTests: false
|
|
buildTests: true
|
|
useVSPreview: ${{ parameters.useVSPreview }}
|
|
|
|
- ${{ if eq(parameters.useLatestOfficialBuild, true) }}:
|
|
- stage: BuildUITests_${{ platform }}
|
|
displayName: Build UI Tests Only
|
|
dependsOn: []
|
|
jobs:
|
|
- template: job-build-ui-tests.yml
|
|
parameters:
|
|
pool:
|
|
${{ if eq(variables['System.CollectionId'], 'cb55739e-4afe-46a3-970f-1b49d8ee7564') }}:
|
|
name: SHINE-INT-L
|
|
${{ else }}:
|
|
name: SHINE-OSS-L
|
|
${{ if eq(parameters.useVSPreview, true) }}:
|
|
demands: ImageOverride -equals SHINE-VS17-Preview
|
|
buildPlatforms:
|
|
- ${{ platform }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
|
|
- ${{ if eq(platform, 'x64') }}:
|
|
- stage: Test_x64Win10
|
|
displayName: Test x64Win10
|
|
${{ if eq(parameters.useLatestOfficialBuild, true) }}:
|
|
dependsOn:
|
|
- BuildUITests_${{ platform }}
|
|
${{ else }}:
|
|
dependsOn:
|
|
- Build_${{ platform }}
|
|
jobs:
|
|
- template: job-test-project.yml
|
|
parameters:
|
|
platform: x64Win10
|
|
configuration: Release
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
useLatestOfficialBuild: ${{ parameters.useLatestOfficialBuild }}
|
|
useCurrentBranchBuild: ${{ parameters.useCurrentBranchBuild }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
|
|
# Additional per-user installation test (when both modes are enabled)
|
|
- ${{ if and(eq(parameters.useLatestOfficialBuild, true), eq(parameters.testBothInstallModes, true)) }}:
|
|
- template: job-test-project.yml
|
|
parameters:
|
|
platform: x64Win10
|
|
configuration: Release
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
useLatestOfficialBuild: ${{ parameters.useLatestOfficialBuild }}
|
|
useCurrentBranchBuild: ${{ parameters.useCurrentBranchBuild }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
installMode: 'peruser'
|
|
jobSuffix: '_PerUser'
|
|
|
|
- ${{ if eq(platform, 'x64') }}:
|
|
- stage: Test_x64Win11
|
|
displayName: Test x64Win11
|
|
${{ if eq(parameters.useLatestOfficialBuild, true) }}:
|
|
dependsOn:
|
|
- BuildUITests_${{ platform }}
|
|
${{ else }}:
|
|
dependsOn:
|
|
- Build_${{ platform }}
|
|
jobs:
|
|
- template: job-test-project.yml
|
|
parameters:
|
|
platform: x64Win11
|
|
configuration: Release
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
useLatestOfficialBuild: ${{ parameters.useLatestOfficialBuild }}
|
|
useCurrentBranchBuild: ${{ parameters.useCurrentBranchBuild }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
|
|
# Additional per-user installation test (when both modes are enabled)
|
|
- ${{ if and(eq(parameters.useLatestOfficialBuild, true), eq(parameters.testBothInstallModes, true)) }}:
|
|
- template: job-test-project.yml
|
|
parameters:
|
|
platform: x64Win11
|
|
configuration: Release
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
useLatestOfficialBuild: ${{ parameters.useLatestOfficialBuild }}
|
|
useCurrentBranchBuild: ${{ parameters.useCurrentBranchBuild }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
installMode: 'peruser'
|
|
jobSuffix: '_PerUser'
|
|
|
|
- ${{ if ne(platform, 'x64') }}:
|
|
- stage: Test_${{ platform }}
|
|
displayName: Test ${{ platform }}
|
|
${{ if eq(parameters.useLatestOfficialBuild, true) }}:
|
|
dependsOn:
|
|
- BuildUITests_${{ platform }}
|
|
${{ else }}:
|
|
dependsOn:
|
|
- Build_${{ platform }}
|
|
jobs:
|
|
- template: job-test-project.yml
|
|
parameters:
|
|
platform: ${{ platform }}
|
|
configuration: Release
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
useLatestOfficialBuild: ${{ parameters.useLatestOfficialBuild }}
|
|
useCurrentBranchBuild: ${{ parameters.useCurrentBranchBuild }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
|
|
# Additional per-user installation test (when both modes are enabled)
|
|
- ${{ if and(eq(parameters.useLatestOfficialBuild, true), eq(parameters.testBothInstallModes, true)) }}:
|
|
- template: job-test-project.yml
|
|
parameters:
|
|
platform: ${{ platform }}
|
|
configuration: Release
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
useLatestOfficialBuild: ${{ parameters.useLatestOfficialBuild }}
|
|
useCurrentBranchBuild: ${{ parameters.useCurrentBranchBuild }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
installMode: 'peruser'
|
|
jobSuffix: '_PerUser' |