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,13 @@ 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
+ libltdl-dev:arm64 \
139
+ python3-jinja2
140
+
113
141
- name : Install dependencies for unit testing
114
142
if : success() && matrix.type == 'unit-test'
115
143
run : |
@@ -148,55 +176,55 @@ jobs:
148
176
if : success() && matrix.type == 'libs'
149
177
run : |
150
178
./configure --disable-server --disable-client --disable-manager --enable-boinczip
151
- make
179
+ make -j $(nproc --all)
152
180
153
181
- name : Build client
154
182
if : success() && matrix.type == 'client'
155
183
run : |
156
184
./configure --disable-server --enable-client --disable-manager
157
- make
185
+ make -j $(nproc --all)
158
186
159
187
- name : Build apps
160
188
if : success() && matrix.type == 'apps'
161
189
run : |
162
190
./configure --enable-apps --enable-apps-vbox --enable-apps-gui --disable-server --disable-client --disable-manager
163
- make
191
+ make -j $(nproc --all)
164
192
165
193
- name : Build manager
166
194
if : success() && matrix.type == 'manager'
167
195
run : |
168
196
./configure --disable-server --disable-client --enable-manager
169
- make
197
+ make -j $(nproc --all)
170
198
171
199
- name : Build libs with vcpkg
172
200
if : success() && matrix.type == 'libs-vcpkg'
173
201
run : |
174
- linux/ci_configure_libs.sh
175
- make
202
+ . ./ linux/ci_configure_libs.sh
203
+ make -j $(nproc --all)
176
204
177
205
- name : Build client with vcpkg
178
206
if : success() && matrix.type == 'client-vcpkg'
179
207
run : |
180
- linux/ci_configure_client.sh
181
- make
208
+ . ./ linux/ci_configure_client.sh
209
+ make -j $(nproc --all)
182
210
183
211
- name : Build apps with vcpkg
184
212
if : success() && matrix.type == 'apps-vcpkg'
185
213
run : |
186
- linux/ci_configure_apps.sh
187
- make
214
+ . ./ linux/ci_configure_apps.sh
215
+ make -j $(nproc --all)
188
216
189
217
- name : Build libs with cmake vcpkg
190
218
if : success() && matrix.type == 'libs-cmake'
191
219
run : |
192
- linux/ci_configure_libs_cmake.sh
220
+ . ./ linux/ci_configure_libs_cmake.sh
193
221
cmake --build build
194
222
195
223
- name : Build manager with webview and vcpkg
196
224
if : success() && matrix.type == 'manager-with-webview-vcpkg'
197
225
run : |
198
- linux/ci_configure_manager.sh
199
- make
226
+ . ./ linux/ci_configure_manager.sh
227
+ make -j $(nproc --all)
200
228
201
229
- name : Build server
202
230
if : success() && matrix.type == 'server'
@@ -209,14 +237,14 @@ jobs:
209
237
run : |
210
238
./3rdParty/buildLinuxDependencies.sh
211
239
./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
212
- make
240
+ make -j $(nproc --all)
213
241
214
242
- name : Build manager without webview
215
243
if : success() && matrix.type == 'manager-without-webview'
216
244
run : |
217
245
./3rdParty/buildLinuxDependencies.sh --disable-webview
218
246
./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
219
- make
247
+ make -j $(nproc --all)
220
248
221
249
- name : Build server for unit testing
222
250
if : success() && matrix.type == 'unit-test'
@@ -227,26 +255,26 @@ jobs:
227
255
- name : Build libraries for arm64 with vcpkg
228
256
if : success() && matrix.type == 'libs-vcpkg-arm64'
229
257
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
- ./linux/arm64/ci_configure_libs.sh
237
- make
258
+ . ./linux/arm64/ci_configure_libs.sh
259
+ make -j $(nproc --all)
238
260
239
261
- name : Build apps for arm64 with vcpkg
240
262
if : success() && matrix.type == 'apps-vcpkg-arm64'
241
263
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
- ./linux/arm64/ci_configure_apps.sh
249
- make
264
+ . ./linux/arm64/ci_configure_apps.sh
265
+ make -j $(nproc --all)
266
+
267
+ - name : Build client for arm64 with vcpkg
268
+ if : success() && matrix.type == 'client-vcpkg-arm64'
269
+ run : |
270
+ . ./linux/arm64/ci_configure_client.sh
271
+ make -j $(nproc --all)
272
+
273
+ - name : Build manager with webview for arm64 with vcpkg
274
+ if : success() && matrix.type == 'manager-with-webview-vcpkg-arm64'
275
+ run : |
276
+ . ./linux/arm64/ci_configure_manager.sh
277
+ make -j $(nproc --all)
250
278
251
279
- name : Build libraries for arm64
252
280
if : success() && matrix.type == 'libs-arm64'
@@ -260,7 +288,7 @@ jobs:
260
288
export RELEASE_ARCH=arm64
261
289
export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
262
290
./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
291
+ make -j $(nproc --all)
264
292
265
293
- name : Build apps for arm64
266
294
if : success() && matrix.type == 'apps-arm64'
@@ -274,7 +302,7 @@ jobs:
274
302
export RELEASE_ARCH=arm64
275
303
export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
276
304
./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
305
+ make -j $(nproc --all)
278
306
279
307
- name : Prepare for coverity scan
280
308
if : success() && matrix.type == 'coverity' && github.ref == 'refs/heads/master' && github.event_name == 'schedule'
@@ -392,7 +420,7 @@ jobs:
392
420
export LDFLAGS="-static-libstdc++ -s"
393
421
export RELEASE_ARCH=x86_64
394
422
./configure --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
395
- make
423
+ make -j $(nproc --all)
396
424
397
425
- name : Make x86 apps
398
426
if : success() && matrix.type == 'apps-x86'
@@ -402,7 +430,7 @@ jobs:
402
430
export LDFLAGS="-static-libstdc++ -s -m32"
403
431
export RELEASE_ARCH=i686
404
432
./configure --host=i686-linux-gnu --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
405
- make
433
+ make -j $(nproc --all)
406
434
407
435
- name : Make arm64 apps
408
436
if : success() && matrix.type == 'apps-arm64'
@@ -416,7 +444,7 @@ jobs:
416
444
export RELEASE_ARCH=arm64
417
445
export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
418
446
./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
447
+ make -j $(nproc --all)
420
448
421
449
- name : Prepare logs on failure
422
450
if : ${{ failure() }}
0 commit comments