forked from xamarin/Xamarin.Forms
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathazure-pipelines.yml
134 lines (123 loc) · 2.54 KB
/
azure-pipelines.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
variables:
- name: BuildConfiguration
value: Debug
- name: BuildPlatform
value: 'any cpu'
- name: XamarinFormsPackageVersion
value: ''
- name: Suffix
value: ''
- name: major
value: 4
- name: minor
value: 0
- name: patch
value: 1
- name: buildversion
value: $[counter('versioncounter', 1000)]
- name: sign
value: 'false'
- name: provisioning
value: 'true'
- name: AppleCodesignIdentity
value: ''
- name: AppleCodesignIdentityUrl
value: ''
- name: AppleCodesignProfileUrl
value: ''
- name: ProvisionatorExecutablePath
value: 'Xamarin.Forms.Build/provisionator.sh'
- group: Xamarin.Forms
- group: XQA Secrets
trigger:
branches:
include:
- master
- 3.3.0
- 3.4.0
- 3.5.0
paths:
exclude:
- README.md
pr:
- master
- 3.4.0
- 3.5.0
jobs:
- job: Phase_1
displayName: Prepare Build Phase
condition: succeeded()
pool:
name: Hosted VS2017
steps:
- template: build/steps/build-prepare.yml
- job: Phase_2
displayName: Build Windows Phase
dependsOn: Phase_1
condition: succeeded()
pool:
name: Hosted VS2017
demands: msbuild
strategy:
matrix:
debug:
BuildConfiguration: 'Debug'
BuildPlatform: 'any cpu'
release:
BuildConfiguration: 'Release'
BuildPlatform: 'any cpu'
steps:
- template: build/steps/build-windows.yml
- job: Phase_3
displayName: Test Windows Phase
dependsOn: Phase_2
condition: succeeded()
pool:
name: Hosted VS2017
demands: vstest
strategy:
matrix:
debug:
BuildConfiguration: 'Debug'
release:
BuildConfiguration: 'Release'
steps:
- template: build/steps/build-windows-test.yml
- job: Phase_4
displayName: OSX Phase
dependsOn: Phase_1
condition: succeeded()
pool:
name: Hosted Mac Internal
demands:
- Agent.OS -equals darwin
- sh
- msbuild
- Xamarin.iOS
variables:
provisioningOSX : true
provisioningSign : $(provisioning)
steps:
- template: build/steps/build-osx.yml
- job: Phase_5
displayName: Nuget Phase
dependsOn:
- Phase_3
condition: succeeded()
pool:
name: Hosted VS2017
demands: DotNetFramework
variables:
FormsIdAppend: ''
steps:
- template: build/steps/build-nuget.yml
- job: Phase_6
displayName: Sign Phase
dependsOn: Phase_5
condition: and(succeeded(), eq(dependencies.Phase_1.outputs['prepare.sign'], 'true'))
pool:
name: VSEng-Xamarin-Forms
variables:
sign: $[dependencies.Phase_1.outputs['prepare.sign']]
steps:
- template: build/steps/build-sign.yml