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é <phi...@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