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,18 @@ 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+
113146 - name : Install dependencies for unit testing
114147 if : success() && matrix.type == 'unit-test'
115148 run : |
@@ -148,43 +181,43 @@ jobs:
148181 if : success() && matrix.type == 'libs'
149182 run : |
150183 ./configure --disable-server --disable-client --disable-manager --enable-boinczip
151- make
184+ make -j $(nproc --all)
152185
153186 - name : Build client
154187 if : success() && matrix.type == 'client'
155188 run : |
156189 ./configure --disable-server --enable-client --disable-manager
157- make
190+ make -j $(nproc --all)
158191
159192 - name : Build apps
160193 if : success() && matrix.type == 'apps'
161194 run : |
162195 ./configure --enable-apps --enable-apps-vbox --enable-apps-gui --disable-server --disable-client --disable-manager
163- make
196+ make -j $(nproc --all)
164197
165198 - name : Build manager
166199 if : success() && matrix.type == 'manager'
167200 run : |
168201 ./configure --disable-server --disable-client --enable-manager
169- make
202+ make -j $(nproc --all)
170203
171204 - name : Build libs with vcpkg
172205 if : success() && matrix.type == 'libs-vcpkg'
173206 run : |
174207 linux/ci_configure_libs.sh
175- make
208+ make -j $(nproc --all)
176209
177210 - name : Build client with vcpkg
178211 if : success() && matrix.type == 'client-vcpkg'
179212 run : |
180213 linux/ci_configure_client.sh
181- make
214+ make -j $(nproc --all)
182215
183216 - name : Build apps with vcpkg
184217 if : success() && matrix.type == 'apps-vcpkg'
185218 run : |
186219 linux/ci_configure_apps.sh
187- make
220+ make -j $(nproc --all)
188221
189222 - name : Build libs with cmake vcpkg
190223 if : success() && matrix.type == 'libs-cmake'
@@ -196,7 +229,7 @@ jobs:
196229 if : success() && matrix.type == 'manager-with-webview-vcpkg'
197230 run : |
198231 linux/ci_configure_manager.sh
199- make
232+ make -j $(nproc --all)
200233
201234 - name : Build server
202235 if : success() && matrix.type == 'server'
@@ -209,14 +242,14 @@ jobs:
209242 run : |
210243 ./3rdParty/buildLinuxDependencies.sh
211244 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
212- make
245+ make -j $(nproc --all)
213246
214247 - name : Build manager without webview
215248 if : success() && matrix.type == 'manager-without-webview'
216249 run : |
217250 ./3rdParty/buildLinuxDependencies.sh --disable-webview
218251 ./configure --disable-server --disable-client --with-wx-prefix=${GITHUB_WORKSPACE}/3rdParty/buildCache/linux
219- make
252+ make -j $(nproc --all)
220253
221254 - name : Build server for unit testing
222255 if : success() && matrix.type == 'unit-test'
@@ -229,24 +262,64 @@ jobs:
229262 run : |
230263 export CC=aarch64-linux-gnu-gcc
231264 export CXX=aarch64-linux-gnu-g++
265+ export LD=aarch64-linux-gnu-ld
266+ export CFLAGS="-march=armv8-a -O3"
267+ export CXXFLAGS="-march=armv8-a -O3 -std=c++11"
268+ export LDFLAGS="-march=armv8-a -static-libstdc++ -s"
232269 BUILD_DIR="$PWD/3rdParty/linux"
233270 VCPKG_ROOT="$BUILD_DIR/vcpkg"
234271 export VCPKG_DIR="$VCPKG_ROOT/installed/arm64-linux-release"
235272 export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/"
236273 ./linux/arm64/ci_configure_libs.sh
237- make
274+ make -j $(nproc --all)
238275
239276 - name : Build apps for arm64 with vcpkg
240277 if : success() && matrix.type == 'apps-vcpkg-arm64'
241278 run : |
242279 export CC=aarch64-linux-gnu-gcc
243280 export CXX=aarch64-linux-gnu-g++
281+ export LD=aarch64-linux-gnu-ld
282+ export CFLAGS="-march=armv8-a -O3"
283+ export CXXFLAGS="-march=armv8-a -O3 -std=c++11"
284+ export LDFLAGS="-march=armv8-a -static-libstdc++ -s"
244285 BUILD_DIR="$PWD/3rdParty/linux"
245286 VCPKG_ROOT="$BUILD_DIR/vcpkg"
246287 export VCPKG_DIR="$VCPKG_ROOT/installed/arm64-linux-release"
247288 export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/"
248289 ./linux/arm64/ci_configure_apps.sh
249- make
290+ make -j $(nproc --all)
291+
292+ - name : Build client for arm64 with vcpkg
293+ if : success() && matrix.type == 'client-vcpkg-arm64'
294+ run : |
295+ export CC=aarch64-linux-gnu-gcc
296+ export CXX=aarch64-linux-gnu-g++
297+ export LD=aarch64-linux-gnu-ld
298+ export CFLAGS="-march=armv8-a -O3"
299+ export CXXFLAGS="-march=armv8-a -O3 -std=c++11"
300+ export LDFLAGS="-march=armv8-a -static-libstdc++ -s"
301+ BUILD_DIR="$PWD/3rdParty/linux"
302+ VCPKG_ROOT="$BUILD_DIR/vcpkg"
303+ export VCPKG_DIR="$VCPKG_ROOT/installed/arm64-linux-release"
304+ export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/"
305+ ./linux/arm64/ci_configure_client.sh
306+ make -j $(nproc --all)
307+
308+ - name : Build manager with webview for arm64 with vcpkg
309+ if : success() && matrix.type == 'manager-with-webview-vcpkg-arm64'
310+ run : |
311+ export CC=aarch64-linux-gnu-gcc
312+ export CXX=aarch64-linux-gnu-g++
313+ export LD=aarch64-linux-gnu-ld
314+ export CFLAGS="-march=armv8-a -O3"
315+ export CXXFLAGS="-march=armv8-a -O3 -std=c++11"
316+ export LDFLAGS="-march=armv8-a -static-libstdc++ -s"
317+ BUILD_DIR="$PWD/3rdParty/linux"
318+ VCPKG_ROOT="$BUILD_DIR/vcpkg"
319+ export VCPKG_DIR="$VCPKG_ROOT/installed/arm64-linux-release"
320+ export CPPFLAGS="-I$VCPKG_DIR/include -I$VCPKG_DIR/include/"
321+ ./linux/arm64/ci_configure_manager.sh
322+ make -j $(nproc --all)
250323
251324 - name : Build libraries for arm64
252325 if : success() && matrix.type == 'libs-arm64'
@@ -260,7 +333,7 @@ jobs:
260333 export RELEASE_ARCH=arm64
261334 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
262335 ./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
336+ make -j $(nproc --all)
264337
265338 - name : Build apps for arm64
266339 if : success() && matrix.type == 'apps-arm64'
@@ -274,7 +347,7 @@ jobs:
274347 export RELEASE_ARCH=arm64
275348 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
276349 ./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
350+ make -j $(nproc --all)
278351
279352 - name : Prepare for coverity scan
280353 if : success() && matrix.type == 'coverity' && github.ref == 'refs/heads/master' && github.event_name == 'schedule'
@@ -392,7 +465,7 @@ jobs:
392465 export LDFLAGS="-static-libstdc++ -s"
393466 export RELEASE_ARCH=x86_64
394467 ./configure --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
395- make
468+ make -j $(nproc --all)
396469
397470 - name : Make x86 apps
398471 if : success() && matrix.type == 'apps-x86'
@@ -402,7 +475,7 @@ jobs:
402475 export LDFLAGS="-static-libstdc++ -s -m32"
403476 export RELEASE_ARCH=i686
404477 ./configure --host=i686-linux-gnu --enable-apps --enable-apps-vbox --disable-server --disable-client --disable-manager --disable-shared --enable-static
405- make
478+ make -j $(nproc --all)
406479
407480 - name : Make arm64 apps
408481 if : success() && matrix.type == 'apps-arm64'
@@ -416,7 +489,7 @@ jobs:
416489 export RELEASE_ARCH=arm64
417490 export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig:/usr/share/pkgconfig
418491 ./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
492+ make -j $(nproc --all)
420493
421494 - name : Prepare logs on failure
422495 if : ${{ failure() }}
0 commit comments