qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" conce


From: Alex Bennée
Subject: Re: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
Date: Wed, 11 Nov 2020 09:37:53 +0000
User-agent: mu4e 1.5.7; emacs 28.0.50

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> When a job fails, someone has to take care of it. As we can
> not wait indefinitively of volunteers good will, introduce the
> concept of "job maintainers". A job maintainer is reponsible
> of keeping it working, or contact the developers having broken
> it to fix it.
>
> When a job is added, it must have a maintainer. A job without
> maintainer is not run automatically. It can however be run
> manually from the WebUI.
>
> To declare a maintainer, it is as easy as defining the
> JOB_MAINTAINER_NAME / JOB_MAINTAINER_EMAIL environment variables.

So I think the problem here is the CI jobs are orthogonal to the actual
tests. And the tests should be associated via MAINTAINERS with the
relevant sub-systems.

That is not to say that the test environments don't need some care and
attention. So I'm quite happy to track updates needed to
tests/docker/dockerfiles for example but just because check-block failed
on an Ubuntu system doesn't mean I'm best placed to diagnose the
problem. In the first instance it shouldn't happen (not merging code
that regresses a test) and the second instance probably requires a block
maintainer to look at the output.

I think a better solution is to improve our test reporting so we can
quickly point the failing tests. I notice GitLab gets nice test output
from check-acceptance. What would we need to do to improve it from
check, check-block and check-tcg?


>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
> Ideally the runner will notify the maintainer by mail that
> a job fails. But we are not quite there yet.
>
> It would be nice if someone document this properly.
> ---
>  .gitlab-ci.d/containers.yml  | 4 ++++
>  .gitlab-ci.d/crossbuilds.yml | 6 ++++++
>  .gitlab-ci.yml               | 6 ++++++
>  3 files changed, 16 insertions(+)
>
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 7e664878cab..bd2a05008d1 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -21,6 +21,10 @@
>    after_script:
>      - docker logout
>    rules:
> +    # Skip unmaintained jobs
> +    - if: $JOB_MAINTAINER_NAME == null || $JOB_MAINTAINER_EMAIL == null
> +      when: manual
> +      allow_failure: true
>      - changes:
>        - .gitlab-ci.d/containers.yml
>        - tests/docker/*
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 701550f028c..aecdb2a38f1 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -1,6 +1,12 @@
>  .cross_common_job:
>    stage: build
>    image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
> +  rules:
> +    # Skip unmaintained jobs
> +    - if: $JOB_MAINTAINER_NAME == null || $JOB_MAINTAINER_EMAIL == null
> +      when: manual
> +      allow_failure: true
> +    - when: always
>  
>  .cross_system_build_job:
>    extends: .cross_common_job
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 2e631d4f160..ded4f0bdd18 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -19,6 +19,12 @@ include:
>  
>  .native_common_job:
>    image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
> +  rules:
> +    # Skip unmaintained jobs
> +    - if: $JOB_MAINTAINER_NAME == null || $JOB_MAINTAINER_EMAIL == null
> +      when: manual
> +      allow_failure: true
> +    - when: always
>  
>  .native_build_job:
>    extends: .native_common_job


-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]