diff --git a/build/pipelines/azure-pipelines.ci-internal.yaml b/build/pipelines/azure-pipelines.ci-internal.yaml deleted file mode 100644 index 049ea488..00000000 --- a/build/pipelines/azure-pipelines.ci-internal.yaml +++ /dev/null @@ -1,75 +0,0 @@ -# -# Continuous Integration (CI) - Internal -# This pipeline builds and validate the app for all supported architectures, in a production -# configuration. This pipeline relies on Microsoft-internal resources to run. -# - -trigger: -- main -- release/* -- feature/* -pr: none - -name: 0.$(Date:yyMM).$(DayOfMonth)$(Rev:rr).0 - -resources: - repositories: - - repository: 1esPipelines - type: git - name: 1ESPipelineTemplates/1ESPipelineTemplates - ref: refs/tags/release - -extends: - template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines - parameters: - pool: - name: EssentialExperiences-windows-2022 - image: MMSWindows2022-Secure - os: windows - - stages: - - stage: - jobs: - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - isReleaseBuild: true - useReleaseAppxManifest: false - platform: x64 - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - isReleaseBuild: true - useReleaseAppxManifest: false - platform: x86 - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - isReleaseBuild: true - useReleaseAppxManifest: false - platform: ARM - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - isReleaseBuild: true - useReleaseAppxManifest: false - platform: ARM64 - - - template: /build/pipelines/templates/run-ui-tests.yaml@self - parameters: - platform: x64 - runsettingsFileName: CalculatorUITests.ci-internal.runsettings - - - template: /build/pipelines/templates/run-ui-tests.yaml@self - parameters: - platform: x86 - runsettingsFileName: CalculatorUITests.ci-internal.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 - - - template: /build/pipelines/templates/package-msixbundle.yaml@self diff --git a/build/pipelines/azure-pipelines.ci.yaml b/build/pipelines/azure-pipelines.ci.yaml deleted file mode 100644 index 542ab397..00000000 --- a/build/pipelines/azure-pipelines.ci.yaml +++ /dev/null @@ -1,77 +0,0 @@ -# -# Continuous Integration (CI) -# This pipeline builds and validate the app for all supported architectures, in a public -# configuration. If the build was queued to validate a pull request, we build and test only x64. -# - -trigger: -- main -- release/* -- feature/* -pr: -- main -- release/* -- feature/* - -name: 0.$(Date:yyMM).$(DayOfMonth)$(Rev:rr).0 - -resources: - repositories: - - repository: 1esPipelines - type: git - name: 1ESPipelineTemplates/1ESPipelineTemplates - ref: refs/tags/release - -extends: - template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines - parameters: - pool: - name: EssentialExperiencesOpenSource-windows-2022 - image: MMSWindows2022-Secure - os: windows - - sdl: - binskim: - enabled: false - - stages: - - stage: Calculator - jobs: - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: x64 - isOSSBuild: true - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: x86 - condition: not(eq(variables['Build.Reason'], 'PullRequest')) - isOSSBuild: true - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: ARM - condition: not(eq(variables['Build.Reason'], 'PullRequest')) - isOSSBuild: true - - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: ARM64 - condition: not(eq(variables['Build.Reason'], 'PullRequest')) - isOSSBuild: true - - - template: /build/pipelines/templates/run-ui-tests.yaml@self - parameters: - platform: x64 - isOSSBuild: true - runsettingsFileName: CalculatorUITests.ci.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 - - - template: /build/pipelines/templates/package-msixbundle.yaml@self diff --git a/build/pipelines/azure-pipelines.loc.yaml b/build/pipelines/azure-pipelines.loc.yaml deleted file mode 100644 index ed63e6fe..00000000 --- a/build/pipelines/azure-pipelines.loc.yaml +++ /dev/null @@ -1,60 +0,0 @@ -# -# Localization -# This pipeline uploads English strings files to the localization service, downloads any translated -# files which are available, and checks them in to git. This pipeline relies on Microsoft-internal -# resources to run. -# - -schedules: -- cron: "0 5 * * *" - displayName: Daily sync - branches: - include: - - main - always: true - -trigger: none -pr: none - -name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr) - -variables: - isMainBranch: ${{ eq(variables['Build.SourceBranch'], 'refs/heads/main') }} - -jobs: -- job: Localize - pool: - name: EssentialExperiences-windows-2022 - variables: - skipComponentGovernanceDetection: true - steps: - - checkout: self - clean: true - - - task: MicrosoftTDBuild.tdbuild-task.tdbuild-task.TouchdownBuildTask@4 - displayName: Send resources to Touchdown Build - inputs: - teamId: 86 - authType: FederatedIdentity - FederatedIdentityServiceConnection: EE-TDBuild-Localization-FC - isPreview: false - relativePathRoot: src/Calculator/Resources/en-US/ - resourceFilePath: '*.resw' - outputDirectoryRoot: src/Calculator/Resources/ - ${{ if eq(variables['isMainBranch'], false) }}: - localizationTarget: false - - - script: | - cd $(Build.SourcesDirectory) - git add -A - git diff --cached --exit-code - echo ##vso[task.setvariable variable=hasChanges]%errorlevel% - git diff --cached > $(Build.ArtifactStagingDirectory)\LocalizedStrings.patch - displayName: Check for changes and create patch file - - - task: PublishPipelineArtifact@0 - displayName: Publish patch file as artifact - condition: and(eq(variables['hasChanges'], '1'), eq(variables['isMainBranch'], true)) - inputs: - artifactName: Patch - targetPath: $(Build.ArtifactStagingDirectory) diff --git a/build/pipelines/azure-pipelines.release.yaml b/build/pipelines/azure-pipelines.release.yaml deleted file mode 100644 index 89c5696e..00000000 --- a/build/pipelines/azure-pipelines.release.yaml +++ /dev/null @@ -1,100 +0,0 @@ -# -# Release -# This pipeline builds a version of the app in a production configuration to be released to the -# Store and the Windows image. This pipeline relies on Microsoft-internal resources to run. -# - -trigger: none -pr: none - -variables: - versionMajor: 11 - versionMinor: 2412 - versionBuild: $[counter(format('{0}.{1}.*', variables['versionMajor'], variables['versionMinor']), 0)] - versionPatch: 0 - -name: '$(versionMajor).$(versionMinor).$(versionBuild).$(versionPatch)' - -parameters: -- name: publishStore - displayName: Publish and flight the package on Store - type: boolean - default: true - -- name: publishVPack - displayName: Publish as undocked inbox app via VPack - type: boolean - default: true - -resources: - repositories: - - repository: 1esPipelines - type: git - name: 1ESPipelineTemplates/1ESPipelineTemplates - ref: refs/tags/release - -extends: - template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines - parameters: - pool: - name: EssentialExperiences-windows-2022 - image: MMSWindows2022-Secure - os: windows - - stages: - - stage: Calculator - jobs: - - template: /build/pipelines/templates/build-single-architecture.yaml@self - parameters: - platform: x64 - 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')) - - - 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 - - - template: /build/pipelines/templates/package-msixbundle.yaml@self - parameters: - signBundle: true - createStoreBrokerPackages: true - - - ${{ if eq(parameters.publishStore, true) }}: - - template: /build/pipelines/templates/release-store.yaml@self - - ${{ if eq(parameters.publishVPack, true) }}: - - template: /build/pipelines/templates/release-vpack.yaml@self diff --git a/build/pipelines/templates/build-single-architecture.yaml b/build/pipelines/templates/build-single-architecture.yaml deleted file mode 100644 index 5acb2201..00000000 --- a/build/pipelines/templates/build-single-architecture.yaml +++ /dev/null @@ -1,121 +0,0 @@ -# This template contains a job to build the app for a single architecture. - -parameters: - isReleaseBuild: false - isOSSBuild: false - useReleaseAppxManifest: false - platform: '' - condition: '' - -jobs: -- job: Build${{ parameters.platform }} - displayName: Build ${{ parameters.platform }} - condition: ${{ parameters.condition }} - variables: - BuildConfiguration: Release - BuildPlatform: ${{ parameters.platform }} - ${{ if eq(parameters.isReleaseBuild, true) }}: - ${{ if eq(parameters.useReleaseAppxManifest, true) }}: - ExtraMSBuildArgs: '/p:IsStoreBuild=true /p:UseReleaseAppxManifest=true' - ${{ if eq(parameters.useReleaseAppxManifest, false) }}: - ExtraMSBuildArgs: '/p:IsStoreBuild=true' - ${{ if eq(parameters.isReleaseBuild, false) }}: - ${{ if eq(parameters.useReleaseAppxManifest, true) }}: - ExtraMSBuildArgs: '/p:UseReleaseAppxManifest=true' - ${{ if eq(parameters.useReleaseAppxManifest, false) }}: - ExtraMSBuildArgs: '' - ${{ if eq(parameters.useReleaseAppxManifest, false) }}: - ManifestFileName: 'Package.appxmanifest' - ${{ if eq(parameters.useReleaseAppxManifest, true) }}: - ManifestFileName: 'Package.Release.appxmanifest' - templateContext: - sdl: - binskim: - analyzeTargetGlob: +:f|$(Agent.BuildDirectory)\binskim\**\* - - outputs: - - output: pipelineArtifact - displayName: Publish drop artifact - targetPath: $(Build.BinariesDirectory)\$(BuildConfiguration)\${{ parameters.platform }} - artifactName: drop-${{ parameters.platform }} - - steps: - - checkout: self - fetchDepth: 1 - - - ${{ if eq(parameters.isOSSBuild, true) }}: - - task: nuget-security-analysis@0 - displayName: Secure Supply Chain Analysis - - - ${{ if eq(parameters.isReleaseBuild, true) }}: - - task: UniversalPackages@0 - displayName: Download internals package - inputs: - command: download - downloadDirectory: $(Build.SourcesDirectory) - vstsFeed: WindowsInboxApps - vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.112 - - - task: NuGetToolInstaller@1 - displayName: Use NuGet 6.x - inputs: - versionSpec: 6.x - - - task: NuGetCommand@2 - displayName: NuGet restore src/Calculator.sln - inputs: - command: custom - arguments: restore src/Calculator.sln -Verbosity Detailed - - - task: PowerShell@2 - displayName: Set version number in AppxManifest - inputs: - filePath: $(Build.SourcesDirectory)\build\scripts\UpdateAppxManifestVersion.ps1 - arguments: '-AppxManifest $(Build.SourcesDirectory)\src\Calculator\$(ManifestFileName) -Version $(Build.BuildNumber)' - - - task: VSBuild@1 - displayName: 'Build solution src/Calculator.sln' - inputs: - solution: src/Calculator.sln - vsVersion: 17.0 - msbuildArgs: /bl:$(Build.BinariesDirectory)\$(BuildConfiguration)\$(BuildPlatform)\Calculator.binlog /p:OutDir=$(Build.BinariesDirectory)\$(BuildConfiguration)\$(BuildPlatform)\ /p:GenerateProjectSpecificOutputFolder=true /p:Version=$(Build.BuildNumber) /t:Publish /p:PublishDir=$(Build.BinariesDirectory)\$(BuildConfiguration)\$(BuildPlatform)\publish\ $(ExtraMSBuildArgs) - platform: $(BuildPlatform) - configuration: $(BuildConfiguration) - maximumCpuCount: true - - - ${{ if eq(parameters.isReleaseBuild, true) }}: - - task: CopyFiles@2 - displayName: Copy Files for BinSkim analysis - inputs: - SourceFolder: '$(Build.BinariesDirectory)\$(BuildConfiguration)\$(BuildPlatform)\Calculator\' - # Setting up a folder to store all the binary files that we need BinSkim to scan. - # If we put more things than we produce pdbs for and can index (such as nuget packages that ship without pdbs), binskim will fail. - # Below are ignored files - # - clrcompression.dll - # - WebView2Loader.dll - # - Microsoft.Web.WebView2.Core.dll - Contents: | - **\*.dll - **\*.exe - !**\clrcompression.dll - !**\WebView2Loader.dll - !**\Microsoft.Web.WebView2.Core.dll - TargetFolder: '$(Agent.BuildDirectory)\binskim' - CleanTargetFolder: true - OverWrite: true - flattenFolders: false - analyzeTarget: '$(Agent.BuildDirectory)\binskim\*' - - - task: PublishSymbols@2 - displayName: Publish symbols - inputs: - symbolsFolder: $(Build.BinariesDirectory)\$(BuildConfiguration)\$(BuildPlatform) - searchPattern: '**/*.pdb' - symbolServerType: teamServices - treatNotIndexedAsWarning: true - - - task: securedevelopmentteam.vss-secure-development-tools.build-task-policheck.PoliCheck@1 - displayName: Run PoliCheck - inputs: - targetType: F diff --git a/build/pipelines/templates/package-msixbundle.yaml b/build/pipelines/templates/package-msixbundle.yaml deleted file mode 100644 index aea00454..00000000 --- a/build/pipelines/templates/package-msixbundle.yaml +++ /dev/null @@ -1,204 +0,0 @@ -# This template contains a job which takes .msix packages which were built separately for each -# architecture (arm, x86, etc.) and combines them into a single .msixbundle. In release builds, -# this job also signs the bundle and creates StoreBroker packages. - -parameters: - signBundle: false - createStoreBrokerPackages: false - -jobs: -- job: Package - dependsOn: - - Buildx64 - - Buildx86 - - BuildARM - - BuildARM64 - condition: | - and - ( - in(dependencies.Buildx64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'), - in(dependencies.Buildx86.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'), - in(dependencies.BuildARM.result, 'Succeeded', 'SucceededWithIssues', 'Skipped'), - in(dependencies.BuildARM64.result, 'Succeeded', 'SucceededWithIssues', 'Skipped') - ) - variables: - skipComponentGovernanceDetection: true - StoreBrokerMediaRootPath: $(TEMP)\SBMedia - StoreBrokerPackagePath: $(Build.ArtifactStagingDirectory)\storeBrokerPayload - PackageX86: $[in(dependencies.Buildx86.result, 'Succeeded', 'SucceededWithIssues')] - PackageX64: $[in(dependencies.Buildx64.result, 'Succeeded', 'SucceededWithIssues')] - PackageARM: $[in(dependencies.BuildARM.result, 'Succeeded', 'SucceededWithIssues')] - PackageARM64: $[in(dependencies.BuildARM64.result, 'Succeeded', 'SucceededWithIssues')] - templateContext: - outputs: - - ${{ if eq(parameters.signBundle, false) }}: - - output: pipelineArtifact - displayName: Publish MsixBundle artifact - targetPath: $(Build.ArtifactStagingDirectory)\msixBundle - artifactName: msixBundle - - ${{ else }}: - - output: pipelineArtifact - displayName: Publish MsixBundleSigned artifact - targetPath: $(Build.ArtifactStagingDirectory)\msixBundle - artifactName: msixBundleSigned - - ${{ if eq(parameters.createStoreBrokerPackages, true) }}: - - output: pipelineArtifact - displayName: Publish StoreBroker Payload artifact - targetPath: $(StoreBrokerPackagePath) - artifactName: storeBrokerPayload - - steps: - - checkout: self - fetchDepth: 1 - - - task: DownloadPipelineArtifact@2 - displayName: Download all .msix artifacts (x86) - condition: and(succeeded(), eq(variables.PackageX86, 'true')) - inputs: - artifactName: drop-x86 - itemPattern: '**/*.msix' - targetPath: $(Build.ArtifactStagingDirectory)\drop\x86 - - - task: DownloadPipelineArtifact@2 - displayName: Download all .msix artifacts (x64) - condition: and(succeeded(), eq(variables.PackageX64, 'true')) - inputs: - artifactName: drop-x64 - itemPattern: '**/*.msix' - targetPath: $(Build.ArtifactStagingDirectory)\drop\x64 - - - task: DownloadPipelineArtifact@2 - displayName: Download all .msix artifacts (ARM) - condition: and(succeeded(), eq(variables.PackageARM, 'true')) - inputs: - artifactName: drop-ARM - itemPattern: '**/*.msix' - targetPath: $(Build.ArtifactStagingDirectory)\drop\ARM - - - task: DownloadPipelineArtifact@2 - displayName: Download all .msix artifacts (ARM64) - condition: and(succeeded(), eq(variables.PackageARM64, 'true')) - inputs: - artifactName: drop-ARM64 - itemPattern: '**/*.msix' - targetPath: $(Build.ArtifactStagingDirectory)\drop\ARM64 - - - ${{ if or(eq(parameters.createStoreBrokerPackages, true), eq(parameters.signBundle, true)) }}: - - task: UniversalPackages@0 - displayName: Download internals package - inputs: - command: download - downloadDirectory: $(Build.SourcesDirectory) - vstsFeed: WindowsInboxApps - vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.112 - - - task: PowerShell@2 - displayName: Generate MsixBundle mapping - inputs: - filePath: $(Build.SourcesDirectory)\build\scripts\CreateMsixBundleMapping.ps1 - arguments: '-InputPath $(Build.ArtifactStagingDirectory)\drop -ProjectName Calculator -OutputFile $(Build.BinariesDirectory)\MsixBundleMapping.txt' - - - powershell: | - $buildVersion = [version]$Env:BUILDVERSION - $bundleVersion = "2021.$($buildVersion.Minor).$($buildVersion.Build).$($buildVersion.Revision)" - & "C:\Program Files (x86)\Windows Kits\10\bin\10.0.22000.0\x64\MakeAppx.exe" bundle /v /bv $bundleVersion /f $Env:MAPPINGFILEPATH /p $Env:OUTPUTPATH - displayName: Make MsixBundle - env: - BUILDVERSION: $(Build.BuildNumber) - MAPPINGFILEPATH: $(Build.BinariesDirectory)\MsixBundleMapping.txt - OUTPUTPATH: $(Build.BinariesDirectory)\Microsoft.WindowsCalculator_8wekyb3d8bbwe.msixbundle - - - task: CopyFiles@2 - displayName: Copy MsixBundle to staging directory - inputs: - sourceFolder: $(Build.BinariesDirectory) - contents: Microsoft.WindowsCalculator_8wekyb3d8bbwe.msixbundle - targetFolder: $(Build.ArtifactStagingDirectory)\msixBundle - - - ${{ if eq(parameters.signBundle, true) }}: - - pwsh: | - $configPath = "$(Build.SourcesDirectory)\Tools\Build\Signing\ESRP-codesign.json" - $config = Get-Content -Raw $configPath | ConvertFrom-Json - $esrpAppRegClientId = $config.AppRegistrationClientId - $esrpAppRegTenantId = $config.AppRegistrationClientId - $esrpClientId = $config.EsrpClientId - echo AppRegistrationClientId:$esrpAppRegClientId, AppRegTenantId:$esrpAppRegTenantId, EsrpClientId:$esrpClientId - echo "##vso[task.setvariable variable=EsrpAppRegClientId]$esrpAppRegClientId" - echo "##vso[task.setvariable variable=EsrpAppRegTenantId]$esrpAppRegTenantId" - echo "##vso[task.setvariable variable=EsrpClientId]$esrpClientId" - displayName: Get ESRP config - - - task: EsrpCodeSigning@5 - displayName: Send msixbundle to code signing service - inputs: - ConnectedServiceName: Essential Experiences Codesign PME - UseMSIAuthentication: true - AppRegistrationClientId: $(EsrpAppRegClientId) - AppRegistrationTenantId: $(EsrpAppRegTenantId) - EsrpClientId: $(EsrpClientId) - AuthAKVName: EE-Apps-CodeSign-KV - AuthCertName: EE-Auth-Cert - AuthSignCertName: EE-Codesign-Cert - FolderPath: $(Build.ArtifactStagingDirectory)\msixBundle - Pattern: Microsoft.WindowsCalculator_8wekyb3d8bbwe.msixbundle - signConfigType: inlineSignParams - inlineOperation: | - [ - { - "CertTemplateName": "WINMSAPP1ST", - "CertSubjectName": "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", - "KeyCode": "Dynamic", - "OperationCode": "SigntoolvNextSign", - "Parameters": { - "OpusName": "Microsoft", - "OpusInfo": "http://www.microsoft.com", - "FileDigest": "/fd \"SHA256\"", - "TimeStamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256" - }, - "ToolName": "sign", - "ToolVersion": "1.0" - }, - { - "CertTemplateName": "WINMSAPP1ST", - "CertSubjectName": "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", - "KeyCode": "Dynamic", - "OperationCode": "SigntoolvNextVerify", - "Parameters": {}, - "ToolName": "sign", - "ToolVersion": "1.0" - } - ] - - - ${{ if eq(parameters.createStoreBrokerPackages, true) }}: - - powershell: | - # Just modify this line to indicate where your en-us PDP file is. Leave the other lines alone. - $enUSPdpFilePath = "$(Build.SourcesDirectory)\PDP\en-US\PDP.xml" - - # This is going to save the release value from the PDP file to $(SBMediaReleaseVersion) - # which you can then refer to in the UniversalPackages task. - $release = ([xml](Get-Content $enUSPdpFilePath)).ProductDescription.Release.Trim() - Write-Host "##vso[task.setvariable variable=SBMediaReleaseVersion;]$release" - displayName: Determine the PDP Media release version from the en-us PDP file - - - task: UniversalPackages@0 - displayName: Download PDP media (screenshots, trailers) universal package - inputs: - command: download - downloadDirectory: $(StoreBrokerMediaRootPath)/$(SBMediaReleaseVersion) - vstsFeed: WindowsInboxApps - vstsFeedPackage: calculator-pdp-media - vstsPackageVersion: $(SBMediaReleaseVersion) - - - task: MS-RDX-MRO.windows-store-publish-dev.package-task.store-package@3 - displayName: Create StoreBroker Payload - inputs: - serviceEndpoint: Calculator StoreBroker FC - sbConfigPath: Tools/Build/StoreBroker/SBCalculatorConfig.json - sourceFolder: $(Build.ArtifactStagingDirectory)/msixBundle - contents: Microsoft.WindowsCalculator_8wekyb3d8bbwe.msixbundle - pdpPath: $(Build.SourcesDirectory)\PDP - pdpInclude: PDP.xml - pdpMediaPath: $(StoreBrokerMediaRootPath) - outSBPackagePath: $(StoreBrokerPackagePath) - outSBName: SBCalculator diff --git a/build/pipelines/templates/release-store.yaml b/build/pipelines/templates/release-store.yaml deleted file mode 100644 index 48483835..00000000 --- a/build/pipelines/templates/release-store.yaml +++ /dev/null @@ -1,45 +0,0 @@ -# This template contains jobs to release the app to the Store. - -jobs: -- job: ReleaseStore - dependsOn: Package - variables: - skipComponentGovernanceDetection: true - StoreBrokerPackagePath: $(Pipeline.Workspace)\storeBrokerPayload - StoreBrokerLogPath: $(StoreBrokerPackagePath)\StoreBroker.log - FlightId: 161f0975-cb5f-475b-8ef6-26383c37621f - AppId: 9WZDNCRFHVN5 - ProductId: 00009007199266248474 - steps: - - checkout: none - - - download: current - displayName: Download storeBrokerPayload artifact - artifact: storeBrokerPayload - - - task: MS-RDX-MRO.windows-store-publish-dev.flight-task.store-flight@3 - displayName: Flight StoreBroker Payload to team ring - name: StoreBrokerFlight - inputs: - serviceEndpoint: Calculator StoreBroker FC - appId: $(AppId) - flightId: $(FlightId) - inputMethod: JsonAndZip - jsonPath: $(StoreBrokerPackagePath)\SBCalculator.json - zipPath: $(StoreBrokerPackagePath)\SBCalculator.zip - force: true - skipPolling: true - targetPublishMode: Immediate - logPath: $(StoreBrokerLogPath) - deletePackages: true - numberOfPackagesToKeep: 0 - - - task: APS-Aero-Package.aero-upload-task.AeroUploadTask.AeroUpload@1 - displayName: Aero Upload (FC) - inputs: - productId: $(ProductId) - flightId: $(FlightId) - submissionId: $(StoreBrokerFlight.WS_SubmissionId) - submissionDataPath: $(StoreBrokerPackagePath)\SBCalculator.json - packagePath: $(StoreBrokerPackagePath)\SBCalculator.zip - serviceEndpoint: AeroUpload-Calculator-FC diff --git a/build/pipelines/templates/release-vpack.yaml b/build/pipelines/templates/release-vpack.yaml deleted file mode 100644 index e86af81d..00000000 --- a/build/pipelines/templates/release-vpack.yaml +++ /dev/null @@ -1,63 +0,0 @@ -# This template contains a job to create a VPack. The VPack is used to preinstall the app in a -# Windows OS build. - -jobs: -- job: ReleaseVPack - dependsOn: Package - variables: - skipComponentGovernanceDetection: true - templateContext: - outputs: - - output: pipelineArtifact - displayName: Publish vpack\app artifact with vpack manifest - targetPath: $(XES_VPACKMANIFESTDIRECTORY)\$(XES_VPACKMANIFESTNAME) - artifactName: vpackManifest - sbomEnabled: false - - steps: - - checkout: none - - - download: current - displayName: Download msixBundleSigned artifact - artifact: msixBundleSigned - - - task: CopyFiles@2 - displayName: Copy signed MsixBundle to vpack staging folder - inputs: - sourceFolder: $(Pipeline.Workspace)\msixBundleSigned - contents: Microsoft.WindowsCalculator_8wekyb3d8bbwe.msixbundle - targetFolder: $(Pipeline.Workspace)\vpack\msixBundle - - - task: UniversalPackages@0 - displayName: Download internals package - inputs: - command: download - downloadDirectory: $(Build.SourcesDirectory) - vstsFeed: WindowsInboxApps - vstsFeedPackage: calculator-internals - vstsPackageVersion: 0.0.112 - - - pwsh: | - $configPath = "$(Build.SourcesDirectory)\Tools\Build\Signing\ESRP-auth.json" - $auth = Get-Content -Raw $configPath | ConvertFrom-Json - $sbomKeyCode = $auth._ExtraContext.SbomKeyCode - echo $sbomKeyCode - echo "##vso[task.setvariable variable=SbomKeyCode]$sbomKeyCode" - displayName: Get SBOM Key Code - - - task: PkgESVPack@12 - displayName: Create and push vpack for app - env: - SYSTEM_ACCESSTOKEN: $(System.AccessToken) - inputs: - sourceDirectory: $(Pipeline.Workspace)\vpack\msixBundle - description: VPack for the Calculator Application - pushPkgName: calculator.app - version: $(versionMajor).$(versionMinor).$(versionBuild) - owner: paxeeapps - provData: true - taskLogVerbosity: Diagnostic - coseUsageScenario: 'product' - signSbom: true - sbomKeyCode: $(SbomKeyCode) - pathToEsrpAuthJson: '$(Build.SourcesDirectory)\Tools\Build\Signing\ESRP-auth.json' diff --git a/build/pipelines/templates/run-ui-tests.yaml b/build/pipelines/templates/run-ui-tests.yaml deleted file mode 100644 index 1f9dfcca..00000000 --- a/build/pipelines/templates/run-ui-tests.yaml +++ /dev/null @@ -1,56 +0,0 @@ -# This template contains jobs to run UI tests using WinAppDriver. - -parameters: - isOSSBuild: false - platform: '' - runsettingsFileName: '' - -jobs: -- job: UITests${{ parameters.platform }} - displayName: UITests ${{ parameters.platform }} - dependsOn: Build${{ parameters.platform }} - condition: succeeded() - pool: - ${{ if eq(parameters.isOSSBuild, true) }}: - name: EssentialExperiencesOpenSource-Win11 - ${{ if eq(parameters.isOSSBuild, false) }}: - name: EssentialExperiences-Win11 - variables: - skipComponentGovernanceDetection: true - DropName: drop-${{ parameters.platform }} - - steps: - - checkout: self - fetchDepth: 1 - - - task: PowerShell@2 - displayName: Turn off animation effects - inputs: - filePath: $(Build.SourcesDirectory)\build\scripts\TurnOffAnimationEffects.ps1 - - - task: ScreenResolutionUtility@1 - displayName: Set resolution to 1920x1080 - inputs: - displaySettings: 'specific' - width: 1920 - height: 1080 - - - download: current - displayName: Download MsixBundle and CalculatorUITests - artifact: $(DropName) - patterns: | - Calculator/AppPackages/** - publish/** - - - powershell: | - $(Build.SourcesDirectory)/build/scripts/SignTestApp.ps1 -AppToSign '$(Pipeline.Workspace)/$(DropName)/Calculator/AppPackages/Calculator_*_Test/Calculator_*.msixbundle' - $(Pipeline.Workspace)/$(DropName)/Calculator/AppPackages/Calculator_*_Test/Add-AppDevPackage.ps1 -Force - displayName: Install app - - - task: VSTest@2 - displayName: Run CalculatorUITests - inputs: - testAssemblyVer2: $(Pipeline.Workspace)/$(DropName)/publish/CalculatorUITests.dll - runSettingsFile: $(Pipeline.Workspace)/$(DropName)/publish/${{ parameters.runsettingsFileName }} - platform: ${{ parameters.platform }} - configuration: Release diff --git a/build/pipelines/templates/run-unit-tests.yaml b/build/pipelines/templates/run-unit-tests.yaml deleted file mode 100644 index 84e76ec2..00000000 --- a/build/pipelines/templates/run-unit-tests.yaml +++ /dev/null @@ -1,32 +0,0 @@ -# This template contains jobs to run unit tests. - -parameters: - platform: '' - runsettingsFileName: '' - -jobs: -- job: UnitTests${{ parameters.platform }} - displayName: UnitTests ${{ parameters.platform }} - dependsOn: Build${{ parameters.platform }} - condition: succeeded() - variables: - skipComponentGovernanceDetection: true - UnitTestsDir: $(Pipeline.Workspace)\drop-${{ parameters.platform }}\CalculatorUnitTests\AppPackages\CalculatorUnitTests_Test - steps: - - checkout: self - fetchDepth: 1 - - - download: current - displayName: Download CalculatorUnitTests - artifact: drop-${{ parameters.platform }} - patterns: '**/CalculatorUnitTests_Test/**' - - - powershell: | - $(Build.SourcesDirectory)/build/scripts/SignTestApp.ps1 -AppToSign '$(UnitTestsDir)\CalculatorUnitTests.msix' - displayName: Sign unit tests - - - task: VSTest@2 - displayName: Run CalculatorUnitTests - inputs: - testAssemblyVer2: $(UnitTestsDir)\CalculatorUnitTests.msix - otherConsoleOptions: /Platform:${{ parameters.platform }}