mirror of
https://github.com/microsoft/PowerToys
synced 2025-08-22 01:58:04 +00:00
<!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Fixes a logic issue in the UI test automation pipeline where selecting `latestMainOfficialBuild` would still trigger a full PowerToys build instead of only building UI tests. ### Why The pipeline was using template variables in compilation-time conditions, which doesn't work correctly in pipeline ### fix Replace template variable references with direct parameter comparisons in compilation-time conditions <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist - [ ] Closes: #xxx - [ ] **Communication:** I've discussed this with core contributors already. If the work hasn't been agreed, this work might be rejected - [ ] **Tests:** Added/updated and all pass - [ ] **Localization:** All end-user-facing strings can be localized - [ ] **Dev docs:** Added/updated - [ ] **New binaries:** Added on the required places - [ ] [JSON for signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json) for new binaries - [ ] [WXS for installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs) for new binaries and localization folder - [ ] [YML for CI pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml) for new test projects - [ ] [YML for signed pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml) - [ ] **Documentation updated:** If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/windows-uwp/tree/docs/hub/powertoys) and link it here: #xxx <!-- Provide a more detailed description of the PR, other things fixed, or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed
59 lines
1.8 KiB
YAML
59 lines
1.8 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: buildSource
|
|
type: string
|
|
default: "latestMainOfficialBuild"
|
|
displayName: "Build Source"
|
|
values:
|
|
- latestMainOfficialBuild
|
|
- buildNow
|
|
- specificBuildId
|
|
- name: specificBuildId
|
|
type: string
|
|
default: 'xxxx'
|
|
displayName: "Build ID (only used when Build Source = specificBuildId)"
|
|
- name: uiTestModules
|
|
type: object
|
|
default: []
|
|
|
|
stages:
|
|
- ${{ each platform in parameters.buildPlatforms }}:
|
|
# Full build path: build PowerToys + UI tests + run tests
|
|
- ${{ if eq(parameters.buildSource, 'buildNow') }}:
|
|
- template: pipeline-ui-tests-full-build.yml
|
|
parameters:
|
|
platform: ${{ platform }}
|
|
enableMsBuildCaching: ${{ parameters.enableMsBuildCaching }}
|
|
useVSPreview: ${{ parameters.useVSPreview }}
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|
|
|
|
# Official build path: build UI tests only + download official build + run tests
|
|
- ${{ if ne(parameters.buildSource, 'buildNow') }}:
|
|
- template: pipeline-ui-tests-official-build.yml
|
|
parameters:
|
|
platform: ${{ platform }}
|
|
buildSource: ${{ parameters.buildSource }}
|
|
specificBuildId: ${{ parameters.specificBuildId }}
|
|
useLatestWebView2: ${{ parameters.useLatestWebView2 }}
|
|
uiTestModules: ${{ parameters.uiTestModules }}
|