From: Philippe Mathieu-Daudé <philmd@redhat.com>
Similarly to commit 8cdb2cef3f1, move the gprof/gcov test to GitLab.
The coverage-summary.sh script is not Travis-CI specific, make it
generic.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20201108204535.2319870-10-philmd@redhat.com>
[thuth: Add gcovr and bsdmainutils which are required for the
overage-summary.sh script to the ubuntu docker file]
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.yml | 12 ++++++++++++
.travis.yml | 14 --------------
MAINTAINERS | 2 +-
scripts/{travis => ci}/coverage-summary.sh | 2 +-
tests/docker/dockerfiles/ubuntu2004.docker | 2 ++
5 files changed, 16 insertions(+), 16 deletions(-)
rename scripts/{travis => ci}/coverage-summary.sh (92%)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7c0db64710..8b97b512bb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -468,6 +468,18 @@ check-deprecated:
MAKE_CHECK_ARGS: check-tcg
allow_failure: true
+# gprof/gcov are GCC features
+build-gprof-gcov:
+ <<: *native_build_job_definition
+ variables:
+ IMAGE: ubuntu2004
+ CONFIGURE_ARGS: --enable-gprof --enable-gcov
+ MAKE_CHECK_ARGS: build-tcg
+ TARGETS: aarch64-softmmu mips64-softmmu ppc64-softmmu
+ riscv64-softmmu s390x-softmmu x86_64-softmmu
+ after_script:
+ - ${CI_PROJECT_DIR}/scripts/ci/coverage-summary.sh
+
build-oss-fuzz:
<<: *native_build_job_definition
variables:
diff --git a/.travis.yml b/.travis.yml
index 5f1dea873e..76b69f6de1 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -166,20 +166,6 @@ jobs:
compiler: clang
- # gprof/gcov are GCC features
- - name: "GCC gprof/gcov"
- dist: bionic
- addons:
- apt:
- packages:
- - ninja-build
- env:
- - CONFIG="--enable-gprof --enable-gcov --disable-libssh
- --target-list=${MAIN_SOFTMMU_TARGETS}"
- after_success:
- - ${SRC_DIR}/scripts/travis/coverage-summary.sh
-
-
# Using newer GCC with sanitizers
- name: "GCC9 with sanitizers (softmmu)"
dist: bionic
diff --git a/MAINTAINERS b/MAINTAINERS
index bcd88668bc..f14a2e6eb5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3193,7 +3193,7 @@ R: Philippe Mathieu-Daudé <philmd@redhat.com>
S: Maintained
F: .github/lockdown.yml
F: .travis.yml
-F: scripts/travis/
+F: scripts/ci/
F: .shippable.yml
F: tests/docker/
F: tests/vm/
diff --git a/scripts/travis/coverage-summary.sh b/scripts/ci/coverage-summary.sh
similarity index 92%
rename from scripts/travis/coverage-summary.sh
rename to scripts/ci/coverage-summary.sh
index d7086cf9ca..8d9fb4de40 100755
--- a/scripts/travis/coverage-summary.sh
+++ b/scripts/ci/coverage-summary.sh
@@ -3,7 +3,7 @@
# Author: Alex Bennée <alex.bennee@linaro.org>
#
# Summerise the state of code coverage with gcovr and tweak the output
-# to be more sane on Travis hosts. As we expect to be executed on a
+# to be more sane on CI runner. As we expect to be executed on a
# throw away CI instance we do spam temp files all over the shop. You
# most likely don't want to execute this script but just call gcovr
# directly. See also "make coverage-report"
diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
index 8519584d2b..9750016e51 100644
--- a/tests/docker/dockerfiles/ubuntu2004.docker
+++ b/tests/docker/dockerfiles/ubuntu2004.docker
@@ -1,8 +1,10 @@
FROM ubuntu:20.04
ENV PACKAGES flex bison \
+ bsdmainutils \
ccache \
clang-10\
gcc \
+ gcovr \
genisoimage \
gettext \
git \
--
2.27.0
Hi,
On 2/3/21 8:32 AM, Thomas Huth wrote:
> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>
> Similarly to commit 8cdb2cef3f1, move the gprof/gcov test to GitLab.
>
> The coverage-summary.sh script is not Travis-CI specific, make it
> generic.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Message-Id: <20201108204535.2319870-10-philmd@redhat.com>
> [thuth: Add gcovr and bsdmainutils which are required for the
> overage-summary.sh script to the ubuntu docker file]
s/overage/coverage/
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> .gitlab-ci.yml | 12 ++++++++++++
> .travis.yml | 14 --------------
> MAINTAINERS | 2 +-
> scripts/{travis => ci}/coverage-summary.sh | 2 +-
> tests/docker/dockerfiles/ubuntu2004.docker | 2 ++
> 5 files changed, 16 insertions(+), 16 deletions(-)
> rename scripts/{travis => ci}/coverage-summary.sh (92%)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 7c0db64710..8b97b512bb 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -468,6 +468,18 @@ check-deprecated:
> MAKE_CHECK_ARGS: check-tcg
> allow_failure: true
>
> +# gprof/gcov are GCC features
> +build-gprof-gcov:
> + <<: *native_build_job_definition
> + variables:
> + IMAGE: ubuntu2004
> + CONFIGURE_ARGS: --enable-gprof --enable-gcov
> + MAKE_CHECK_ARGS: build-tcg
With build-tcg it generates an empty report, e.g.,
https://gitlab.com/wainersm/qemu/-/jobs/1005923421
Shouldn't it run `make check`?
- Wainer
> + TARGETS: aarch64-softmmu mips64-softmmu ppc64-softmmu
> + riscv64-softmmu s390x-softmmu x86_64-softmmu
> + after_script:
> + - ${CI_PROJECT_DIR}/scripts/ci/coverage-summary.sh
> +
> build-oss-fuzz:
> <<: *native_build_job_definition
> variables:
> diff --git a/.travis.yml b/.travis.yml
> index 5f1dea873e..76b69f6de1 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -166,20 +166,6 @@ jobs:
> compiler: clang
>
>
> - # gprof/gcov are GCC features
> - - name: "GCC gprof/gcov"
> - dist: bionic
> - addons:
> - apt:
> - packages:
> - - ninja-build
> - env:
> - - CONFIG="--enable-gprof --enable-gcov --disable-libssh
> - --target-list=${MAIN_SOFTMMU_TARGETS}"
> - after_success:
> - - ${SRC_DIR}/scripts/travis/coverage-summary.sh
> -
> -
> # Using newer GCC with sanitizers
> - name: "GCC9 with sanitizers (softmmu)"
> dist: bionic
> diff --git a/MAINTAINERS b/MAINTAINERS
> index bcd88668bc..f14a2e6eb5 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3193,7 +3193,7 @@ R: Philippe Mathieu-Daudé <philmd@redhat.com>
> S: Maintained
> F: .github/lockdown.yml
> F: .travis.yml
> -F: scripts/travis/
> +F: scripts/ci/
> F: .shippable.yml
> F: tests/docker/
> F: tests/vm/
> diff --git a/scripts/travis/coverage-summary.sh b/scripts/ci/coverage-summary.sh
> similarity index 92%
> rename from scripts/travis/coverage-summary.sh
> rename to scripts/ci/coverage-summary.sh
> index d7086cf9ca..8d9fb4de40 100755
> --- a/scripts/travis/coverage-summary.sh
> +++ b/scripts/ci/coverage-summary.sh
> @@ -3,7 +3,7 @@
> # Author: Alex Bennée <alex.bennee@linaro.org>
> #
> # Summerise the state of code coverage with gcovr and tweak the output
> -# to be more sane on Travis hosts. As we expect to be executed on a
> +# to be more sane on CI runner. As we expect to be executed on a
> # throw away CI instance we do spam temp files all over the shop. You
> # most likely don't want to execute this script but just call gcovr
> # directly. See also "make coverage-report"
> diff --git a/tests/docker/dockerfiles/ubuntu2004.docker b/tests/docker/dockerfiles/ubuntu2004.docker
> index 8519584d2b..9750016e51 100644
> --- a/tests/docker/dockerfiles/ubuntu2004.docker
> +++ b/tests/docker/dockerfiles/ubuntu2004.docker
> @@ -1,8 +1,10 @@
> FROM ubuntu:20.04
> ENV PACKAGES flex bison \
> + bsdmainutils \
> ccache \
> clang-10\
> gcc \
> + gcovr \
> genisoimage \
> gettext \
> git \
On 03/02/2021 20.32, Wainer dos Santos Moschetta wrote:
> Hi,
>
> On 2/3/21 8:32 AM, Thomas Huth wrote:
>> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>>
>> Similarly to commit 8cdb2cef3f1, move the gprof/gcov test to GitLab.
>>
>> The coverage-summary.sh script is not Travis-CI specific, make it
>> generic.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Message-Id: <20201108204535.2319870-10-philmd@redhat.com>
>> [thuth: Add gcovr and bsdmainutils which are required for the
>> overage-summary.sh script to the ubuntu docker file]
> s/overage/coverage/
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>> .gitlab-ci.yml | 12 ++++++++++++
>> .travis.yml | 14 --------------
>> MAINTAINERS | 2 +-
>> scripts/{travis => ci}/coverage-summary.sh | 2 +-
>> tests/docker/dockerfiles/ubuntu2004.docker | 2 ++
>> 5 files changed, 16 insertions(+), 16 deletions(-)
>> rename scripts/{travis => ci}/coverage-summary.sh (92%)
>>
>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>> index 7c0db64710..8b97b512bb 100644
>> --- a/.gitlab-ci.yml
>> +++ b/.gitlab-ci.yml
>> @@ -468,6 +468,18 @@ check-deprecated:
>> MAKE_CHECK_ARGS: check-tcg
>> allow_failure: true
>> +# gprof/gcov are GCC features
>> +build-gprof-gcov:
>> + <<: *native_build_job_definition
>> + variables:
>> + IMAGE: ubuntu2004
>> + CONFIGURE_ARGS: --enable-gprof --enable-gcov
>> + MAKE_CHECK_ARGS: build-tcg
>
> With build-tcg it generates an empty report, e.g.,
> https://gitlab.com/wainersm/qemu/-/jobs/1005923421
>
> Shouldn't it run `make check`?
D'oh, you're right. I think we need to run at least a "make check-unit"
here. I'll rework my patch accordingly...
By the way, it's broken on Travis since a long time, e.g. with version 5.0
there is already only a stack trace:
https://travis-ci.org/github/qemu/qemu/jobs/680661167#L8411
Seems like nobody noticed this for almost a year now...
Thomas
Thomas Huth <thuth@redhat.com> writes:
> On 03/02/2021 20.32, Wainer dos Santos Moschetta wrote:
>> Hi,
>>
>> On 2/3/21 8:32 AM, Thomas Huth wrote:
>>> From: Philippe Mathieu-Daudé <philmd@redhat.com>
>>>
>>> Similarly to commit 8cdb2cef3f1, move the gprof/gcov test to GitLab.
>>>
>>> The coverage-summary.sh script is not Travis-CI specific, make it
>>> generic.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>>> Message-Id: <20201108204535.2319870-10-philmd@redhat.com>
>>> [thuth: Add gcovr and bsdmainutils which are required for the
>>> overage-summary.sh script to the ubuntu docker file]
>> s/overage/coverage/
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>> .gitlab-ci.yml | 12 ++++++++++++
>>> .travis.yml | 14 --------------
>>> MAINTAINERS | 2 +-
>>> scripts/{travis => ci}/coverage-summary.sh | 2 +-
>>> tests/docker/dockerfiles/ubuntu2004.docker | 2 ++
>>> 5 files changed, 16 insertions(+), 16 deletions(-)
>>> rename scripts/{travis => ci}/coverage-summary.sh (92%)
>>>
>>> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
>>> index 7c0db64710..8b97b512bb 100644
>>> --- a/.gitlab-ci.yml
>>> +++ b/.gitlab-ci.yml
>>> @@ -468,6 +468,18 @@ check-deprecated:
>>> MAKE_CHECK_ARGS: check-tcg
>>> allow_failure: true
>>> +# gprof/gcov are GCC features
>>> +build-gprof-gcov:
>>> + <<: *native_build_job_definition
>>> + variables:
>>> + IMAGE: ubuntu2004
>>> + CONFIGURE_ARGS: --enable-gprof --enable-gcov
>>> + MAKE_CHECK_ARGS: build-tcg
>>
>> With build-tcg it generates an empty report, e.g.,
>> https://gitlab.com/wainersm/qemu/-/jobs/1005923421
>>
>> Shouldn't it run `make check`?
>
> D'oh, you're right. I think we need to run at least a "make check-unit"
> here. I'll rework my patch accordingly...
>
> By the way, it's broken on Travis since a long time, e.g. with version 5.0
> there is already only a stack trace:
>
> https://travis-ci.org/github/qemu/qemu/jobs/680661167#L8411
>
> Seems like nobody noticed this for almost a year now...
doh - the check_coverage was an after_success step so never influenced
the result. It was only a band aid really though - it would be better if
we published the html coverage report on gitlab's pages (like we now do
for annotated gtags source: https://qemu-project.gitlab.io/qemu/src/
>
> Thomas
--
Alex Bennée
© 2016 - 2026 Red Hat, Inc.