From 904c99438b9b06c39229657452fe5365cdff3c80 Mon Sep 17 00:00:00 2001 From: Tian Liao Date: Mon, 29 Apr 2024 16:04:51 +0800 Subject: [PATCH] Collect jobs into stages --- build/pipelines/azure-pipelines.release.yaml | 75 +++++++++----------- 1 file changed, 32 insertions(+), 43 deletions(-) diff --git a/build/pipelines/azure-pipelines.release.yaml b/build/pipelines/azure-pipelines.release.yaml index 4c8a3f11..07c8529f 100644 --- a/build/pipelines/azure-pipelines.release.yaml +++ b/build/pipelines/azure-pipelines.release.yaml @@ -15,6 +15,10 @@ variables: name: '$(versionMajor).$(versionMinor).$(versionBuild).$(versionPatch)' +parameters: + buildPlatformList: [x64, x86, ARM, ARM64] + testPlatformList: [x64, x86] + resources: repositories: - repository: 1esPipelines @@ -31,57 +35,42 @@ extends: os: windows stages: - - stage: Calculator + - stage: BuildStage jobs: - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: x64 - isReleaseBuild: true - useReleaseAppxmanifest: true + - ${{ each platform in parameters.buildPlatformList }}: + - template: /build/pipelines/templates/build-single-architecture.yaml@self + parameters: + platform: ${{ platform }} + isReleaseBuild: true + useReleaseAppxmanifest: true - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: x86 - isReleaseBuild: true - useReleaseAppxmanifest: true - condition: not(eq(variables['Build.Reason'], 'PullRequest')) + - stage: UnitTestStage + dependsOn: BuildStage + jobs: + - ${{ each platform in parameters.testPlatformList }}: + - template: /build/pipelines/templates/run-unit-tests.yaml@self + parameters: + platform: ${{ platform }} - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: ARM - isReleaseBuild: true - useReleaseAppxmanifest: true - condition: not(eq(variables['Build.Reason'], 'PullRequest')) - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: ARM64 - isReleaseBuild: true - useReleaseAppxmanifest: true - condition: not(eq(variables['Build.Reason'], 'PullRequest')) - - - template: /build/pipelines/templates/run-ui-tests.yaml@self - parameters: - platform: x64 - runsettingsFileName: CalculatorUITests.release.runsettings - - - template: /build/pipelines/templates/run-ui-tests.yaml@self - parameters: - platform: x86 - runsettingsFileName: CalculatorUITests.release.runsettings - - - template: /build/pipelines/templates/run-unit-tests.yaml@self - parameters: - platform: x64 - - - template: /build/pipelines/templates/run-unit-tests.yaml@self - parameters: - platform: x86 + - stage: UiTestStage + dependsOn: BuildStage + jobs: + - ${{ each platform in parameters.testPlatformList }}: + - template: /build/pipelines/templates/run-ui-tests.yaml@self + parameters: + platform: ${{ platform }} + runsettingsFileName: CalculatorUITests.release.runsettings + - stage: PackageStage + dependsOn: [UnitTestStage, UiTestStage] + jobs: - template: /build/pipelines/templates/package-msixbundle.yaml@self parameters: signBundle: true createStoreBrokerPackages: true + - stage: PublishStage + dependsOn: PackageStage + jobs: - template: /build/pipelines/templates/release-store.yaml@self - template: /build/pipelines/templates/release-vpack.yaml@self