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