Skip to content

Commit 55e5bdf

Browse files
committed
Use all 4 vCPUs on GitHub-hosted runners
Since January GitHub-hosted runners feature a higher vCPU count for Linux and Windows, and also for macos-13. See https://github.blog/2024-01-17-github-hosted-runners-double-the-power-for-open-source/ for the announcement.
1 parent bc46c88 commit 55e5bdf

8 files changed

+57
-57
lines changed

.github/workflows/build-and-test-Linux.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
- name: Build CBMC tools
4343
run: |
4444
make -C src minisat2-download
45-
make -C src CXX='ccache /usr/bin/clang++' cbmc.dir goto-cc.dir goto-diff.dir -j2
45+
make -C src CXX='ccache /usr/bin/clang++' cbmc.dir goto-cc.dir goto-diff.dir -j4
4646
- name: Print ccache stats
4747
run: ccache -s
4848

.github/workflows/build-and-test-Xen.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
- name: Build CBMC tools
4242
run: |
4343
make -C src minisat2-download
44-
make -C src CXX='ccache /usr/bin/clang++' cbmc.dir goto-cc.dir goto-diff.dir -j2
44+
make -C src CXX='ccache /usr/bin/clang++' cbmc.dir goto-cc.dir goto-diff.dir -j4
4545
- name: Print ccache stats
4646
run: ccache -s
4747

@@ -58,7 +58,7 @@ jobs:
5858
ln -s goto-cc src/goto-cc/goto-g++
5959
6060
- name: Compile Xen with CBMC via one-line-scan, and check for goto-cc section
61-
run: one-line-scan/one-line-scan --add-to-path $(pwd)/src/cbmc --add-to-path $(pwd)/src/goto-diff --add-to-path $(pwd)/src/goto-cc --no-analysis --trunc-existing --extra-cflags -Wno-error -o CPROVER -j 3 -- make -C xen_4_13 xen -j $(nproc)
61+
run: one-line-scan/one-line-scan --add-to-path $(pwd)/src/cbmc --add-to-path $(pwd)/src/goto-diff --add-to-path $(pwd)/src/goto-cc --no-analysis --trunc-existing --extra-cflags -Wno-error -o CPROVER -j 4 -- make -C xen_4_13 xen -j $(nproc)
6262

6363
- name: Check for goto-cc section in xen-syms binary
6464
run: objdump -h xen_4_13/xen/xen-syms | grep "goto-cc"

.github/workflows/codeql-analysis.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ jobs:
4545
- name: Build
4646
run: |
4747
make -C src minisat2-download
48-
make -C src -j2
49-
make -C unit -j2
50-
make -C jbmc/src -j2
51-
make -C jbmc/unit -j2
48+
make -C src -j4
49+
make -C unit -j4
50+
make -C jbmc/src -j4
51+
make -C jbmc/unit -j4
5252
5353
- name: Perform CodeQL Analysis
5454
uses: github/codeql-action/analyze@v3

.github/workflows/csmith.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
run: ccache -z --max-size=500M
4040
- name: Build with make
4141
run: |
42-
make -C src CXX='ccache /usr/bin/clang++' cbmc.dir goto-cc.dir goto-instrument.dir -j2
42+
make -C src CXX='ccache /usr/bin/clang++' cbmc.dir goto-cc.dir goto-instrument.dir -j4
4343
- name: Print ccache stats
4444
run: ccache -s
4545
- name: Run 10 randomly-generated CSmith tests

.github/workflows/performance.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ jobs:
6565
- name: ccache environment (new variant)
6666
run: echo "CCACHE_BASEDIR=$PWD/new" >> $GITHUB_ENV
6767
- name: Build with Ninja (new variant)
68-
run: ninja -C new/build -j2
68+
run: ninja -C new/build -j4
6969
- name: Print ccache stats (new variant)
7070
run: ccache -s
7171

@@ -74,7 +74,7 @@ jobs:
7474
- name: ccache environment (old variant)
7575
run: echo "CCACHE_BASEDIR=$PWD/old" >> $GITHUB_ENV
7676
- name: Build with Ninja (old variant)
77-
run: ninja -C old/build -j2
77+
run: ninja -C old/build -j4
7878
- name: Print ccache stats (old variant)
7979
run: ccache -s
8080

.github/workflows/pull-request-check-rust-api.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
- name: Configure using CMake
5757
run: cmake -S. -B${{env.default_build_dir}} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_C_COMPILER=/usr/bin/clang-13 -DCMAKE_CXX_COMPILER=/usr/bin/clang++-13 -DWITH_JBMC=OFF
5858
- name: Build with CMake
59-
run: cmake --build ${{env.default_build_dir}} -j2 --target cprover-api-cpp
59+
run: cmake --build ${{env.default_build_dir}} -j4 --target cprover-api-cpp
6060
- name: Print ccache stats
6161
run: ccache -s
6262
# We won't be running any of the regular regression tests, as these are covered
@@ -97,7 +97,7 @@ jobs:
9797
- name: Configure using CMake
9898
run: cmake -S. -B${{env.default_build_dir}} -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DWITH_JBMC=OFF
9999
- name: Build with Ninja
100-
run: cd ${{env.default_build_dir}}; ninja -j3 cprover-api-cpp
100+
run: cd ${{env.default_build_dir}}; ninja -j4 cprover-api-cpp
101101
- name: Print ccache stats
102102
run: ccache -s
103103
# We won't be running any of the regular regression tests, as these are covered

.github/workflows/pull-request-checks.yaml

+41-41
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ jobs:
5050
run: |
5151
git clone https://github.com/conp-solutions/riss riss.git
5252
cmake -Hriss.git -Briss.git/release -DCMAKE_BUILD_TYPE=Release
53-
make -C riss.git/release riss-coprocessor-lib-static -j2
54-
make -C src -j2 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
55-
make -C jbmc/src -j2 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
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
5656
57-
make -C unit -j2 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
57+
make -C unit -j4 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
5858
59-
make -C jbmc/unit -j2 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
59+
make -C jbmc/unit -j4 CXX="ccache g++" LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
6060
- name: Print ccache stats
6161
run: ccache -s
6262
- name: Checking completeness of help output
@@ -70,10 +70,10 @@ jobs:
7070
make TAGS="[!shouldfail]" -C jbmc/unit test IPASIR=$PWD/riss.git/riss
7171
- name: Run regression tests
7272
run: |
73-
make -C regression test-parallel JOBS=2 LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
73+
make -C regression test-parallel JOBS=4 LIBS="$PWD/riss.git/release/lib/libriss-coprocessor.a -lpthread" IPASIR=$PWD/riss.git/riss
7474
make -C regression/cbmc test-paths-lifo
7575
env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
76-
make -C jbmc/regression test-parallel JOBS=2
76+
make -C jbmc/regression test-parallel JOBS=4
7777
- name: Check cleanup
7878
run: |
7979
make -C src clean IPASIR=$PWD/riss.git/riss
@@ -134,10 +134,10 @@ jobs:
134134
run: ccache -z --max-size=500M
135135
- name: Build with make
136136
run: |
137-
make -C src -j2 MINISAT2=../../minisat-2.2.1 CADICAL=../../cadical
138-
make -C unit -j2
139-
make -C jbmc/src -j2
140-
make -C jbmc/unit -j2
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
141141
- name: Print ccache stats
142142
run: ccache -s
143143
- name: Run unit tests
@@ -151,10 +151,10 @@ jobs:
151151
make TAGS="[!shouldfail]" -C jbmc/unit test
152152
- name: Run regression tests
153153
run: |
154-
make -C regression test-parallel JOBS=2
154+
make -C regression test-parallel JOBS=4
155155
make -C regression/cbmc test-paths-lifo
156156
env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
157-
make -C jbmc/regression test-parallel JOBS=2
157+
make -C jbmc/regression test-parallel JOBS=4
158158
159159
# This job has been copied from the one above it, and modified to only build CBMC
160160
# and run the `regression/cbmc/` regression tests against Z3. The rest of the tests
@@ -198,7 +198,7 @@ jobs:
198198
- name: Zero ccache stats and limit in size
199199
run: ccache -z --max-size=500M
200200
- name: Build with make
201-
run: make -C src -j2
201+
run: make -C src -j4
202202
- name: Print ccache stats
203203
run: ccache -s
204204
- name: Run regression/cbmc tests with z3 as the backend
@@ -247,7 +247,7 @@ jobs:
247247
- name: Zero ccache stats and limit in size
248248
run: ccache -z --max-size=500M
249249
- name: Build with Ninja
250-
run: ninja -C build -j2
250+
run: ninja -C build -j4
251251
- name: Print ccache stats
252252
run: ccache -s
253253
- name: Checking completeness of help output
@@ -258,7 +258,7 @@ jobs:
258258
ninja package
259259
ls *.deb
260260
- name: Run tests
261-
run: cd build; ctest . -V -L CORE -j2
261+
run: cd build; ctest . -V -L CORE -j4
262262
- name: Check cleanup
263263
run: |
264264
rm -r build
@@ -320,10 +320,10 @@ jobs:
320320
make -C src/cpp library_check
321321
- name: Build with make
322322
run: |
323-
make -C src -j2 MINISAT2=../../minisat-2.2.1 CADICAL=../../cadical
324-
make -C unit -j2
325-
make -C jbmc/src -j2
326-
make -C jbmc/unit -j2
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
327327
- name: Print ccache stats
328328
run: ccache -s
329329
- name: Run unit tests
@@ -337,10 +337,10 @@ jobs:
337337
make TAGS="[!shouldfail]" -C jbmc/unit test
338338
- name: Run regression tests
339339
run: |
340-
make -C regression test-parallel JOBS=2
340+
make -C regression test-parallel JOBS=4
341341
make -C regression/cbmc test-paths-lifo
342342
env PATH=$PATH:`pwd`/src/solvers make -C regression/cbmc test-cprover-smt2
343-
make -C jbmc/regression test-parallel JOBS=2
343+
make -C jbmc/regression test-parallel JOBS=4
344344
345345
# This job takes approximately 22 to 41 minutes
346346
check-ubuntu-22_04-cmake-gcc:
@@ -385,7 +385,7 @@ jobs:
385385
- name: Zero ccache stats and limit in size
386386
run: ccache -z --max-size=500M
387387
- name: Build with Ninja
388-
run: ninja -C build -j2
388+
run: ninja -C build -j4
389389
- name: Print ccache stats
390390
run: ccache -s
391391
- name: Check if package building works
@@ -394,7 +394,7 @@ jobs:
394394
ninja package
395395
ls *.deb
396396
- name: Run tests
397-
run: cd build; ctest . -V -L CORE -j2
397+
run: cd build; ctest . -V -L CORE -j4
398398

399399
# This job takes approximately 26 to 46 minutes
400400
check-ubuntu-24_04-cmake-gcc-13:
@@ -443,11 +443,11 @@ jobs:
443443
- name: Zero ccache stats and limit in size
444444
run: ccache -z --max-size=500M
445445
- name: Build with Ninja
446-
run: ninja -C build -j2
446+
run: ninja -C build -j4
447447
- name: Print ccache stats
448448
run: ccache -s
449449
- name: Run tests
450-
run: cd build; ctest . -V -L CORE -j2
450+
run: cd build; ctest . -V -L CORE -j4
451451

452452
# This job takes approximately 30 to 60 minutes
453453
check-ubuntu-22_04-cmake-gcc-32bit:
@@ -490,11 +490,11 @@ jobs:
490490
- name: Zero ccache stats and limit in size
491491
run: ccache -z --max-size=500M
492492
- name: Build with Ninja
493-
run: ninja -C build -j2
493+
run: ninja -C build -j4
494494
- name: Print ccache stats
495495
run: ccache -s
496496
- name: Run tests
497-
run: cd build; ctest . -V -L CORE -j2
497+
run: cd build; ctest . -V -L CORE -j4
498498

499499
# This job takes approximately 5 to 24 minutes
500500
check-ubuntu-20_04-cmake-gcc-KNOWNBUG:
@@ -529,13 +529,13 @@ jobs:
529529
- name: Zero ccache stats and limit in size
530530
run: ccache -z --max-size=500M
531531
- name: Build with Ninja
532-
run: ninja -C build -j2
532+
run: ninja -C build -j4
533533
- name: Print ccache stats
534534
run: ccache -s
535535
- name: Run tests
536536
run: |
537537
cd build
538-
ctest . -V -L KNOWNBUG -j2
538+
ctest . -V -L KNOWNBUG -j4
539539
export PATH=$PWD/bin:$PATH
540540
cd ../regression/cbmc
541541
sed -i '1s/^CORE\(.*\)broken-smt-backend/KNOWNBUG\1broken-smt-backend/' */*.desc
@@ -576,11 +576,11 @@ jobs:
576576
- name: Zero ccache stats and limit in size
577577
run: ccache -z --max-size=500M
578578
- name: Build with Ninja
579-
run: ninja -C build -j2
579+
run: ninja -C build -j4
580580
- name: Print ccache stats
581581
run: ccache -s
582582
- name: Run tests
583-
run: cd build; ctest . -V -L THOROUGH -j2
583+
run: cd build; ctest . -V -L THOROUGH -j4
584584

585585
# This job takes approximately 39 to 69 minutes
586586
check-macos-13-make-clang:
@@ -732,7 +732,7 @@ jobs:
732732
- name: Test cbmc
733733
run: |
734734
Set-Location build
735-
ctest -V -L CORE -C Release . -j2
735+
ctest -V -L CORE -C Release . -j4
736736
737737
# This job takes approximately 65 to 84 minutes
738738
check-vs-2022-make-build-and-test:
@@ -784,15 +784,15 @@ jobs:
784784
- name: Download minisat with make
785785
run: make -C src minisat2-download
786786
- name: Build CBMC with make
787-
run: make CXX=clcache BUILD_ENV=MSVC -j2 -C src
787+
run: make CXX=clcache BUILD_ENV=MSVC -j4 -C src
788788
- name: Build unit tests with make
789-
run: make CXX=clcache BUILD_ENV=MSVC -j2 -C unit all
789+
run: make CXX=clcache BUILD_ENV=MSVC -j4 -C unit all
790790
- name: Build jbmc with make
791791
run: |
792-
make CXX=clcache -j2 -C jbmc/src setup-submodules
793-
make CXX=clcache BUILD_ENV=MSVC -j2 -C jbmc/src
792+
make CXX=clcache -j4 -C jbmc/src setup-submodules
793+
make CXX=clcache BUILD_ENV=MSVC -j4 -C jbmc/src
794794
- name: Build JBMC unit tests
795-
run: make CXX=clcache BUILD_ENV=MSVC -j2 -C jbmc/unit all
795+
run: make CXX=clcache BUILD_ENV=MSVC -j4 -C jbmc/unit all
796796
- name: Print ccache stats
797797
run: clcache -s
798798
- name: Run CBMC and JBMC unit tests
@@ -906,7 +906,7 @@ jobs:
906906
run: cmake -S . -Bbuild -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
907907
- name: Run include-what-you-use
908908
run: |
909-
iwyu_tool -p build/compile_commands.json -j2 | tee includes.txt
909+
iwyu_tool -p build/compile_commands.json -j4 | tee includes.txt
910910
if sed '/minisat2-src/,/^--$/d' includes.txt | grep '^- ' -B1 ; then
911911
echo "Unnecessary includes found. Use '// IWYU pragma: keep' to override this."
912912
exit 1
@@ -960,13 +960,13 @@ jobs:
960960
- name: Zero ccache stats and limit in size
961961
run: ccache -z --max-size=7G
962962
- name: Execute CMake CBMC build
963-
run: cmake --build build -- -j2
963+
run: cmake --build build -- -j4
964964
- name: Print ccache stats
965965
run: ccache -s
966966
- name: Run CTest and collect coverage statistics
967967
run: |
968968
echo "lcov_excl_line = UNREACHABLE" > ~/.lcovrc
969-
cmake --build build --target coverage -- -j2
969+
cmake --build build --target coverage -- -j4
970970
- name: Upload coverage statistics to Codecov
971971
uses: codecov/codecov-action@v4
972972
with:

.github/workflows/release-packages.yaml

+4-4
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,11 @@ jobs:
4444
- name: Zero ccache stats and limit in size
4545
run: ccache -z --max-size=500M
4646
- name: Build using Ninja
47-
run: ninja -C build -j2
47+
run: ninja -C build -j4
4848
- name: Print ccache stats
4949
run: ccache -s
5050
- name: Run CTest
51-
run: cd build; ctest . -V -L CORE -C Release -j2
51+
run: cd build; ctest . -V -L CORE -C Release -j4
5252
- name: Create packages
5353
id: create_packages
5454
run: |
@@ -118,11 +118,11 @@ jobs:
118118
- name: Zero ccache stats and limit in size
119119
run: ccache -z --max-size=500M
120120
- name: Build using Ninja
121-
run: ninja -C build -j2
121+
run: ninja -C build -j4
122122
- name: Print ccache stats
123123
run: ccache -s
124124
- name: Run CTest
125-
run: cd build; ctest . -V -L CORE -C Release -j2
125+
run: cd build; ctest . -V -L CORE -C Release -j4
126126
- name: Create packages
127127
id: create_packages
128128
run: |

0 commit comments

Comments
 (0)