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,12 @@ 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+ python3-jinja2
139+
113140 - name : Install dependencies for unit testing
114141 if : success() && matrix.type == 'unit-test'
115142 run : |
@@ -148,55 +175,55 @@ jobs:
148175 if : success() && matrix.type == 'libs'
149176 run : |
150177 ./configure --disable-server --disable-client --disable-manager --enable-boinczip
151- make
178+ make -j $(nproc --all)
152179
153180 - name : Build client
154181 if : success() && matrix.type == 'client'
155182 run : |
156183 ./configure --disable-server --enable-client --disable-manager
157- make
184+ make -j $(nproc --all)
158185
159186 - name : Build apps
160187 if : success() && matrix.type == 'apps'
161188 run : |
162189 ./configure --enable-apps --enable-apps-vbox --enable-apps-gui --disable-server --disable-client --disable-manager
163- make
190+ make -j $(nproc --all)
164191
165192 - name : Build manager
166193 if : success() && matrix.type == 'manager'
167194 run : |
168195 ./configure --disable-server --disable-client --enable-manager
169- make
196+ make -j $(nproc --all)
170197
171198 - name : Build libs with vcpkg
172199 if : success() && matrix.type == 'libs-vcpkg'
173200 run : |
174- linux/ci_configure_libs.sh
175- make
201+ . ./ linux/ci_configure_libs.sh
202+ make -j $(nproc --all)
176203
177204 - name : Build client with vcpkg
178205 if : success() && matrix.type == 'client-vcpkg'
179206 run : |
180- linux/ci_configure_client.sh
181- make
207+ . ./ linux/ci_configure_client.sh
208+ make -j $(nproc --all)
182209
183210 - name : Build apps with vcpkg
184211 if : success() && matrix.type == 'apps-vcpkg'
185212 run : |
186- linux/ci_configure_apps.sh
187- make
213+ . ./ linux/ci_configure_apps.sh
214+ make -j $(nproc --all)
188215
189216 - name : Build libs with cmake vcpkg
190217 if : success() && matrix.type == 'libs-cmake'
191218 run : |
192- linux/ci_configure_libs_cmake.sh
219+ . ./ linux/ci_configure_libs_cmake.sh
193220 cmake --build build
194221
195222 - name : Build manager with webview and vcpkg
196223 if : success() && matrix.type == 'manager-with-webview-vcpkg'
197224 run : |
198- linux/ci_configure_manager.sh
199- make
225+ . ./ linux/ci_configure_manager.sh
226+ make -j $(nproc --all)
200227
201228 - name : Build server
202229 if : success() && matrix.type == 'server'
@@ -209,14 +236,14 @@ jobs:
209236 run : |
210237 ./3rdParty/buildLinuxDependencies.sh
211238 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
212- make
239+ make -j $(nproc --all)
213240
214241 - name : Build manager without webview
215242 if : success() && matrix.type == 'manager-without-webview'
216243 run : |
217244 ./3rdParty/buildLinuxDependencies.sh --disable-webview
218245 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
219- make
246+ make -j $(nproc --all)
220247
221248 - name : Build server for unit testing
222249 if : success() && matrix.type == 'unit-test'
@@ -227,26 +254,26 @@ jobs:
227254 - name : Build libraries for arm64 with vcpkg
228255 if : success() && matrix.type == 'libs-vcpkg-arm64'
229256 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
257+ . ./linux/arm64/ci_configure_libs.sh
258+ make -j $(nproc --all)
238259
239260 - name : Build apps for arm64 with vcpkg
240261 if : success() && matrix.type == 'apps-vcpkg-arm64'
241262 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
263+ . ./linux/arm64/ci_configure_apps.sh
264+ make -j $(nproc --all)
265+
266+ - name : Build client for arm64 with vcpkg
267+ if : success() && matrix.type == 'client-vcpkg-arm64'
268+ run : |
269+ . ./linux/arm64/ci_configure_client.sh
270+ make -j $(nproc --all)
271+
272+ - name : Build manager with webview for arm64 with vcpkg
273+ if : success() && matrix.type == 'manager-with-webview-vcpkg-arm64'
274+ run : |
275+ . ./linux/arm64/ci_configure_manager.sh
276+ make -j $(nproc --all)
250277
251278 - name : Build libraries for arm64
252279 if : success() && matrix.type == 'libs-arm64'
@@ -260,7 +287,7 @@ jobs:
260287 export RELEASE_ARCH=arm64
261288 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
262289 ./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
290+ make -j $(nproc --all)
264291
265292 - name : Build apps for arm64
266293 if : success() && matrix.type == 'apps-arm64'
@@ -274,7 +301,7 @@ jobs:
274301 export RELEASE_ARCH=arm64
275302 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
276303 ./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
304+ make -j $(nproc --all)
278305
279306 - name : Prepare for coverity scan
280307 if : success() && matrix.type == 'coverity' && github.ref == 'refs/heads/master' && github.event_name == 'schedule'
@@ -392,7 +419,7 @@ jobs:
392419 export LDFLAGS="-static-libstdc++ -s"
393420 export RELEASE_ARCH=x86_64
394421 ./configure --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
395- make
422+ make -j $(nproc --all)
396423
397424 - name : Make x86 apps
398425 if : success() && matrix.type == 'apps-x86'
@@ -402,7 +429,7 @@ jobs:
402429 export LDFLAGS="-static-libstdc++ -s -m32"
403430 export RELEASE_ARCH=i686
404431 ./configure --host=i686-linux-gnu --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
405- make
432+ make -j $(nproc --all)
406433
407434 - name : Make arm64 apps
408435 if : success() && matrix.type == 'apps-arm64'
@@ -416,7 +443,7 @@ jobs:
416443 export RELEASE_ARCH=arm64
417444 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
418445 ./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
446+ make -j $(nproc --all)
420447
421448 - name : Prepare logs on failure
422449 if : ${{ failure() }}
0 commit comments