[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
- [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job), (continued)
- [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job), Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 02/16] gitlab-ci: Replace YAML anchors by extends (native_build_job), Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 03/16] gitlab-ci: Replace YAML anchors by extends (native_test_job), Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 04/16] gitlab-ci: Replace YAML anchors by extends (acceptance_test_job), Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 05/16] gitlab-ci: Replace YAML anchors by extends (container_job), Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 06/16] gitlab-ci: Rename acceptance_test_job -> integration_test_job, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 07/16] gitlab-ci: Extract common job definition as 'cross_common_job', Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 08/16] gitlab-ci: Extract common job definition as 'native_common_job', Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 09/16] gitlab-ci: Set default workflow rule, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 11/16] gitlab-ci: Mark some jobs maintained by Red Hat Virt CI team, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 12/16] gitlab-ci: Mark Bin Meng maintainer of the OpenSBI job, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 13/16] gitlab-ci: Mark Alex Bennée maintainer of Debian / Ubuntu jobs, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 14/16] gitlab-ci: Mark Stefan Weil maintainer of the TCI job, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 15/16] gitlab-ci: Volunteer to maintain Debian based and hobbyist jobs, Philippe Mathieu-Daudé, 2020/11/10
- [RFC PATCH 16/16] gitlab-ci: Do not automatically run integration tests for push events, Philippe Mathieu-Daudé, 2020/11/10