Skip to content

Commit f26cdfd

Browse files
committed
gj ci: add coverage
1 parent fbf84d7 commit f26cdfd

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

.github/workflows/coverage.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: Coverage
2+
on: [push, pull_request]
3+
jobs:
4+
coverage:
5+
runs-on: ubuntu-latest
6+
steps:
7+
- name: Clone
8+
uses: actions/checkout@v4
9+
- name: Install Ninja
10+
uses: seanmiddleditch/gha-setup-ninja@v5
11+
- name: Install LLVM
12+
run: |
13+
sudo apt-get update
14+
sudo apt-get install -y llvm
15+
- name: Configure
16+
run: cmake --preset=debug-coverage -B coverage
17+
- name: Build
18+
run: cmake --build coverage
19+
- name: Test
20+
run: ctest --test-dir coverage --output-on-failure
21+
env:
22+
LLVM_PROFILE_FILE: cov-%p-%m.profraw
23+
- name: Generate Coverage Report
24+
run: |
25+
llvm-profdata merge -o coverage.profdata $(find coverage -name "*.profraw")
26+
llvm-cov export -instr-profile=coverage.profdata -format=lcov -object coverage/code/libdynamix.so coverage/v1compat/libdynamix-v1compat.so > coverage.lcov
27+
- name: Upload to Codecov
28+
uses: codecov/codecov-action@v5
29+
with:
30+
files: ./coverage.lcov
31+
token: ${{ secrets.CODECOV_TOKEN }}

CMakePresets.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,15 @@
5858
"hidden": true,
5959
"cacheVariables": { "SAN_THREAD": true }
6060
},
61+
{
62+
"name": "coverage",
63+
"hidden": true,
64+
"inherits": "clang",
65+
"cacheVariables": {
66+
"CMAKE_CXX_FLAGS": "-fprofile-instr-generate -fcoverage-mapping",
67+
"CMAKE_EXE_LINKER_FLAGS": "-fprofile-instr-generate"
68+
}
69+
},
6170

6271
{
6372
"name": "debug",
@@ -108,6 +117,11 @@
108117
"inherits": ["base-debug", "asan", "ubsan", "lsan"]
109118
},
110119

120+
{
121+
"name": "debug-coverage",
122+
"inherits": ["base-debug", "coverage"]
123+
},
124+
111125
{
112126
"name": "win-debug-32bit",
113127
"inherits": "base-debug",

0 commit comments

Comments
 (0)