-
Notifications
You must be signed in to change notification settings - Fork 22
/
Copy pathazure-pipelines.yml
143 lines (109 loc) · 3.57 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
132
133
134
135
136
137
138
139
140
141
142
143
variables:
- group: ch9-variables
- name: windowsImage
value: windows-2019
- name: macOSImage
value: macos-10.15
- name: linuxImage
value: ubuntu-18.04
- name: ApplicationOutputPath
value: $(Build.ArtifactStagingDirectory)
- name: PackageOutputPath
value: $(Build.ArtifactStagingDirectory)
- name: IsCanaryBranch
value: $[startsWith(variables['Build.SourceBranch'], 'refs/heads/canaries/')]
- name: IsFeatureBranch
value: $[startsWith(variables['Build.SourceBranch'], 'refs/heads/feature/')]
- name: IsReleaseBranch
value: $[or(eq(variables['Build.SourceBranch'], 'refs/heads/master'), startsWith(variables['Build.SourceBranch'], 'refs/heads/RC/'))]
trigger:
branches:
include:
- master
pr:
branches:
include:
- master
stages:
- stage: Build
jobs:
- job: Windows
pool:
vmImage: $(windowsImage)
strategy:
matrix:
Android:
ApplicationConfiguration: Release_Android
ApplicationPlatform: Any CPU
BuildForPlayStore: False
BuildNumberOffset: 400050
Android_PlayStore:
ApplicationConfiguration: Release_Android
ApplicationPlatform: Any CPU
BuildForPlayStore: True
BuildNumberOffset: 400050
UWP:
ApplicationConfiguration: Release_UWP
ApplicationPlatform: x64
BuildNumberOffset: 50
maxParallel: 3
steps:
- template: build/steps-build.yml
- job: macOS
pool:
vmImage: $(macOSImage)
strategy:
matrix:
iOS:
ApplicationConfiguration: Release_iOS
ApplicationPlatform: Any CPU
BuildNumberOffset: 50
macOS:
ApplicationConfiguration: Release_MACOS
ApplicationPlatform: Any CPU
BuildNumberOffset: 50
maxParallel: 2
steps:
- task: InstallAppleCertificate@2
displayName: Install Certificate
inputs:
certSecureFile: nventive.p12
certPwd: '$(AppleCertificatePassword)'
deleteCert: true
- task: InstallAppleProvisioningProfile@1
displayName: Install Provisioning Profile
inputs:
provProfileSecureFile: Ch9.mobileprovision
- template: build/steps-build.yml
- job: Linux
pool:
vmImage: $(linuxImage)
container: unoplatform/wasm-build:2.2
variables:
BuildNumberOffset: 50
steps:
- template: build/steps-build-wasm.yml
- ${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/heads/canaries/')) }}:
- stage: Release_AppCenter
condition: and(succeeded(), or(eq(variables['IsReleaseBranch'], 'true'), eq(variables['IsFeatureBranch'], 'true')))
dependsOn: Build
jobs:
- template: build/steps-release-appcenter.yml
- ${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/heads/canaries/')) }}:
- stage: Release_WASM
condition: and(succeeded(), or(eq(variables['IsReleaseBranch'], 'true'), eq(variables['IsFeatureBranch'], 'true')))
dependsOn: Build
jobs:
- template: build/steps-release-wasm.yml
- ${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/heads/canaries/')) }}:
- stage: Release_TestFlight
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'))
dependsOn: Build
jobs:
- template: build/steps-release-testflight.yml
- ${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/heads/canaries/')) }}:
- stage: Release_PlayStore
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'))
dependsOn: Build
jobs:
- template: build/steps-release-playstore.yml