Skip to content

Commit 07b90ce

Browse files
committed
Port CMake Codecov job from Codebuild to Github Actions.
This is part of our streamlining and cleanup of our CI infrastructure.
1 parent 5fd8562 commit 07b90ce

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

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

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -378,3 +378,28 @@ jobs:
378378
docker run -v ${PWD}/.github/workflows/smoke_test_assets:/mnt/smoke -t cbmc jbmc --classpath /mnt/smoke Test
379379
- name: Smoke test goto-analyzer
380380
run: docker run -v ${PWD}/.github/workflows/smoke_test_assets:/mnt/smoke -t cbmc goto-analyzer /mnt/smoke/test.goto --unreachable-functions
381+
382+
codecov-coverage-report:
383+
runs-on: ubuntu-20.04
384+
steps:
385+
- name: Clone repository
386+
uses: actions/checkout@v2
387+
with:
388+
submodules: recursive
389+
- name: Download testing and coverage dependencies
390+
run: sudo apt-get install --no-install-recommends -y g++ flex bison cmake maven jq libxml2-utils dpkg-dev openjdk-11-jdk-headless lcov
391+
- name: Configure CMake CBMC build with coverage instrumentation parameters
392+
run: cmake -S . -Bbuild '-Denable_coverage=1' '-Dparallel_tests=2' '-DCMAKE_CXX_COMPILER=/usr/bin/g++'
393+
- name: Execute CMake CBMC build
394+
run: cmake --build build --target coverage -- -j2
395+
- name: Collect coverage statistics
396+
run: |
397+
lcov --capture --directory build --output-file lcov.info
398+
lcov --remove lcov.info '/usr/*' --output-file lcov.info
399+
- name: Upload coverage statistics to Codecov
400+
uses: codecov/codecov-action@v1
401+
with:
402+
token: ${{ secrets.CODECOV_TOKEN }}
403+
files: ./lcov.info
404+
fail_ci_if_error: true
405+
verbose: true

0 commit comments

Comments
 (0)