qemu-devel
[Top][All Lists]
Advanced

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

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


From: Philippe Mathieu-Daudé
Subject: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
Date: Tue, 10 Nov 2020 17:01:34 +0100

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.

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
-- 
2.26.2




reply via email to

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