[v9_16] Enable Test Coverage Visualization for merge requests
This feature allows GitLab to visualize test coverage information in the file diff view of merge requests.
This commit makes the gcov CI job depend on the following chain of jobs:
gcc:buster:amd64 → unit:gcc:buster:amd64 → system:gcc:buster:amd64
The reason for running the last two jobs above sequentially rather than in parallel is that both of them create *.gcda files (containing coverage data) in the same locations. While some way of merging these files from different job artifact archives could probably be designed with the help of additional tools, the simplest thing to do is not to run unit test and system test jobs in parallel, carrying *.gcda files over between jobs as gcov knows how to append coverage data to existing *.gcda files.
Also note that test coverage will not be visualized if any of the jobs in the above dependency chain fails (because the gcov job will not be run).
(cherry picked from commit 2dabf328)