qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Wainer dos Santos Moschetta <wainersm@redhat.com>
To: "Philippe Mathieu-Daudé" <philmd@redhat.com>,
	qemu-devel@nongnu.org, "Willian Rampazzo" <wrampazz@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	virt-ci-maint-team@redhat.com, "Cleber Rosa" <crosa@redhat.com>
Subject: Re: [RFC PATCH-for-5.2] gitlab-ci: Do not automatically run Avocado integration tests anymore
Date: Fri, 27 Nov 2020 16:36:43 -0300	[thread overview]
Message-ID: <e30a9acc-5fc2-97d0-0de4-c3eb02851571@redhat.com> (raw)
In-Reply-To: <20201127174110.1932671-1-philmd@redhat.com>

Hi Phil,

On 11/27/20 2:41 PM, Philippe Mathieu-Daudé wrote:
> We lately realized that the Avocado framework was not designed
> to be regularly run on CI environments. Therefore, as of 5.2
> we deprecate the gitlab-ci jobs using Avocado. To not disrupt
> current users, it is possible to keep the current behavior by
> setting the QEMU_CI_INTEGRATION_JOBS_PRE_5_2_RELEASE variable
> (see [*]).


Could you please detail where have you seen the avocado based tests 
failing that much to justify their removal of CI?

See below some data that I generated from the pipelines for 
https://gitlab.com/qemu-project/qemu/. It seems that jobs which failed 
due timeout are marked as 'skip' and that explain why some pipelines 
don't have a list of failed jobs.

---

Failed 21 out of 99
Pipeline -- 221617704 (staging)
check-patch
Pipeline -- 219276598 (master)
pages
Pipeline -- 218121424 (master)
Pipeline -- 217995873 (staging)
acceptance-system-fedora
Pipeline -- 217995872 (master)
build-tci
Pipeline -- 217551771 (v5.2.0-rc2)
Pipeline -- 217503505 (master)
Pipeline -- 217362429 (master)
Pipeline -- 217328707 (master)
check-crypto-old-nettle
Pipeline -- 216770735 (staging)
acceptance-system-fedora
check-patch
Pipeline -- 215772908 (master)
Pipeline -- 215715025 (staging)
check-crypto-old-gcrypt
Pipeline -- 215715024 (master)
check-crypto-old-nettle
Pipeline -- 214944520 (master)
acceptance-system-debian
Pipeline -- 214460230 (v5.2.0-rc1)
Pipeline -- 214438601 (master)
check-crypto-only-gnutls
Pipeline -- 214273938 (master)
Pipeline -- 214183970 (master)
Pipeline -- 214140305 (master)
Pipeline -- 213892224 (master)
Pipeline -- 213871132 (master)
>  From now on, using these jobs (or adding new tests to them)
> is strongly discouraged.
>
> Tests based on Avocado will be ported to new job schemes during
> the next releases, with better documentation and templates.
>
> [*] https://docs.gitlab.com/ee/ci/variables/README.html#create-a-custom-variable-in-the-ui
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   .gitlab-ci.yml | 9 +++++++++
>   1 file changed, 9 insertions(+)
>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index d0173e82b16..2674407cd13 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -66,6 +66,15 @@ include:
>       - cd build
>       - python3 -c 'import json; r = json.load(open("tests/results/latest/results.json")); [print(t["logfile"]) for t in r["tests"] if t["status"] not in ("PASS", "SKIP", "CANCEL")]' | xargs cat
>       - du -chs ${CI_PROJECT_DIR}/avocado-cache
> +  rules:
> +  # As of QEMU 5.2, Avocado is not yet ready to run in CI environments, therefore
> +  # the jobs based on this template are not run automatically (except if the user
> +  # explicitly sets the QEMU_CI_INTEGRATION_JOBS_PRE_5_2_RELEASE environment
> +  # variable). Adding new jobs on top of this template is strongly discouraged.
> +  - if: $QEMU_CI_INTEGRATION_JOBS_PRE_5_2_RELEASE == null
> +    when: manual
> +    allow_failure: true
> +  - when: always
>   
>   build-system-ubuntu:
>     <<: *native_build_job_definition


The script I used to generate the above metrics:

$ pip install --user python-gitlab

$ cat gitlab-stats
#!/bin/env python3

import gitlab

gl = gitlab.Gitlab('http://gitlab.com')
qemu_project = gl.projects.get(11167699)
pipelines = qemu_project.pipelines.list()

total=0
failed=[]
for pipeline in qemu_project.pipelines.list(page=1, per_page=300):
     if pipeline.status == 'running':
         continue
     elif pipeline.status == 'failed':
         failed.append(pipeline)
     total += 1

print("Failed %d out of %d" % (len(failed), total))
for pipeline in failed:
     print('Pipeline -- %d (%s)' % (pipeline.id, pipeline.ref))
     jobs_failed=[]
     for job in pipeline.jobs.list():
         if job.status == 'failed':
             print(job.name)



  parent reply	other threads:[~2020-11-27 19:37 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-27 17:41 [RFC PATCH-for-5.2] gitlab-ci: Do not automatically run Avocado integration tests anymore Philippe Mathieu-Daudé
2020-11-27 17:47 ` Thomas Huth
2020-11-27 17:57   ` Philippe Mathieu-Daudé
2020-11-27 18:29     ` Thomas Huth
2020-11-27 18:46       ` Philippe Mathieu-Daudé
2020-11-30  8:10         ` Cornelia Huck
2020-11-30  9:36           ` Philippe Mathieu-Daudé
2020-11-30 10:07             ` Cornelia Huck
2020-11-30  9:03         ` Thomas Huth
2020-11-30  9:52           ` Philippe Mathieu-Daudé
2020-11-30 10:25           ` Daniel P. Berrangé
2020-11-30 10:31       ` Daniel P. Berrangé
2020-11-30 16:45         ` Ademar Reis
2020-12-04 14:42       ` Wainer dos Santos Moschetta
2020-11-27 23:21     ` Niek Linnenbank
2020-11-27 19:36 ` Wainer dos Santos Moschetta [this message]
2020-11-30 21:42 ` Willian Rampazzo
2020-12-01  3:48 ` Cleber Rosa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e30a9acc-5fc2-97d0-0de4-c3eb02851571@redhat.com \
    --to=wainersm@redhat.com \
    --cc=alex.bennee@linaro.org \
    --cc=crosa@redhat.com \
    --cc=philmd@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=virt-ci-maint-team@redhat.com \
    --cc=wrampazz@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).