Parse coverage report from gcc/lcov

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.