6
6
branches : [ develop ]
7
7
env :
8
8
cvc5-version : " 1.0.0"
9
+ linux-vcpus : 4
10
+ windows-vcpus : 4
9
11
10
12
jobs :
11
13
# This job takes approximately 21 to 40 minutes
@@ -50,13 +52,13 @@ jobs:
50
52
run : |
51
53
git clone https://github.com/conp-solutions/riss riss.git
52
54
cmake -Hriss.git -Briss.git/release -DCMAKE_BUILD_TYPE=Release
53
- make -C riss.git/release riss-coprocessor-lib-static -j4
54
- make -C src -j4 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
55
- make -C jbmc/src -j4 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
55
+ make -C riss.git/release riss-coprocessor-lib-static -j${{env.linux-vcpus}}
56
+ make -C src -j${{env.linux-vcpus}} CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
57
+ make -C jbmc/src -j${{env.linux-vcpus}} CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
56
58
57
- make -C unit -j4 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
59
+ make -C unit -j${{env.linux-vcpus}} CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
58
60
59
- make -C jbmc/unit -j4 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
61
+ make -C jbmc/unit -j${{env.linux-vcpus}} CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
60
62
- name : Print ccache stats
61
63
run : ccache -s
62
64
- name : Checking completeness of help output
@@ -70,10 +72,10 @@ jobs:
70
72
make TAGS="[!shouldfail]" -C jbmc/unit test IPASIR=$PWD/riss.git/riss
71
73
- name : Run regression tests
72
74
run : |
73
- make -C regression test-parallel JOBS=4 LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
75
+ make -C regression test-parallel JOBS=${{env.linux-vcpus}} LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
74
76
make -C regression/cbmc test-paths-lifo
75
77
env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
76
- make -C jbmc/regression test-parallel JOBS=4
78
+ make -C jbmc/regression test-parallel JOBS=${{env.linux-vcpus}}
77
79
- name : Check cleanup
78
80
run : |
79
81
make -C src clean IPASIR=$PWD/riss.git/riss
@@ -134,10 +136,10 @@ jobs:
134
136
run : ccache -z --max-size=500M
135
137
- name : Build with make
136
138
run : |
137
- make -C src -j4 MINISAT2=../../minisat-2.2.1 CADICAL=../../cadical
138
- make -C unit -j4
139
- make -C jbmc/src -j4
140
- make -C jbmc/unit -j4
139
+ make -C src -j${{env.linux-vcpus}} MINISAT2=../../minisat-2.2.1 CADICAL=../../cadical
140
+ make -C unit -j${{env.linux-vcpus}}
141
+ make -C jbmc/src -j${{env.linux-vcpus}}
142
+ make -C jbmc/unit -j${{env.linux-vcpus}}
141
143
- name : Print ccache stats
142
144
run : ccache -s
143
145
- name : Run unit tests
@@ -151,10 +153,10 @@ jobs:
151
153
make TAGS="[!shouldfail]" -C jbmc/unit test
152
154
- name : Run regression tests
153
155
run : |
154
- make -C regression test-parallel JOBS=4
156
+ make -C regression test-parallel JOBS=${{env.linux-vcpus}}
155
157
make -C regression/cbmc test-paths-lifo
156
158
env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
157
- make -C jbmc/regression test-parallel JOBS=4
159
+ make -C jbmc/regression test-parallel JOBS=${{env.linux-vcpus}}
158
160
159
161
# This job has been copied from the one above it, and modified to only build CBMC
160
162
# and run the `regression/cbmc/` regression tests against Z3. The rest of the tests
@@ -198,7 +200,7 @@ jobs:
198
200
- name : Zero ccache stats and limit in size
199
201
run : ccache -z --max-size=500M
200
202
- name : Build with make
201
- run : make -C src -j4
203
+ run : make -C src -j${{env.linux-vcpus}}
202
204
- name : Print ccache stats
203
205
run : ccache -s
204
206
- name : Run regression/cbmc tests with z3 as the backend
@@ -247,7 +249,7 @@ jobs:
247
249
- name : Zero ccache stats and limit in size
248
250
run : ccache -z --max-size=500M
249
251
- name : Build with Ninja
250
- run : ninja -C build -j4
252
+ run : ninja -C build -j${{env.linux-vcpus}}
251
253
- name : Print ccache stats
252
254
run : ccache -s
253
255
- name : Checking completeness of help output
@@ -258,7 +260,7 @@ jobs:
258
260
ninja package
259
261
ls *.deb
260
262
- name : Run tests
261
- run : cd build; ctest . -V -L CORE -j4
263
+ run : cd build; ctest . -V -L CORE -j${{env.linux-vcpus}}
262
264
- name : Check cleanup
263
265
run : |
264
266
rm -r build
@@ -320,10 +322,10 @@ jobs:
320
322
make -C src/cpp library_check
321
323
- name : Build with make
322
324
run : |
323
- make -C src -j4 MINISAT2=../../minisat-2.2.1 CADICAL=../../cadical
324
- make -C unit -j4
325
- make -C jbmc/src -j4
326
- make -C jbmc/unit -j4
325
+ make -C src -j${{env.linux-vcpus}} MINISAT2=../../minisat-2.2.1 CADICAL=../../cadical
326
+ make -C unit -j${{env.linux-vcpus}}
327
+ make -C jbmc/src -j${{env.linux-vcpus}}
328
+ make -C jbmc/unit -j${{env.linux-vcpus}}
327
329
- name : Print ccache stats
328
330
run : ccache -s
329
331
- name : Run unit tests
@@ -337,10 +339,10 @@ jobs:
337
339
make TAGS="[!shouldfail]" -C jbmc/unit test
338
340
- name : Run regression tests
339
341
run : |
340
- make -C regression test-parallel JOBS=4
342
+ make -C regression test-parallel JOBS=${{env.linux-vcpus}}
341
343
make -C regression/cbmc test-paths-lifo
342
344
env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
343
- make -C jbmc/regression test-parallel JOBS=4
345
+ make -C jbmc/regression test-parallel JOBS=${{env.linux-vcpus}}
344
346
345
347
# This job takes approximately 22 to 41 minutes
346
348
check-ubuntu-22_04-cmake-gcc :
@@ -385,7 +387,7 @@ jobs:
385
387
- name : Zero ccache stats and limit in size
386
388
run : ccache -z --max-size=500M
387
389
- name : Build with Ninja
388
- run : ninja -C build -j4
390
+ run : ninja -C build -j${{env.linux-vcpus}}
389
391
- name : Print ccache stats
390
392
run : ccache -s
391
393
- name : Check if package building works
@@ -394,7 +396,7 @@ jobs:
394
396
ninja package
395
397
ls *.deb
396
398
- name : Run tests
397
- run : cd build; ctest . -V -L CORE -j4
399
+ run : cd build; ctest . -V -L CORE -j${{env.linux-vcpus}}
398
400
399
401
# This job takes approximately 26 to 46 minutes
400
402
check-ubuntu-24_04-cmake-gcc-13 :
@@ -443,11 +445,11 @@ jobs:
443
445
- name : Zero ccache stats and limit in size
444
446
run : ccache -z --max-size=500M
445
447
- name : Build with Ninja
446
- run : ninja -C build -j4
448
+ run : ninja -C build -j${{env.linux-vcpus}}
447
449
- name : Print ccache stats
448
450
run : ccache -s
449
451
- name : Run tests
450
- run : cd build; ctest . -V -L CORE -j4
452
+ run : cd build; ctest . -V -L CORE -j${{env.linux-vcpus}}
451
453
452
454
# This job takes approximately 30 to 60 minutes
453
455
check-ubuntu-22_04-cmake-gcc-32bit :
@@ -490,11 +492,11 @@ jobs:
490
492
- name : Zero ccache stats and limit in size
491
493
run : ccache -z --max-size=500M
492
494
- name : Build with Ninja
493
- run : ninja -C build -j4
495
+ run : ninja -C build -j${{env.linux-vcpus}}
494
496
- name : Print ccache stats
495
497
run : ccache -s
496
498
- name : Run tests
497
- run : cd build; ctest . -V -L CORE -j4
499
+ run : cd build; ctest . -V -L CORE -j${{env.linux-vcpus}}
498
500
499
501
# This job takes approximately 5 to 24 minutes
500
502
check-ubuntu-20_04-cmake-gcc-KNOWNBUG :
@@ -529,13 +531,13 @@ jobs:
529
531
- name : Zero ccache stats and limit in size
530
532
run : ccache -z --max-size=500M
531
533
- name : Build with Ninja
532
- run : ninja -C build -j4
534
+ run : ninja -C build -j${{env.linux-vcpus}}
533
535
- name : Print ccache stats
534
536
run : ccache -s
535
537
- name : Run tests
536
538
run : |
537
539
cd build
538
- ctest . -V -L KNOWNBUG -j4
540
+ ctest . -V -L KNOWNBUG -j${{env.linux-vcpus}}
539
541
export PATH=$PWD/bin:$PATH
540
542
cd ../regression/cbmc
541
543
sed -i '1s/^CORE\(.*\)broken-smt-backend/KNOWNBUG\1broken-smt-backend/' */*.desc
@@ -576,11 +578,11 @@ jobs:
576
578
- name : Zero ccache stats and limit in size
577
579
run : ccache -z --max-size=500M
578
580
- name : Build with Ninja
579
- run : ninja -C build -j4
581
+ run : ninja -C build -j${{env.linux-vcpus}}
580
582
- name : Print ccache stats
581
583
run : ccache -s
582
584
- name : Run tests
583
- run : cd build; ctest . -V -L THOROUGH -j4
585
+ run : cd build; ctest . -V -L THOROUGH -j${{env.linux-vcpus}}
584
586
585
587
# This job takes approximately 39 to 69 minutes
586
588
check-macos-13-make-clang :
@@ -732,7 +734,7 @@ jobs:
732
734
- name : Test cbmc
733
735
run : |
734
736
Set-Location build
735
- ctest -V -L CORE -C Release . -j4
737
+ ctest -V -L CORE -C Release . -j${{env.windows-vcpus}}
736
738
737
739
# This job takes approximately 65 to 84 minutes
738
740
check-vs-2022-make-build-and-test :
@@ -784,15 +786,15 @@ jobs:
784
786
- name : Download minisat with make
785
787
run : make -C src minisat2-download
786
788
- name : Build CBMC with make
787
- run : make CXX=clcache BUILD_ENV=MSVC -j4 -C src
789
+ run : make CXX=clcache BUILD_ENV=MSVC -j${{env.windows-vcpus}} -C src
788
790
- name : Build unit tests with make
789
- run : make CXX=clcache BUILD_ENV=MSVC -j4 -C unit all
791
+ run : make CXX=clcache BUILD_ENV=MSVC -j${{env.windows-vcpus}} -C unit all
790
792
- name : Build jbmc with make
791
793
run : |
792
- make CXX=clcache -j4 -C jbmc/src setup-submodules
793
- make CXX=clcache BUILD_ENV=MSVC -j4 -C jbmc/src
794
+ make CXX=clcache -j${{env.windows-vcpus}} -C jbmc/src setup-submodules
795
+ make CXX=clcache BUILD_ENV=MSVC -j${{env.windows-vcpus}} -C jbmc/src
794
796
- name : Build JBMC unit tests
795
- run : make CXX=clcache BUILD_ENV=MSVC -j4 -C jbmc/unit all
797
+ run : make CXX=clcache BUILD_ENV=MSVC -j${{env.windows-vcpus}} -C jbmc/unit all
796
798
- name : Print ccache stats
797
799
run : clcache -s
798
800
- name : Run CBMC and JBMC unit tests
@@ -906,7 +908,7 @@ jobs:
906
908
run : cmake -S . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
907
909
- name : Run include-what-you-use
908
910
run : |
909
- iwyu_tool -p build/compile_commands.json -j4 | tee includes.txt
911
+ iwyu_tool -p build/compile_commands.json -j${{env.linux-vcpus}} | tee includes.txt
910
912
if sed '/minisat2-src/,/^--$/d' includes.txt | grep '^- ' -B1 ; then
911
913
echo "Unnecessary includes found. Use '// IWYU pragma: keep' to override this."
912
914
exit 1
@@ -960,13 +962,13 @@ jobs:
960
962
- name : Zero ccache stats and limit in size
961
963
run : ccache -z --max-size=7G
962
964
- name : Execute CMake CBMC build
963
- run : cmake --build build -- -j4
965
+ run : cmake --build build -- -j${{env.linux-vcpus}}
964
966
- name : Print ccache stats
965
967
run : ccache -s
966
968
- name : Run CTest and collect coverage statistics
967
969
run : |
968
970
echo "lcov_excl_line = UNREACHABLE" > ~/.lcovrc
969
- cmake --build build --target coverage -- -j4
971
+ cmake --build build --target coverage -- -j${{env.linux-vcpus}}
970
972
- name : Upload coverage statistics to Codecov
971
973
uses : codecov/codecov-action@v4
972
974
with :
0 commit comments