forked from microsoft/microsoft-ui-xaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMUX-CI.yml
85 lines (79 loc) · 2.9 KB
/
MUX-CI.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
variables:
minimumExpectedTestsExecutedCount: 3000 # Sanity check for minimum expected tests to be reported
rerunPassesRequiredToAvoidFailure: 5
jobs:
- job: Build
pool:
${{ if eq(variables['System.CollectionUri'], 'https://dev.azure.com/ms/') }}:
name: WinDevPoolOSS-L
${{ if ne(variables['System.CollectionUri'], 'https://dev.azure.com/ms/') }}:
name: WinDevPool-L
demands: ImageOverride -equals WinDevVS16-9
timeoutInMinutes: 120
strategy:
maxParallel: 10
matrix:
Debug_x86:
buildPlatform: 'x86'
buildConfiguration: 'Debug'
Release_x86:
buildPlatform: 'x86'
buildConfiguration: 'Release'
PGOBuildMode: 'Optimize'
Release_x64:
buildPlatform: 'x64'
buildConfiguration: 'Release'
PGOBuildMode: 'Optimize'
Release_Arm:
buildPlatform: 'arm'
buildConfiguration: 'Release'
Release_Arm64:
buildPlatform: 'arm64'
buildConfiguration: 'Release'
variables:
appxPackageDir : $(build.artifactStagingDirectory)\$(buildConfiguration)\$(buildPlatform)\AppxPackages
buildOutputDir : $(Build.SourcesDirectory)\BuildOutput
publishDir : $(Build.ArtifactStagingDirectory)
steps:
- template: AzurePipelinesTemplates\MUX-BuildDevProject-Steps.yml
- template: AzurePipelinesTemplates\MUX-PublishProjectOutput-Steps.yml
- template: AzurePipelinesTemplates\MUX-RunHelixTests-Job.yml
parameters:
name: 'RunTestsInHelix'
dependsOn: Build
condition: in(dependencies.Build.result, 'Succeeded', 'SucceededWithIssues', 'Skipped')
testSuite: 'DevTestSuite'
rerunPassesRequiredToAvoidFailure: $(rerunPassesRequiredToAvoidFailure)
# Create Nuget Package
- template: AzurePipelinesTemplates\MUX-CreateNugetPackage-Job.yml
parameters:
jobName: CreateNugetPackage
dependsOn: Build
prereleaseVersionTag: ci
# Build solution that depends on nuget package
- template: AzurePipelinesTemplates\MUX-NugetReleaseTest-Job.yml
parameters:
buildJobName: 'BuildNugetPkgTests'
buildArtifactName: 'NugetPkgTestsDrop'
runTestJobName: 'RunNugetPkgTestsInHelix'
helixType: 'test/nuget'
dependsOn: CreateNugetPackage
useFrameworkPkg: false
# Framework package tests
- template: AzurePipelinesTemplates\MUX-NugetReleaseTest-Job.yml
parameters:
buildJobName: 'BuildFrameworkPkgTests'
buildArtifactName: 'FrameworkPkgTestsDrop'
runTestJobName: 'RunFrameworkPkgTestsInHelix'
helixType: 'test/frpkg'
dependsOn: CreateNugetPackage
useFrameworkPkg: true
- template: AzurePipelinesTemplates\MUX-ProcessTestResults-Job.yml
parameters:
dependsOn:
- RunTestsInHelix
- RunNugetPkgTestsInHelix
- RunFrameworkPkgTestsInHelix
rerunPassesRequiredToAvoidFailure: $(rerunPassesRequiredToAvoidFailure)
minimumExpectedTestsExecutedCount: $(minimumExpectedTestsExecutedCount)