4040 runs-on : ubuntu-latest
4141 strategy :
4242 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
4465 fail-fast : false
4566 steps :
4667 - uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
@@ -110,6 +131,13 @@ jobs:
110131 libssl-dev:arm64 \
111132 libzip-dev:arm64
112133
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+
113141 - name : Install dependencies for unit testing
114142 if : success() && matrix.type == 'unit-test'
115143 run : |
@@ -148,55 +176,55 @@ jobs:
148176 if : success() && matrix.type == 'libs'
149177 run : |
150178 ./configure --disable-server --disable-client --disable-manager --enable-boinczip
151- make
179+ make -j $(nproc --all)
152180
153181 - name : Build client
154182 if : success() && matrix.type == 'client'
155183 run : |
156184 ./configure --disable-server --enable-client --disable-manager
157- make
185+ make -j $(nproc --all)
158186
159187 - name : Build apps
160188 if : success() && matrix.type == 'apps'
161189 run : |
162190 ./configure --enable-apps --enable-apps-vbox --enable-apps-gui --disable-server --disable-client --disable-manager
163- make
191+ make -j $(nproc --all)
164192
165193 - name : Build manager
166194 if : success() && matrix.type == 'manager'
167195 run : |
168196 ./configure --disable-server --disable-client --enable-manager
169- make
197+ make -j $(nproc --all)
170198
171199 - name : Build libs with vcpkg
172200 if : success() && matrix.type == 'libs-vcpkg'
173201 run : |
174- linux/ci_configure_libs.sh
175- make
202+ . ./ linux/ci_configure_libs.sh
203+ make -j $(nproc --all)
176204
177205 - name : Build client with vcpkg
178206 if : success() && matrix.type == 'client-vcpkg'
179207 run : |
180- linux/ci_configure_client.sh
181- make
208+ . ./ linux/ci_configure_client.sh
209+ make -j $(nproc --all)
182210
183211 - name : Build apps with vcpkg
184212 if : success() && matrix.type == 'apps-vcpkg'
185213 run : |
186- linux/ci_configure_apps.sh
187- make
214+ . ./ linux/ci_configure_apps.sh
215+ make -j $(nproc --all)
188216
189217 - name : Build libs with cmake vcpkg
190218 if : success() && matrix.type == 'libs-cmake'
191219 run : |
192- linux/ci_configure_libs_cmake.sh
220+ . ./ linux/ci_configure_libs_cmake.sh
193221 cmake --build build
194222
195223 - name : Build manager with webview and vcpkg
196224 if : success() && matrix.type == 'manager-with-webview-vcpkg'
197225 run : |
198- linux/ci_configure_manager.sh
199- make
226+ . ./ linux/ci_configure_manager.sh
227+ make -j $(nproc --all)
200228
201229 - name : Build server
202230 if : success() && matrix.type == 'server'
@@ -209,14 +237,14 @@ jobs:
209237 run : |
210238 ./3rdParty/buildLinuxDependencies.sh
211239 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
212- make
240+ make -j $(nproc --all)
213241
214242 - name : Build manager without webview
215243 if : success() && matrix.type == 'manager-without-webview'
216244 run : |
217245 ./3rdParty/buildLinuxDependencies.sh --disable-webview
218246 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
219- make
247+ make -j $(nproc --all)
220248
221249 - name : Build server for unit testing
222250 if : success() && matrix.type == 'unit-test'
@@ -227,26 +255,26 @@ jobs:
227255 - name : Build libraries for arm64 with vcpkg
228256 if : success() && matrix.type == 'libs-vcpkg-arm64'
229257 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)
238260
239261 - name : Build apps for arm64 with vcpkg
240262 if : success() && matrix.type == 'apps-vcpkg-arm64'
241263 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)
250278
251279 - name : Build libraries for arm64
252280 if : success() && matrix.type == 'libs-arm64'
@@ -260,7 +288,7 @@ jobs:
260288 export RELEASE_ARCH=arm64
261289 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
262290 ./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)
264292
265293 - name : Build apps for arm64
266294 if : success() && matrix.type == 'apps-arm64'
@@ -274,7 +302,7 @@ jobs:
274302 export RELEASE_ARCH=arm64
275303 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
276304 ./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)
278306
279307 - name : Prepare for coverity scan
280308 if : success() && matrix.type == 'coverity' && github.ref == 'refs/heads/master' && github.event_name == 'schedule'
@@ -392,7 +420,7 @@ jobs:
392420 export LDFLAGS="-static-libstdc++ -s"
393421 export RELEASE_ARCH=x86_64
394422 ./configure --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
395- make
423+ make -j $(nproc --all)
396424
397425 - name : Make x86 apps
398426 if : success() && matrix.type == 'apps-x86'
@@ -402,7 +430,7 @@ jobs:
402430 export LDFLAGS="-static-libstdc++ -s -m32"
403431 export RELEASE_ARCH=i686
404432 ./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)
406434
407435 - name : Make arm64 apps
408436 if : success() && matrix.type == 'apps-arm64'
@@ -416,7 +444,7 @@ jobs:
416444 export RELEASE_ARCH=arm64
417445 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
418446 ./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)
420448
421449 - name : Prepare logs on failure
422450 if : ${{ failure() }}
0 commit comments