Skip to content

Commit 4cfcdc4

Browse files
committed
Increase nominal ccache cache size for coverage CI job
Speeding up builds for coverage reporting is desirable for two reasons: 1. Coverage-checking builds are approximately twice as slow compared to release builds, even in absence of any ccache-supported caching on either side. 2. Test runs with coverage logging and coverage collection take approximately 46 minutes when regular test runs just take 17 minutes on a similar platform. Therefore, effective caching during builds has the potential to considerably speed up the overall job. Caching using ccache, however, was not effective, because ccache cleanups kicked in:cached artifacts were being removed while the build was still in progress. The resulting cache archive, therefore, was necessarily incomplete. ccache initiates a cleanup when a subdirectory reaches max_size / 16. Increasing max_size from 4 GB to 7 GB (empirically devised value) avoids such automatic cleanup during builds while still keeping the overall cache size well below 5 GB.
1 parent 556029c commit 4cfcdc4

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -803,7 +803,7 @@ jobs:
803803
- name: Configure CMake CBMC build with coverage instrumentation parameters
804804
run: cmake -S . -Bbuild -Denable_coverage=1 -Dparallel_tests=2 -DCMAKE_CXX_COMPILER=/usr/bin/g++
805805
- name: Zero ccache stats and limit in size
806-
run: ccache -z --max-size=4G
806+
run: ccache -z --max-size=7G
807807
- name: Execute CMake CBMC build
808808
run: cmake --build build -- -j2
809809
- name: Print ccache stats

0 commit comments

Comments
 (0)