[PATCH-for-6.0 v4 09/17] gitlab-ci: Move gprof/gcov test across to gitlab

Philippe Mathieu-Daudé posted 17 patches 5 years, 3 months ago
[PATCH-for-6.0 v4 09/17] gitlab-ci: Move gprof/gcov test across to gitlab
Posted by Philippe Mathieu-Daudé 5 years, 3 months ago
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>
---
 .gitlab-ci.yml                             | 12 ++++++++++++
 .travis.yml                                | 14 --------------
 MAINTAINERS                                |  2 +-
 scripts/{travis => ci}/coverage-summary.sh |  2 +-
 4 files changed, 14 insertions(+), 16 deletions(-)
 rename scripts/{travis => ci}/coverage-summary.sh (92%)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 80082a602b8..d1583cee5db 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -403,6 +403,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 bee6197290d..6087e2909cd 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -210,20 +210,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
-
-
     # We don't need to exercise every backend with every front-end
     - name: "GCC trace log,simple,syslog (user)"
       env:
diff --git a/MAINTAINERS b/MAINTAINERS
index 817c7c93f91..3d8c586d444 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3121,7 +3121,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 d7086cf9ca6..8d9fb4de401 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"
-- 
2.26.2

Re: [PATCH-for-6.0 v4 09/17] gitlab-ci: Move gprof/gcov test across to gitlab
Posted by Wainer dos Santos Moschetta 5 years, 3 months ago
On 11/8/20 6:45 PM, Philippe Mathieu-Daudé wrote:
> 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>
> ---
>   .gitlab-ci.yml                             | 12 ++++++++++++
>   .travis.yml                                | 14 --------------
>   MAINTAINERS                                |  2 +-
>   scripts/{travis => ci}/coverage-summary.sh |  2 +-
>   4 files changed, 14 insertions(+), 16 deletions(-)
>   rename scripts/{travis => ci}/coverage-summary.sh (92%)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 80082a602b8..d1583cee5db 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -403,6 +403,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
> +

The script uses gcovr and it is not installed in the Ubuntu 20.04 
container image:

docker run registry.gitlab.com/qemu-project/qemu/qemu/ubuntu2004 gcovr
Emulate Docker CLI using podman. Create /etc/containers/nodocker to 
quiet msg.
Error: executable file not found in $PATH: No such file or directory: 
OCI runtime command not found error

- Wainer

>   build-oss-fuzz:
>     <<: *native_build_job_definition
>     variables:
> diff --git a/.travis.yml b/.travis.yml
> index bee6197290d..6087e2909cd 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -210,20 +210,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
> -
> -
>       # We don't need to exercise every backend with every front-end
>       - name: "GCC trace log,simple,syslog (user)"
>         env:
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 817c7c93f91..3d8c586d444 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -3121,7 +3121,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 d7086cf9ca6..8d9fb4de401 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"