mirror of
https://github.com/Microsoft/calculator.git
synced 2025-08-20 21:33:10 -07:00
Delete build/pipelines directory
This commit is contained in:
parent
09a39a500e
commit
ec14b9ddd3
10 changed files with 0 additions and 833 deletions
|
@ -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
|
|
|
@ -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
|
|
|
@ -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)
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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'
|
|
|
@ -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
|
|
|
@ -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 }}
|
|
Loading…
Add table
Add a link
Reference in a new issue