40
40
runs-on : ubuntu-latest
41
41
strategy :
42
42
matrix :
43
- type : [libs, client, apps, manager, libs-vcpkg, client-vcpkg, apps-vcpkg, libs-cmake, libs-arm64, apps-arm64, libs-vcpkg-arm64, apps-vcpkg-arm64, manager-with-webview-vcpkg, server, manager-with-webview, manager-without-webview, unit-test, integration-test, coverity]
43
+ type :
44
+ - apps
45
+ - apps-arm64
46
+ - apps-vcpkg
47
+ - apps-vcpkg-arm64
48
+ - client
49
+ - client-vcpkg
50
+ - client-vcpkg-arm64
51
+ - coverity
52
+ - integration-test
53
+ - libs
54
+ - libs-arm64
55
+ - libs-cmake
56
+ - libs-vcpkg
57
+ - libs-vcpkg-arm64
58
+ - manager
59
+ - manager-with-webview
60
+ - manager-with-webview-vcpkg
61
+ - manager-with-webview-vcpkg-arm64
62
+ - manager-without-webview
63
+ - server
64
+ - unit-test
44
65
fail-fast : false
45
66
steps :
46
67
- uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
@@ -110,6 +131,19 @@ jobs:
110
131
libssl-dev:arm64 \
111
132
libzip-dev:arm64
112
133
134
+ - name : Install dependencies for client and manager arm64 vcpkg
135
+ if : success() && matrix.type == 'manager-with-webview-vcpkg-arm64'
136
+ run : |
137
+ sudo apt install -y \
138
+ libx11-dev:arm64 \
139
+ libxft-dev:arm64 \
140
+ libxext-dev:arm64 \
141
+ libdbus-1-dev:arm64 \
142
+ libxi-dev:arm64 \
143
+ libxtst-dev:arm64 \
144
+ libxrandr-dev:arm64 \
145
+ libx11-xcb-dev:arm64
146
+
113
147
- name : Install dependencies for unit testing
114
148
if : success() && matrix.type == 'unit-test'
115
149
run : |
@@ -148,43 +182,43 @@ jobs:
148
182
if : success() && matrix.type == 'libs'
149
183
run : |
150
184
./configure --disable-server --disable-client --disable-manager --enable-boinczip
151
- make
185
+ make -j $(nproc --all)
152
186
153
187
- name : Build client
154
188
if : success() && matrix.type == 'client'
155
189
run : |
156
190
./configure --disable-server --enable-client --disable-manager
157
- make
191
+ make -j $(nproc --all)
158
192
159
193
- name : Build apps
160
194
if : success() && matrix.type == 'apps'
161
195
run : |
162
196
./configure --enable-apps --enable-apps-vbox --enable-apps-gui --disable-server --disable-client --disable-manager
163
- make
197
+ make -j $(nproc --all)
164
198
165
199
- name : Build manager
166
200
if : success() && matrix.type == 'manager'
167
201
run : |
168
202
./configure --disable-server --disable-client --enable-manager
169
- make
203
+ make -j $(nproc --all)
170
204
171
205
- name : Build libs with vcpkg
172
206
if : success() && matrix.type == 'libs-vcpkg'
173
207
run : |
174
208
linux/ci_configure_libs.sh
175
- make
209
+ make -j $(nproc --all)
176
210
177
211
- name : Build client with vcpkg
178
212
if : success() && matrix.type == 'client-vcpkg'
179
213
run : |
180
214
linux/ci_configure_client.sh
181
- make
215
+ make -j $(nproc --all)
182
216
183
217
- name : Build apps with vcpkg
184
218
if : success() && matrix.type == 'apps-vcpkg'
185
219
run : |
186
220
linux/ci_configure_apps.sh
187
- make
221
+ make -j $(nproc --all)
188
222
189
223
- name : Build libs with cmake vcpkg
190
224
if : success() && matrix.type == 'libs-cmake'
@@ -196,7 +230,7 @@ jobs:
196
230
if : success() && matrix.type == 'manager-with-webview-vcpkg'
197
231
run : |
198
232
linux/ci_configure_manager.sh
199
- make
233
+ make -j $(nproc --all)
200
234
201
235
- name : Build server
202
236
if : success() && matrix.type == 'server'
@@ -209,14 +243,14 @@ jobs:
209
243
run : |
210
244
./3rdParty/buildLinuxDependencies.sh
211
245
./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
212
- make
246
+ make -j $(nproc --all)
213
247
214
248
- name : Build manager without webview
215
249
if : success() && matrix.type == 'manager-without-webview'
216
250
run : |
217
251
./3rdParty/buildLinuxDependencies.sh --disable-webview
218
252
./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
219
- make
253
+ make -j $(nproc --all)
220
254
221
255
- name : Build server for unit testing
222
256
if : success() && matrix.type == 'unit-test'
@@ -227,26 +261,26 @@ jobs:
227
261
- name : Build libraries for arm64 with vcpkg
228
262
if : success() && matrix.type == 'libs-vcpkg-arm64'
229
263
run : |
230
- export CC=aarch64-linux-gnu-gcc
231
- export CXX=aarch64-linux-gnu-g++
232
- BUILD_DIR="$PWD/3rdParty/linux"
233
- VCPKG_ROOT="$BUILD_DIR/vcpkg"
234
- export VCPKG_DIR="$VCPKG_ROOT/installed/arm64-linux-release"
235
- export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/"
236
264
./linux/arm64/ci_configure_libs.sh
237
- make
265
+ make -j $(nproc --all)
238
266
239
267
- name : Build apps for arm64 with vcpkg
240
268
if : success() && matrix.type == 'apps-vcpkg-arm64'
241
269
run : |
242
- export CC=aarch64-linux-gnu-gcc
243
- export CXX=aarch64-linux-gnu-g++
244
- BUILD_DIR="$PWD/3rdParty/linux"
245
- VCPKG_ROOT="$BUILD_DIR/vcpkg"
246
- export VCPKG_DIR="$VCPKG_ROOT/installed/arm64-linux-release"
247
- export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/"
248
270
./linux/arm64/ci_configure_apps.sh
249
- make
271
+ make -j $(nproc --all)
272
+
273
+ - name : Build client for arm64 with vcpkg
274
+ if : success() && matrix.type == 'client-vcpkg-arm64'
275
+ run : |
276
+ ./linux/arm64/ci_configure_client.sh
277
+ make -j $(nproc --all)
278
+
279
+ - name : Build manager with webview for arm64 with vcpkg
280
+ if : success() && matrix.type == 'manager-with-webview-vcpkg-arm64'
281
+ run : |
282
+ ./linux/arm64/ci_configure_manager.sh
283
+ make -j $(nproc --all)
250
284
251
285
- name : Build libraries for arm64
252
286
if : success() && matrix.type == 'libs-arm64'
@@ -260,7 +294,7 @@ jobs:
260
294
export RELEASE_ARCH=arm64
261
295
export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
262
296
./configure --host=aarch64-linux --with-boinc-platform="aarch64-unknown-linux-gnu" --with-boinc-alt-platform="arm-unknown-linux-gnueabihf" --enable-boinczip --disable-server --disable-manager --disable-client --disable-shared --enable-static
263
- make
297
+ make -j $(nproc --all)
264
298
265
299
- name : Build apps for arm64
266
300
if : success() && matrix.type == 'apps-arm64'
@@ -274,7 +308,7 @@ jobs:
274
308
export RELEASE_ARCH=arm64
275
309
export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
276
310
./configure --host=aarch64-linux --with-boinc-platform="aarch64-unknown-linux-gnu" --with-boinc-alt-platform="arm-unknown-linux-gnueabihf" --enable-apps --disable-server --disable-manager --disable-client --disable-shared --enable-static
277
- make
311
+ make -j $(nproc --all)
278
312
279
313
- name : Prepare for coverity scan
280
314
if : success() && matrix.type == 'coverity' && github.ref == 'refs/heads/master' && github.event_name == 'schedule'
@@ -392,7 +426,7 @@ jobs:
392
426
export LDFLAGS="-static-libstdc++ -s"
393
427
export RELEASE_ARCH=x86_64
394
428
./configure --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
395
- make
429
+ make -j $(nproc --all)
396
430
397
431
- name : Make x86 apps
398
432
if : success() && matrix.type == 'apps-x86'
@@ -402,7 +436,7 @@ jobs:
402
436
export LDFLAGS="-static-libstdc++ -s -m32"
403
437
export RELEASE_ARCH=i686
404
438
./configure --host=i686-linux-gnu --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
405
- make
439
+ make -j $(nproc --all)
406
440
407
441
- name : Make arm64 apps
408
442
if : success() && matrix.type == 'apps-arm64'
@@ -416,7 +450,7 @@ jobs:
416
450
export RELEASE_ARCH=arm64
417
451
export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
418
452
./configure --host=aarch64-linux --with-boinc-platform="aarch64-unknown-linux-gnu" --with-boinc-alt-platform="arm-unknown-linux-gnueabihf" --enable-apps --disable-server --disable-manager --disable-client --disable-shared --enable-static
419
- make
453
+ make -j $(nproc --all)
420
454
421
455
- name : Prepare logs on failure
422
456
if : ${{ failure() }}
0 commit comments