I have set-up my own gitlab server to compile / run cpp code. I want to show the code coverage after running a pipeline. The following output is generated from the coverage tool:
lcov --list coverage.info
Reading tracefile coverage.info
|Lines |Functions |Branches
Filename |Rate Num|Rate Num|Rate Num
================================================================================
[/home/gitlab-runner/builds/6352ab42/0/gitlab/sbuschjaeger/ensembles/code/include/]
BatchLearner.h | 100% 4| - 0| - 0
BatchWrapper.h |88.9% 18|66.7% 6| - 0
DecisionStump.h |88.2% 68|70.0% 10| - 0
DecisionTree.h |77.8% 72|70.0% 10| - 0
DefaultRegressor.h |85.7% 14|66.7% 6| - 0
ExtraTree.h |89.2% 93|81.8% 11| - 0
LinearRegression.h | 100% 45| 100% 7| - 0
Logger.h |94.9% 39| 100% 5| - 0
Loss.h |28.6% 14|33.3% 6| - 0
Model.h | 0.0% 4| 0.0% 2| - 0
OnlineLearner.h |80.0% 5| - 0| - 0
RandomSource.h | 0.0% 3| 0.0% 1| - 0
TreeNode.h |58.6% 29| 0.0% 1| - 0
Utils.h | 100% 45| 100% 5| - 0
[/home/gitlab-runner/builds/6352ab42/0/gitlab/sbuschjaeger/ensembles/code/test/]
testRegression.cpp | 100% 101| 100% 10| - 0
[/usr/include/]
c++/7/bits/alloc_traits.h | 100% 1| - 0| - 0
c++/7/bits/basic_ios.h | 100% 2| - 0| - 0
c++/7/bits/basic_string.h |97.5% 40| 100% 4| - 0
c++/7/bits/basic_string.tcc |90.0% 10| 100% 2| - 0
c++/7/bits/char_traits.h | 100% 4| - 0| - 0
c++/7/bits/ios_base.h | 100% 1| - 0| - 0
c++/7/bits/list.tcc |80.0% 5| 100% 1| - 0
c++/7/bits/locale_facets.h |42.9% 7|50.0% 2| - 0
c++/7/bits/move.h | 100% 3| - 0| - 0
c++/7/bits/predefined_ops.h |70.0% 10| - 0| - 0
c++/7/bits/random.h | 100% 12| - 0| - 0
c++/7/bits/random.tcc |96.6% 59| 100% 5| - 0
c++/7/bits/std_abs.h | 100% 1| - 0| - 0
c++/7/bits/std_function.h |68.4% 19| 100% 10| - 0
c++/7/bits/std_mutex.h |85.7% 7| 100% 1| - 0
c++/7/bits/stl_algo.h |86.4% 59|88.9% 9| - 0
c++/7/bits/stl_algobase.h | 100% 12| - 0| - 0
c++/7/bits/stl_construct.h | 100% 1| - 0| - 0
c++/7/bits/stl_function.h | 100% 1| - 0| - 0
c++/7/bits/stl_heap.h | 0.0% 31| 0.0% 4| - 0
c++/7/bits/stl_iterator.h |87.5% 8| - 0| - 0
c++/7/bits/stl_iterator_base_funcs.h | 100% 1| - 0| - 0
c++/7/bits/stl_list.h |75.0% 24| 100% 2| - 0
c++/7/bits/stl_map.h |87.5% 8| 100% 4| - 0
c++/7/bits/stl_numeric.h | 100% 3| - 0| - 0
c++/7/bits/stl_pair.h | 100% 5|40.0% 5| - 0
c++/7/bits/stl_tree.h |68.1% 94|97.0% 33| - 0
c++/7/bits/stl_uninitialized.h | 100% 1| - 0| - 0
c++/7/bits/stl_vector.h |97.1% 35| 100% 14| - 0
c++/7/bits/uniform_int_dist.h |70.0% 20| 100% 2| - 0
c++/7/bits/vector.tcc | 100% 18| 100% 5| - 0
c++/7/chrono | 100% 2| - 0| - 0
c++/7/cmath |66.7% 6| - 0| - 0
c++/7/ext/aligned_buffer.h | 100% 1| - 0| - 0
c++/7/ext/new_allocator.h |71.4% 7| 100% 5| - 0
c++/7/ext/string_conversions.h | 100% 6| 100% 1| - 0
c++/7/iostream | 100% 1| - 0| - 0
c++/7/ostream |80.0% 5| - 0| - 0
c++/7/sstream | 100% 2|50.0% 2| - 0
c++/7/streambuf | 100% 1| - 0| - 0
c++/7/tuple | 100% 5| - 0| - 0
x86_64-linux-gnu/bits/stdlib-float.h | 100% 1| - 0| - 0
x86_64-linux-gnu/c++/7/bits/gthr-default.h| 100% 4| - 0| - 0
================================================================================
Total:|83.8% 1097|83.8% 191| - 0
My regular expression for parsing in gitlab looks like
Total:\|(\d+\.?\d+\%)
Which should work according to http://www.rubular.com/
However, the coverage badge is not updated / remains in “unknown”. Do I need to update additional files or what is the problem here?
EDIT: It seems like, I just needed to re-run the whole pipeline. Now it works.