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,19 @@ 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+ 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+
113147 - name : Install dependencies for unit testing
114148 if : success() && matrix.type == 'unit-test'
115149 run : |
@@ -148,55 +182,55 @@ jobs:
148182 if : success() && matrix.type == 'libs'
149183 run : |
150184 ./configure --disable-server --disable-client --disable-manager --enable-boinczip
151- make
185+ make -j $(nproc --all)
152186
153187 - name : Build client
154188 if : success() && matrix.type == 'client'
155189 run : |
156190 ./configure --disable-server --enable-client --disable-manager
157- make
191+ make -j $(nproc --all)
158192
159193 - name : Build apps
160194 if : success() && matrix.type == 'apps'
161195 run : |
162196 ./configure --enable-apps --enable-apps-vbox --enable-apps-gui --disable-server --disable-client --disable-manager
163- make
197+ make -j $(nproc --all)
164198
165199 - name : Build manager
166200 if : success() && matrix.type == 'manager'
167201 run : |
168202 ./configure --disable-server --disable-client --enable-manager
169- make
203+ make -j $(nproc --all)
170204
171205 - name : Build libs with vcpkg
172206 if : success() && matrix.type == 'libs-vcpkg'
173207 run : |
174- linux/ci_configure_libs.sh
175- make
208+ , ./ linux/ci_configure_libs.sh
209+ make -j $(nproc --all)
176210
177211 - name : Build client with vcpkg
178212 if : success() && matrix.type == 'client-vcpkg'
179213 run : |
180- linux/ci_configure_client.sh
181- make
214+ . ./ linux/ci_configure_client.sh
215+ make -j $(nproc --all)
182216
183217 - name : Build apps with vcpkg
184218 if : success() && matrix.type == 'apps-vcpkg'
185219 run : |
186- linux/ci_configure_apps.sh
187- make
220+ . ./ linux/ci_configure_apps.sh
221+ make -j $(nproc --all)
188222
189223 - name : Build libs with cmake vcpkg
190224 if : success() && matrix.type == 'libs-cmake'
191225 run : |
192- linux/ci_configure_libs_cmake.sh
226+ . ./ linux/ci_configure_libs_cmake.sh
193227 cmake --build build
194228
195229 - name : Build manager with webview and vcpkg
196230 if : success() && matrix.type == 'manager-with-webview-vcpkg'
197231 run : |
198- linux/ci_configure_manager.sh
199- make
232+ . ./ linux/ci_configure_manager.sh
233+ make -j $(nproc --all)
200234
201235 - name : Build server
202236 if : success() && matrix.type == 'server'
@@ -209,14 +243,14 @@ jobs:
209243 run : |
210244 ./3rdParty/buildLinuxDependencies.sh
211245 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
212- make
246+ make -j $(nproc --all)
213247
214248 - name : Build manager without webview
215249 if : success() && matrix.type == 'manager-without-webview'
216250 run : |
217251 ./3rdParty/buildLinuxDependencies.sh --disable-webview
218252 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
219- make
253+ make -j $(nproc --all)
220254
221255 - name : Build server for unit testing
222256 if : success() && matrix.type == 'unit-test'
@@ -227,26 +261,26 @@ jobs:
227261 - name : Build libraries for arm64 with vcpkg
228262 if : success() && matrix.type == 'libs-vcpkg-arm64'
229263 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
264+ . ./linux/arm64/ci_configure_libs.sh
265+ make -j $(nproc --all)
238266
239267 - name : Build apps for arm64 with vcpkg
240268 if : success() && matrix.type == 'apps-vcpkg-arm64'
241269 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
270+ . ./linux/arm64/ci_configure_apps.sh
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)
250284
251285 - name : Build libraries for arm64
252286 if : success() && matrix.type == 'libs-arm64'
@@ -260,7 +294,7 @@ jobs:
260294 export RELEASE_ARCH=arm64
261295 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
262296 ./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)
264298
265299 - name : Build apps for arm64
266300 if : success() && matrix.type == 'apps-arm64'
@@ -274,7 +308,7 @@ jobs:
274308 export RELEASE_ARCH=arm64
275309 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
276310 ./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)
278312
279313 - name : Prepare for coverity scan
280314 if : success() && matrix.type == 'coverity' && github.ref == 'refs/heads/master' && github.event_name == 'schedule'
@@ -392,7 +426,7 @@ jobs:
392426 export LDFLAGS="-static-libstdc++ -s"
393427 export RELEASE_ARCH=x86_64
394428 ./configure --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
395- make
429+ make -j $(nproc --all)
396430
397431 - name : Make x86 apps
398432 if : success() && matrix.type == 'apps-x86'
@@ -402,7 +436,7 @@ jobs:
402436 export LDFLAGS="-static-libstdc++ -s -m32"
403437 export RELEASE_ARCH=i686
404438 ./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)
406440
407441 - name : Make arm64 apps
408442 if : success() && matrix.type == 'apps-arm64'
@@ -416,7 +450,7 @@ jobs:
416450 export RELEASE_ARCH=arm64
417451 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
418452 ./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)
420454
421455 - name : Prepare logs on failure
422456 if : ${{ failure() }}
0 commit comments