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).
75 jobs for !3875 with mnowak/test-coverage-visualization in 37 seconds (queued for 8 seconds)
detached
Status Job ID Name Coverage
  Autoconf
passed #1161950
amd64 linux
autoreconf

00:00:19

 
  Precheck
passed #1161952
amd64 linux
clang-format

00:00:17

canceled #1161953
amd64 linux
coccinelle

00:00:34

passed #1161954
amd64 linux
danger

00:00:20

passed #1161951
amd64 linux
misc

00:00:14

canceled #1161955
amd64 linux
tarball-create

00:00:14

 
  Build
canceled #1161968
amd64 linux
clang:asan

00:00:07

canceled #1161972
amd64 linux
clang:buster:amd64

00:00:13

canceled #1161975
amd64 libvirt
clang:freebsd11:amd64

00:00:14

canceled #1161976
amd64 libvirt
clang:freebsd12:amd64

00:00:04

canceled #1161977
amd64 libvirt
clang:openbsd:amd64

00:00:04

canceled #1161970
amd64 linux
clang:tsan

00:00:06

canceled #1161956
amd64 linux
gcc:alpine3.12:amd64

00:00:14

canceled #1161967
amd64 linux
gcc:asan

00:00:08

canceled #1161960
amd64 linux
gcc:buster:amd64

00:00:13

canceled #1161957
amd64 linux
gcc:centos7:amd64

00:00:14

canceled #1161958
amd64 linux
gcc:centos8:amd64

00:00:13

canceled #1161966
amd64 linux
gcc:focal:amd64

00:00:08

canceled #1161971
amd64 linux
gcc:mutexatomics

00:00:07

canceled #1161962
amd64 linux
gcc:out-of-tree

00:00:10

canceled #1161961
amd64 linux
gcc:sid:amd64

00:00:12

canceled #1161963
i386 linux
gcc:sid:i386

00:00:10

canceled #1161973
amd64 linux
gcc:softhsm2.4

00:00:13

canceled #1161974
amd64 linux
gcc:softhsm2.6

00:00:13

canceled #1161959
amd64 linux
gcc:stretch:amd64

00:00:13

canceled #1161969
amd64 linux
gcc:tsan

00:00:07

canceled #1161964
amd64 linux
gcc:tumbleweed:amd64

00:00:09

canceled #1161965
amd64 linux
gcc:xenial:amd64

00:00:08

canceled #1161978
amd64 windows
msvc:windows:amd64

00:00:35

 
  Unit
canceled #1161990
amd64 linux
unit:clang:asan

canceled #1161994
amd64 linux
unit:clang:buster:amd64

canceled #1161997
amd64 libvirt
unit:clang:freebsd11:amd64

canceled #1161998
amd64 libvirt
unit:clang:freebsd12:amd64

canceled #1161992
amd64 linux
unit:clang:tsan

canceled #1161979
amd64 linux
unit:gcc:alpine3.12:amd64

canceled #1161989
amd64 linux
unit:gcc:asan

canceled #1161983
amd64 linux
unit:gcc:buster:amd64

canceled #1161980
amd64 linux
unit:gcc:centos7:amd64

canceled #1161981
amd64 linux
unit:gcc:centos8:amd64

canceled #1161988
amd64 linux
unit:gcc:focal:amd64

canceled #1161993
amd64 linux
unit:gcc:mutexatomics

canceled #1161984
amd64 linux
unit:gcc:sid:amd64

canceled #1161985
i386 linux
unit:gcc:sid:i386

canceled #1161995
amd64 linux
unit:gcc:softhsm2.4

canceled #1161996
amd64 linux
unit:gcc:softhsm2.6

canceled #1161982
amd64 linux
unit:gcc:stretch:amd64

canceled #1161991
amd64 linux
unit:gcc:tsan

canceled #1161986
amd64 linux
unit:gcc:tumbleweed:amd64

canceled #1161987
amd64 linux
unit:gcc:xenial:amd64

 
  System
canceled #1162010
amd64 linux
system:clang:asan

canceled #1162014
amd64 linux
system:clang:buster:amd64

canceled #1162017
amd64 libvirt
system:clang:freebsd11:amd64

canceled #1162018
amd64 libvirt
system:clang:freebsd12:amd64

canceled #1162012
amd64 linux allowed to fail
system:clang:tsan

canceled #1161999
amd64 linux
system:gcc:alpine3.12:amd64

canceled #1162009
amd64 linux
system:gcc:asan

canceled #1162003
amd64 linux
system:gcc:buster:amd64

canceled #1162000
amd64 linux
system:gcc:centos7:amd64

canceled #1162001
amd64 linux
system:gcc:centos8:amd64

canceled #1162008
amd64 linux
system:gcc:focal:amd64

canceled #1162013
amd64 linux
system:gcc:mutexatomics

canceled #1162004
amd64 linux
system:gcc:sid:amd64

canceled #1162005
i386 linux
system:gcc:sid:i386

canceled #1162015
amd64 linux
system:gcc:softhsm2.4

canceled #1162016
amd64 linux
system:gcc:softhsm2.6

canceled #1162002
amd64 linux
system:gcc:stretch:amd64

canceled #1162011
amd64 linux allowed to fail
system:gcc:tsan

canceled #1162006
amd64 linux
system:gcc:tumbleweed:amd64

canceled #1162007
amd64 linux
system:gcc:xenial:amd64

 
  Docs
canceled #1162019
amd64 linux
docs

00:00:05

 
  Postcheck
canceled #1162023
amd64 linux
cppcheck

00:00:03

canceled #1162020
amd64 linux
flake8

00:00:04

canceled #1162024
amd64 linux
gcov

canceled #1162021
amd64 linux
pylint

00:00:04

canceled #1162022
amd64 linux
scan-build

00:00:04