Skip to content

Commit f50dcd0

Browse files
committed
Add coverage job (disabled by default)
1 parent 5572535 commit f50dcd0

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

.gitlab-ci.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,30 @@ build-windows:
6161
- build/ctest.xml
6262
reports:
6363
junit: build/ctest.xml
64+
65+
.coverage: # Remove '.' to enable
66+
stage: deploy
67+
tags: [general, beefy]
68+
image: $CI_REGISTRY/idi/dockerfiles/cmake-cpp:gcc-14
69+
rules:
70+
- if: $CI_PIPELINE_SOURCE != "merge_request_event" # Only on push events (same as 'except: merge_requests')
71+
when: manual
72+
- if: $CI_PIPELINE_SOURCE = "merge_request_event" # Only on merge requests
73+
- if: $CI_COMMIT_TAG # Only on tag push event
74+
before_script: # This is required for pulling dependencies on projects
75+
#- git config --global credential.helper store # done in cmake-cpp image
76+
- echo "https://gitlab-ci-token:${CI_JOB_TOKEN}@${CI_SERVER_HOST}" > ~/.git-credentials
77+
script:
78+
- cmake --version && $CC --version && $CXX --version && lcov --version && gcovr --version
79+
- mkdir -p build && cd build
80+
- cmake .. $CMAKE_ARGS -DCODE_COVERAGE=ON
81+
- cmake --build . --target ccov-all-xml
82+
interruptible: true
83+
artifacts:
84+
name: "idi-cpp-template-coverage-$CI_COMMIT_SHORT_SHA"
85+
paths:
86+
- build/reports/coverage/coverage.xml
87+
reports:
88+
coverage_report:
89+
coverage_format: cobertura
90+
path: build/reports/coverage/coverage.xml

0 commit comments

Comments
 (0)