@@ -916,66 +916,3 @@ jobs:
916
916
echo "Unnecessary includes found. Use '// IWYU pragma: keep' to override this."
917
917
exit 1
918
918
fi
919
-
920
- # This job takes approximately 40 to 75 minutes
921
- codecov-coverage-report :
922
- runs-on : ubuntu-20.04
923
- steps :
924
- - name : Clone repository
925
- uses : actions/checkout@v4
926
- with :
927
- submodules : recursive
928
- - name : Remove unnecessary software to free up disk space
929
- run : |
930
- # inspired by https://github.com/easimon/maximize-build-space/blob/master/action.yml
931
- df -h
932
- sudo rm -rf /usr/share/dotnet /usr/local/lib/* /opt/*
933
- df -h
934
- - name : Download testing and coverage dependencies
935
- env :
936
- # This is needed in addition to -yq to prevent apt-get from asking for
937
- # user input
938
- DEBIAN_FRONTEND : noninteractive
939
- run : |
940
- sudo apt-get update
941
- sudo apt-get install --no-install-recommends -y g++ gcc gdb binutils flex bison cmake maven jq libxml2-utils openjdk-11-jdk-headless lcov ccache z3
942
- - name : Confirm z3 solver is available and log the version installed
943
- run : z3 --version
944
- - name : Download cvc-5 from the releases page and make sure it can be deployed
945
- run : |
946
- wget -O cvc5 https://github.com/cvc5/cvc5/releases/download/cvc5-${{env.cvc5-version}}/cvc5-Linux
947
- chmod u+x cvc5
948
- mv cvc5 /usr/local/bin
949
- cvc5 --version
950
- - name : Prepare ccache
951
- uses : actions/cache@v4
952
- with :
953
- save-always : true
954
- path : .ccache
955
- key : ${{ runner.os }}-20.04-Coverage-${{ github.ref }}-${{ github.sha }}-PR
956
- restore-keys : |
957
- ${{ runner.os }}-20.04-Coverage-${{ github.ref }}
958
- ${{ runner.os }}-20.04-Coverage
959
- - name : ccache environment
960
- run : |
961
- echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
962
- echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
963
- - name : Configure CMake CBMC build with coverage instrumentation parameters
964
- run : cmake -S . -Bbuild -Denable_coverage=1 -Dparallel_tests=2 -DCMAKE_CXX_COMPILER=/usr/bin/g++
965
- - name : Zero ccache stats and limit in size
966
- run : ccache -z --max-size=7G
967
- - name : Execute CMake CBMC build
968
- run : cmake --build build -- -j${{env.linux-vcpus}}
969
- - name : Print ccache stats
970
- run : ccache -s
971
- - name : Run CTest and collect coverage statistics
972
- run : |
973
- echo "lcov_excl_line = UNREACHABLE" > ~/.lcovrc
974
- cmake --build build --target coverage -- -j${{env.linux-vcpus}}
975
- - name : Upload coverage statistics to Codecov
976
- uses : codecov/codecov-action@v4
977
- with :
978
- token : ${{ secrets.CODECOV_TOKEN }}
979
- files : build/html/coverage.info
980
- fail_ci_if_error : true
981
- verbose : true
0 commit comments