forked from wkhtmltopdf/packaging
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.azure-pipelines.yml
230 lines (228 loc) · 6.67 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
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# variables used in the build
variables:
checkout: master
packaging_tag: 0.12.7-dev
iteration: '1'
pre_release: true
draft: true
# package builds will always be manually triggered
trigger: none
jobs:
- job: 'docker'
pool:
vmImage: 'ubuntu-18.04'
strategy:
matrix:
# 64-bit x86
buster_amd64:
target: buster-amd64
stretch_amd64:
target: stretch-amd64
focal_amd64:
target: focal-amd64
bionic_amd64:
target: bionic-amd64
xenial_amd64:
target: xenial-amd64
centos8_x86_64:
target: centos8-x86_64
centos7_x86_64:
target: centos7-x86_64
centos6_x86_64:
target: centos6-x86_64
amazonlinux2_x86_64:
target: amazonlinux2-x86_64
opensuse_leap15_x86_64:
target: opensuse.leap15-x86_64
archlinux_amd64:
target: archlinux-amd64
mxe_win32:
target: mxe-cross-win32
mxe_win64:
target: mxe-cross-win64
# 32-bit x86
bionic_i386:
target: bionic-i386
buster_i386:
target: buster-i386
centos6_i686:
target: centos6-i686
centos7_i686:
target: centos7-i686
stretch_i386:
target: stretch-i386
xenial_i386:
target: xenial-i386
# 64-bit ARM
amazonlinux2_aarch64:
target: amazonlinux2-aarch64
bionic_arm64:
target: bionic-arm64
buster_arm64:
target: buster-arm64
centos7_aarch64:
target: centos7-aarch64
centos8_aarch64:
target: centos8-aarch64
focal_arm64:
target: focal-arm64
opensuse_leap15_aarch64:
target: opensuse.leap15-aarch64
stretch_arm64:
target: stretch-arm64
xenial_arm64:
target: xenial-arm64
# 32-bit ARM
stretch_raspberrypi:
target: raspberrypi.stretch-armhf
# PPC
bionic_ppc64le:
target: bionic-ppc64le
buster_ppc64le:
target: buster-ppc64le
centos7_ppc64le:
target: centos7-ppc64le
focal_ppc64le:
target: focal-ppc64le
opensuse_leap15_ppc64le:
target: opensuse.leap15-ppc64le
timeoutInMinutes: 0
steps:
- script: |
echo '{ "experimental": true }' | sudo tee /etc/docker/daemon.json
sudo systemctl restart docker
python build docker-images $(target)
displayName: 'setup build environment'
- script: |
git clone --recurse-submodules https://github.com/wkhtmltopdf/wkhtmltopdf.git
cd wkhtmltopdf && git checkout $(checkout) && git submodule update
displayName: 'clone wkhtmltopdf'
- script: python build package-docker --clean --iteration $(iteration) $(target) wkhtmltopdf
displayName: 'build package'
- task: GithubRelease@0
displayName: 'upload package'
inputs:
gitHubConnection: github_ashkulz
repositoryName: wkhtmltopdf/packaging
action: edit
target: '$(Build.SourceVersion)'
tagSource: manual
tag: '$(packaging_tag)'
isDraft: '$(draft)'
isPreRelease: '$(pre_release)'
addChangeLog: false
assetUploadMode: replace
assets: |
targets/*.deb
targets/*.rpm
targets/*.7z
targets/*.xz
- job: 'self_hosted'
pool:
name: 'docker'
strategy:
matrix:
buster_raspberrypi:
target: raspberrypi.buster-armhf
centos8_ppc64le:
target: centos8-ppc64le
timeoutInMinutes: 0
steps:
- script: |
rm -fr wkhtmltopdf targets && git clone --recurse-submodules https://github.com/wkhtmltopdf/wkhtmltopdf.git
cd wkhtmltopdf && git checkout $(checkout) && git submodule update
displayName: 'clone wkhtmltopdf'
- script: python build package-docker --clean --iteration $(iteration) $(target) wkhtmltopdf
displayName: 'build package'
- task: GithubRelease@0
displayName: 'upload package'
inputs:
gitHubConnection: github_ashkulz
repositoryName: wkhtmltopdf/packaging
action: edit
target: '$(Build.SourceVersion)'
tagSource: manual
tag: '$(packaging_tag)'
isDraft: '$(draft)'
isPreRelease: '$(pre_release)'
addChangeLog: false
assetUploadMode: replace
assets: |
targets/*.deb
targets/*.rpm
targets/*.7z
- job: 'msvc2015'
pool:
vmImage: 'vs2017-win2016'
strategy:
matrix:
win64:
target: msvc2015-win64
win32:
target: msvc2015-win32
timeoutInMinutes: 0
steps:
- script: |
choco install -yr --no-progress vcbuildtools -ia "/Full"
pip install -q conan
cmd /c attrib "C:\Program Files (x86)\Windows Kits\10\include\wdf" +H
displayName: 'install dependencies'
- script: |
git clone --recurse-submodules https://github.com/wkhtmltopdf/wkhtmltopdf.git
cd wkhtmltopdf && git checkout $(checkout) && git submodule update
displayName: 'clone wkhtmltopdf'
- script: python build vagrant $(target) --version - - --iteration $(iteration) wkhtmltopdf
displayName: 'build package'
- task: GithubRelease@0
displayName: 'upload package'
inputs:
gitHubConnection: github_ashkulz
repositoryName: wkhtmltopdf/packaging
action: edit
target: '$(Build.SourceVersion)'
tagSource: manual
tag: '$(packaging_tag)'
isDraft: '$(draft)'
isPreRelease: '$(pre_release)'
addChangeLog: false
assetUploadMode: replace
assets: |
*.exe
- job: 'macos'
pool:
vmImage: 'macOS-10.15'
strategy:
matrix:
cocoa:
target: macos-cocoa
timeoutInMinutes: 0
steps:
- script: |
brew install conan
pip3 install pyyaml
sudo gem install fpm
sudo xcode-select --switch /Library/Developer/CommandLineTools
displayName: 'install dependencies'
- script: |
git clone --recurse-submodules https://github.com/wkhtmltopdf/wkhtmltopdf.git
cd wkhtmltopdf && git checkout $(checkout) && git submodule update
sed -i -e 's/CFLAGS CXXFLAGS LDFLAGS/CFLAGS CXXFLAGS OBJECTIVE_CFLAGS LDFLAGS/g' qt/configure
sed -i -e 's/compiler.version=9.0/compiler.version=11.0/g' ../.conan/profiles/macos-cocoa
displayName: 'clone wkhtmltopdf'
- script: MACOSX_DEPLOYMENT_TARGET=10.7 python3 build vagrant $(target) --clean --version - - --iteration $(iteration) wkhtmltopdf
displayName: 'build package'
- task: GithubRelease@0
displayName: 'upload package'
inputs:
gitHubConnection: github_ashkulz
repositoryName: wkhtmltopdf/packaging
action: edit
target: '$(Build.SourceVersion)'
tagSource: manual
tag: '$(packaging_tag)'
isDraft: '$(draft)'
isPreRelease: '$(pre_release)'
addChangeLog: false
assetUploadMode: replace
assets: |
*.pkg