-
Notifications
You must be signed in to change notification settings - Fork 0
/
azure-pipelines.yml
143 lines (141 loc) · 4.9 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
trigger:
batch: true
branches:
include:
- master
schedules:
- cron: "0 7 * * Mon-Sat"
displayName: M-S 7:00 AM (UTC) daily build
branches:
include:
- master
always: true
jobs:
- job: CheckReleaseStatus
displayName: "Determines what builds are necessary."
steps:
- task: PowerShell@2
name: release_status
displayName: "Checks release status between stable and published"
inputs:
filePath: "scripts/checkReleaseStatus.ps1"
- job: Build_VS2019
displayName: "Build v8 on Windows"
dependsOn: CheckReleaseStatus
condition: and(succeeded(), eq(dependencies.CheckReleaseStatus.outputs['release_status.build_windows'], 'true'))
variables:
V8_VERSION_WINDOWS: $[ dependencies.CheckReleaseStatus.outputs['release_status.V8_VERSION_WINDOWS'] ]
STATIC: 'false'
pool: devops-builds
strategy:
matrix:
x86:
CONFIGURATION: 'ia32.release'
x64:
CONFIGURATION: 'x64.release'
steps:
- template: templates/windows-sh-build-steps.yml
- job: Build_VS2019_STATIC
displayName: "Build v8 static on Windows"
dependsOn: CheckReleaseStatus
condition: and(succeeded(), eq(dependencies.CheckReleaseStatus.outputs['release_status.build_windows_static'], 'true'))
variables:
V8_VERSION_WINDOWS: $[ dependencies.CheckReleaseStatus.outputs['release_status.V8_VERSION_WINDOWS_STATIC'] ]
STATIC: $[ dependencies.CheckReleaseStatus.outputs['release_status.build_windows_static'] ]
CONFIGURATION: 'x64.release'
pool: devops-builds
steps:
- template: templates/windows-sh-build-steps.yml
- job: Build_macOS
displayName: "Build v8 on macOS"
dependsOn: CheckReleaseStatus
condition: and(succeeded(), eq(dependencies.CheckReleaseStatus.outputs['release_status.build_macOS'], 'true'))
variables:
V8_VERSION_MACOS: $[ dependencies.CheckReleaseStatus.outputs['release_status.V8_VERSION_MACOS'] ]
pool:
vmImage: 'macOS-10.14'
strategy:
matrix:
x64:
CONFIGURATION: 'x64.release'
steps:
- task: NuGetToolInstaller@0
displayName: "Ensure a recent version of NuGet"
inputs:
versionSpec: '4.9.x'
- task: PowerShell@2
displayName: "Initialize v8 build environment"
inputs:
filePath: "scripts/macOS/macOS-build-v8-1.ps1"
- task: PowerShell@2
displayName: "Fetch v8 from source for the specified version"
inputs:
filePath: "scripts/macOS/macOS-build-v8-2.ps1"
arguments: "-V8_VERSION $(V8_VERSION_MACOS)"
- task: PowerShell@2
displayName: "Build v8 according to specified configuration"
inputs:
filePath: "scripts/macOS/macOS-build-v8-3.ps1"
- task: PowerShell@2
displayName: "Generate NuGet .nuspec files according to specified configuration"
inputs:
filePath: "scripts/macOS/macOS-build-v8-4.ps1"
- task: NuGetCommand@2
displayName: "Create NuGet Packages"
inputs:
command: pack
packagesToPack: "*.nuspec"
- task: NuGetCommand@2
displayName: "Push NuGet Packages to NuGet Feed"
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'nuget.org'
- job: Build_ubuntu
displayName: "Build v8 on Ubuntu"
dependsOn: CheckReleaseStatus
condition: and(succeeded(), eq(dependencies.CheckReleaseStatus.outputs['release_status.build_ubuntu'], 'true'))
variables:
V8_VERSION_UBUNTU: $[ dependencies.CheckReleaseStatus.outputs['release_status.V8_VERSION_UBUNTU'] ]
pool:
vmImage: 'ubuntu-16.04'
strategy:
matrix:
x64:
CONFIGURATION: 'x64.release'
steps:
- task: NuGetToolInstaller@0
displayName: "Ensure a recent version of NuGet"
inputs:
versionSpec: '4.9.x'
- task: PowerShell@2
displayName: "Initialize v8 build environment"
inputs:
filePath: "scripts/ubuntu/ubuntu-build-v8-1.ps1"
- task: PowerShell@2
displayName: "Fetch v8 from source for the specified version"
inputs:
filePath: "scripts/ubuntu/ubuntu-build-v8-2.ps1"
arguments: "-V8_VERSION $(V8_VERSION_UBUNTU)"
errorActionPreference: continue
ignoreLASTEXITCODE: true
continueOnError: true # As of 7.5.288.23, Azure DevOps fails to start PHP-FPM as installed as part of Chromium build tools.
- task: PowerShell@2
displayName: "Build v8 according to specified configuration"
inputs:
filePath: "scripts/ubuntu/ubuntu-build-v8-3.ps1"
- task: PowerShell@2
displayName: "Generate NuGet .nuspec files according to specified configuration"
inputs:
filePath: "scripts/ubuntu/ubuntu-build-v8-4.ps1"
- task: NuGetCommand@2
displayName: "Create NuGet Packages"
inputs:
command: pack
packagesToPack: "*.nuspec"
- task: NuGetCommand@2
displayName: "Push NuGet Packages to NuGet Feed"
inputs:
command: push
nuGetFeedType: external
publishFeedCredentials: 'nuget.org'