All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained
@ 2020-11-10 16:01 Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job) Philippe Mathieu-Daudé
                   ` (15 more replies)
  0 siblings, 16 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Hi,

TL;DR: Start reviewing from patch 10.

To release the burden on the project and subsystem maintainers
we want to rely more on GitLab continuous integration jobs.

We'd like the subsystem maintainers to use GitLab more, but
we need to provide contact in case something gets wrong (a job
failed: is it a bug in the code? is the test buggy? is GitLab
working? ...).

To avoid project/subsystem maintainers to worry about that, we
introduce the concept of "CI job maintainer". If a job fails,
there is someone responsible for it, able to help to figure out
what went wrong, until having the CI job passing again.

CI "job maintainers" are listed along the YAML job, having their
name and email in environment variable. Eventually script will
consume this variables to notify the maintainer.

I don't plan this to get merged, I just shoot a RFC to see what
the community thinks about this problem.

Patches 1-9 are preparatory cleanup. The proof of concept is
introduced (patch 10). Jobs without maintainer listed aren't
run. Then we gradually add maintainers, jobs get run again,
until restoring the current mainstream state (same jobs ran).

The final patch disable Avocado tests, as they are flaky, and
we want maintainers become confident GitLab CI is helpful for
them, so we don't want flaky tests for now. We might restore
these later.

Regards,

Phil.

Based-on: <20201110121606.2792442-1-philmd@redhat.com>

Philippe Mathieu-Daudé (16):
  gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
  gitlab-ci: Replace YAML anchors by extends (native_build_job)
  gitlab-ci: Replace YAML anchors by extends (native_test_job)
  gitlab-ci: Replace YAML anchors by extends (acceptance_test_job)
  gitlab-ci: Replace YAML anchors by extends (container_job)
  gitlab-ci: Rename acceptance_test_job -> integration_test_job
  gitlab-ci: Extract common job definition as 'cross_common_job'
  gitlab-ci: Extract common job definition as 'native_common_job'
  gitlab-ci: Set default workflow rule
  gitlab-ci: Introduce the CI "job maintainer" concept
  gitlab-ci: Mark some jobs maintained by Red Hat Virt CI team
  gitlab-ci: Mark Bin Meng maintainer of the OpenSBI job
  gitlab-ci: Mark Alex Bennée maintainer of Debian / Ubuntu jobs
  gitlab-ci: Mark Stefan Weil maintainer of the TCI job
  gitlab-ci: Volunteer to maintain Debian based and hobbyist jobs
  gitlab-ci: Do not automatically run integration tests for push events

 .gitlab-ci.d/containers.yml  | 138 +++++++++++++++++++++++---------
 .gitlab-ci.d/crossbuilds.yml |  77 ++++++++++++------
 .gitlab-ci.d/edk2.yml        |   4 +
 .gitlab-ci.d/opensbi.yml     |   4 +
 .gitlab-ci.yml               | 150 +++++++++++++++++++++++++----------
 5 files changed, 274 insertions(+), 99 deletions(-)

-- 
2.26.2




^ permalink raw reply	[flat|nested] 21+ messages in thread

* [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 02/16] gitlab-ci: Replace YAML anchors by extends (native_build_job) Philippe Mathieu-Daudé
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

'extends' is an alternative to using YAML anchors
and is a little more flexible and readable. See:
https://docs.gitlab.com/ee/ci/yaml/#extends

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 40 ++++++++++++++++++------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 03ebfabb3fa..099949aaef3 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,5 +1,5 @@
 
-.cross_system_build_job_template: &cross_system_build_job_definition
+.cross_system_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
   timeout: 80m
@@ -13,7 +13,7 @@
           xtensa-softmmu"
     - make -j$(expr $(nproc) + 1) all check-build
 
-.cross_user_build_job_template: &cross_user_build_job_definition
+.cross_user_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
   script:
@@ -24,91 +24,91 @@
     - make -j$(expr $(nproc) + 1) all check-build
 
 cross-armel-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-armel-cross
 
 cross-armel-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-armel-cross
 
 cross-armhf-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-armhf-cross
 
 cross-armhf-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-armhf-cross
 
 cross-arm64-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-arm64-cross
 
 cross-arm64-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-arm64-cross
 
 cross-mips-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-mips-cross
 
 cross-mips-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-mips-cross
 
 cross-mipsel-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-mipsel-cross
 
 cross-mipsel-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-mipsel-cross
 
 cross-mips64el-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-mips64el-cross
 
 cross-mips64el-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-mips64el-cross
 
 cross-ppc64el-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-ppc64el-cross
 
 cross-ppc64el-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-ppc64el-cross
 
 cross-s390x-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: debian-s390x-cross
 
 cross-s390x-user:
-  <<: *cross_user_build_job_definition
+  extends: .cross_user_build_job
   variables:
     IMAGE: debian-s390x-cross
 
 cross-win32-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: fedora-win32-cross
 
 cross-win64-system:
-  <<: *cross_system_build_job_definition
+  extends: .cross_system_build_job
   variables:
     IMAGE: fedora-win64-cross
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 02/16] gitlab-ci: Replace YAML anchors by extends (native_build_job)
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job) Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 03/16] gitlab-ci: Replace YAML anchors by extends (native_test_job) Philippe Mathieu-Daudé
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

'extends' is an alternative to using YAML anchors
and is a little more flexible and readable. See:
https://docs.gitlab.com/ee/ci/yaml/#extends

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9a8b3751882..d013504593a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,7 +13,7 @@ include:
   - local: '/.gitlab-ci.d/containers.yml'
   - local: '/.gitlab-ci.d/crossbuilds.yml'
 
-.native_build_job_template: &native_build_job_definition
+.native_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
   before_script:
@@ -68,7 +68,7 @@ include:
     - du -chs ${CI_PROJECT_DIR}/avocado-cache
 
 build-system-ubuntu:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: ubuntu2004
     TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
@@ -100,7 +100,7 @@ acceptance-system-ubuntu:
   <<: *acceptance_definition
 
 build-system-debian:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: debian-amd64
     TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu
@@ -132,7 +132,7 @@ acceptance-system-debian:
   <<: *acceptance_definition
 
 build-system-fedora:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: fedora
     CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs
@@ -164,7 +164,7 @@ acceptance-system-fedora:
   <<: *acceptance_definition
 
 build-system-centos:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: centos8
     CONFIGURE_ARGS: --disable-nettle --enable-gcrypt
@@ -196,7 +196,7 @@ acceptance-system-centos:
   <<: *acceptance_definition
 
 build-disabled:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: fedora
     CONFIGURE_ARGS: --disable-attr --disable-avx2 --disable-bochs
@@ -221,7 +221,7 @@ build-disabled:
     MAKE_CHECK_ARGS: check-qtest SPEED=slow
 
 build-tcg-disabled:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: centos8
   script:
@@ -241,7 +241,7 @@ build-tcg-disabled:
             260 261 262 263 264 270 272 273 277 279
 
 build-user:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system
@@ -251,7 +251,7 @@ build-user:
 # we skip sparc64-linux-user until it has been fixed somewhat
 # we skip cris-linux-user as it doesn't use the common run loop
 build-user-plugins:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user
@@ -259,7 +259,7 @@ build-user-plugins:
   timeout: 1h 30m
 
 build-clang:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: fedora
     CONFIGURE_ARGS: --cc=clang --cxx=clang++
@@ -269,7 +269,7 @@ build-clang:
 
 # These targets are on the way out
 build-deprecated:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-docs --disable-tools
@@ -294,7 +294,7 @@ check-deprecated:
   allow_failure: true
 
 build-oss-fuzz:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: fedora
   script:
@@ -312,7 +312,7 @@ build-oss-fuzz:
     - cd build-oss-fuzz && make check-qtest-i386 check-unit
 
 build-tci:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: fedora
   script:
@@ -337,7 +337,7 @@ build-tci:
 # These jobs test old gcrypt and nettle from RHEL7
 # which had some API differences.
 build-crypto-old-nettle:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: centos7
     TARGETS: x86_64-softmmu x86_64-linux-user
@@ -358,7 +358,7 @@ check-crypto-old-nettle:
 
 
 build-crypto-old-gcrypt:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: centos7
     TARGETS: x86_64-softmmu x86_64-linux-user
@@ -379,7 +379,7 @@ check-crypto-old-gcrypt:
 
 
 build-crypto-only-gnutls:
-  <<: *native_build_job_definition
+  extends: .native_build_job
   variables:
     IMAGE: centos7
     TARGETS: x86_64-softmmu x86_64-linux-user
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 03/16] gitlab-ci: Replace YAML anchors by extends (native_test_job)
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job) Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 02/16] gitlab-ci: Replace YAML anchors by extends (native_build_job) Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 04/16] gitlab-ci: Replace YAML anchors by extends (acceptance_test_job) Philippe Mathieu-Daudé
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

'extends' is an alternative to using YAML anchors
and is a little more flexible and readable. See:
https://docs.gitlab.com/ee/ci/yaml/#extends

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d013504593a..c8fdaecaf51 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -34,7 +34,7 @@ include:
         make -j"$JOBS" $MAKE_CHECK_ARGS ;
       fi
 
-.native_test_job_template: &native_test_job_definition
+.native_test_job:
   stage: test
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
   script:
@@ -81,7 +81,7 @@ build-system-ubuntu:
       - build
 
 check-system-ubuntu:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-ubuntu
       artifacts: true
@@ -90,7 +90,7 @@ check-system-ubuntu:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-ubuntu:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-ubuntu
       artifacts: true
@@ -113,7 +113,7 @@ build-system-debian:
       - build
 
 check-system-debian:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-debian
       artifacts: true
@@ -122,7 +122,7 @@ check-system-debian:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-debian:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-debian
       artifacts: true
@@ -145,7 +145,7 @@ build-system-fedora:
       - build
 
 check-system-fedora:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-fedora
       artifacts: true
@@ -154,7 +154,7 @@ check-system-fedora:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-fedora:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-fedora
       artifacts: true
@@ -177,7 +177,7 @@ build-system-centos:
       - build
 
 check-system-centos:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-centos
       artifacts: true
@@ -186,7 +186,7 @@ check-system-centos:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-centos:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-system-centos
       artifacts: true
@@ -284,7 +284,7 @@ build-deprecated:
 # We split the check-tcg step as test failures are expected but we still
 # want to catch the build breaking.
 check-deprecated:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-deprecated
       artifacts: true
@@ -348,7 +348,7 @@ build-crypto-old-nettle:
       - build
 
 check-crypto-old-nettle:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-crypto-old-nettle
       artifacts: true
@@ -369,7 +369,7 @@ build-crypto-old-gcrypt:
       - build
 
 check-crypto-old-gcrypt:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-crypto-old-gcrypt
       artifacts: true
@@ -390,7 +390,7 @@ build-crypto-only-gnutls:
       - build
 
 check-crypto-only-gnutls:
-  <<: *native_test_job_definition
+  extends: .native_test_job
   needs:
     - job: build-crypto-only-gnutls
       artifacts: true
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 04/16] gitlab-ci: Replace YAML anchors by extends (acceptance_test_job)
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 03/16] gitlab-ci: Replace YAML anchors by extends (native_test_job) Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 05/16] gitlab-ci: Replace YAML anchors by extends (container_job) Philippe Mathieu-Daudé
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

'extends' is an alternative to using YAML anchors
and is a little more flexible and readable. See:
https://docs.gitlab.com/ee/ci/yaml/#extends

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c8fdaecaf51..a45444f884b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,7 +42,8 @@ include:
     - find . -type f -exec touch {} +
     - make $MAKE_CHECK_ARGS
 
-.acceptance_template: &acceptance_definition
+.acceptance_test_job:
+  extends: .native_test_job
   cache:
     key: "${CI_JOB_NAME}-cache"
     paths:
@@ -90,14 +91,13 @@ check-system-ubuntu:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-ubuntu:
-  extends: .native_test_job
+  extends: .acceptance_test_job
   needs:
     - job: build-system-ubuntu
       artifacts: true
   variables:
     IMAGE: ubuntu2004
     MAKE_CHECK_ARGS: check-acceptance
-  <<: *acceptance_definition
 
 build-system-debian:
   extends: .native_build_job
@@ -122,14 +122,13 @@ check-system-debian:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-debian:
-  extends: .native_test_job
+  extends: .acceptance_test_job
   needs:
     - job: build-system-debian
       artifacts: true
   variables:
     IMAGE: debian-amd64
     MAKE_CHECK_ARGS: check-acceptance
-  <<: *acceptance_definition
 
 build-system-fedora:
   extends: .native_build_job
@@ -154,14 +153,13 @@ check-system-fedora:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-fedora:
-  extends: .native_test_job
+  extends: .acceptance_test_job
   needs:
     - job: build-system-fedora
       artifacts: true
   variables:
     IMAGE: fedora
     MAKE_CHECK_ARGS: check-acceptance
-  <<: *acceptance_definition
 
 build-system-centos:
   extends: .native_build_job
@@ -186,14 +184,13 @@ check-system-centos:
     MAKE_CHECK_ARGS: check
 
 acceptance-system-centos:
-  extends: .native_test_job
+  extends: .acceptance_test_job
   needs:
     - job: build-system-centos
       artifacts: true
   variables:
     IMAGE: centos8
     MAKE_CHECK_ARGS: check-acceptance
-  <<: *acceptance_definition
 
 build-disabled:
   extends: .native_build_job
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 05/16] gitlab-ci: Replace YAML anchors by extends (container_job)
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 04/16] gitlab-ci: Replace YAML anchors by extends (acceptance_test_job) Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 06/16] gitlab-ci: Rename acceptance_test_job -> integration_test_job Philippe Mathieu-Daudé
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

'extends' is an alternative to using YAML anchors
and is a little more flexible and readable. See:
https://docs.gitlab.com/ee/ci/yaml/#extends

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/containers.yml | 72 ++++++++++++++++++-------------------
 1 file changed, 36 insertions(+), 36 deletions(-)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 11d079ea581..7e664878cab 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -1,4 +1,4 @@
-.container_job_template: &container_job_definition
+.container_job:
   image: docker:stable
   stage: containers
   services:
@@ -29,220 +29,220 @@
     - if: '$CI_COMMIT_REF_NAME == "testing/next"'
 
 amd64-centos7-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: centos7
 
 amd64-centos8-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: centos8
 
 amd64-debian10-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: debian10
 
 amd64-debian11-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: debian11
 
 alpha-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-alpha-cross
 
 amd64-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-amd64-cross
 
 amd64-debian-user-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-all-test-cross
 
 amd64-debian-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-amd64
 
 arm64-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-arm64-cross
 
 arm64-test-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian11-container']
   variables:
     NAME: debian-arm64-test-cross
 
 armel-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-armel-cross
 
 armhf-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-armhf-cross
 
 hppa-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-hppa-cross
 
 m68k-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-m68k-cross
 
 mips64-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-mips64-cross
 
 mips64el-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-mips64el-cross
 
 mips-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-mips-cross
 
 mipsel-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-mipsel-cross
 
 powerpc-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-powerpc-cross
 
 ppc64-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-ppc64-cross
 
 ppc64el-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-ppc64el-cross
 
 riscv64-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-riscv64-cross
 
 s390x-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-s390x-cross
 
 sh4-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-sh4-cross
 
 sparc64-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-sparc64-cross
 
 tricore-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
     NAME: debian-tricore-cross
 
 xtensa-debian-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: debian-xtensa-cross
 
 cris-fedora-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: fedora-cris-cross
 
 amd64-fedora-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: fedora
 
 i386-fedora-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: fedora-i386-cross
 
 win32-fedora-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: fedora-win32-cross
 
 win64-fedora-cross-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: fedora-win64-cross
 
 amd64-ubuntu1804-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: ubuntu1804
 
 amd64-ubuntu2004-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: ubuntu2004
 
 amd64-ubuntu-container:
-  <<: *container_job_definition
+  extends: .container_job
   variables:
     NAME: ubuntu
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 06/16] gitlab-ci: Rename acceptance_test_job -> integration_test_job
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 05/16] gitlab-ci: Replace YAML anchors by extends (container_job) Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 07/16] gitlab-ci: Extract common job definition as 'cross_common_job' Philippe Mathieu-Daudé
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

The acceptance tests aren't accepting anything,
rename them as integration tests.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a45444f884b..17520640d7d 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -42,7 +42,7 @@ include:
     - find . -type f -exec touch {} +
     - make $MAKE_CHECK_ARGS
 
-.acceptance_test_job:
+.integration_test_job:
   extends: .native_test_job
   cache:
     key: "${CI_JOB_NAME}-cache"
@@ -90,8 +90,8 @@ check-system-ubuntu:
     IMAGE: ubuntu2004
     MAKE_CHECK_ARGS: check
 
-acceptance-system-ubuntu:
-  extends: .acceptance_test_job
+integration-system-ubuntu:
+  extends: .integration_test_job
   needs:
     - job: build-system-ubuntu
       artifacts: true
@@ -121,8 +121,8 @@ check-system-debian:
     IMAGE: debian-amd64
     MAKE_CHECK_ARGS: check
 
-acceptance-system-debian:
-  extends: .acceptance_test_job
+integration-system-debian:
+  extends: .integration_test_job
   needs:
     - job: build-system-debian
       artifacts: true
@@ -152,8 +152,8 @@ check-system-fedora:
     IMAGE: fedora
     MAKE_CHECK_ARGS: check
 
-acceptance-system-fedora:
-  extends: .acceptance_test_job
+integration-system-fedora:
+  extends: .integration_test_job
   needs:
     - job: build-system-fedora
       artifacts: true
@@ -183,8 +183,8 @@ check-system-centos:
     IMAGE: centos8
     MAKE_CHECK_ARGS: check
 
-acceptance-system-centos:
-  extends: .acceptance_test_job
+integration-system-centos:
+  extends: .integration_test_job
   needs:
     - job: build-system-centos
       artifacts: true
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 07/16] gitlab-ci: Extract common job definition as 'cross_common_job'
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 06/16] gitlab-ci: Rename acceptance_test_job -> integration_test_job Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 08/16] gitlab-ci: Extract common job definition as 'native_common_job' Philippe Mathieu-Daudé
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Extract the common definitions shared by '.cross_system_build_job'
and '.cross_user_build_job' to '.cross_common_job'.

This will be proven useful later, when we add rules common to
all cross jobs.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 099949aaef3..701550f028c 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,7 +1,9 @@
-
-.cross_system_build_job:
+.cross_common_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+
+.cross_system_build_job:
+  extends: .cross_common_job
   timeout: 80m
   script:
     - mkdir build
@@ -14,8 +16,7 @@
     - make -j$(expr $(nproc) + 1) all check-build
 
 .cross_user_build_job:
-  stage: build
-  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+  extends: .cross_common_job
   script:
     - mkdir build
     - cd build
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 08/16] gitlab-ci: Extract common job definition as 'native_common_job'
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (6 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 07/16] gitlab-ci: Extract common job definition as 'cross_common_job' Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 09/16] gitlab-ci: Set default workflow rule Philippe Mathieu-Daudé
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Extract the common definitions shared by '.native_build_job'
and '.native_test_job' to '.native_common_job'.

This will be proven useful later, when we add rules common to
all native jobs.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 17520640d7d..7404f95bebf 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -13,9 +13,12 @@ include:
   - local: '/.gitlab-ci.d/containers.yml'
   - local: '/.gitlab-ci.d/crossbuilds.yml'
 
-.native_build_job:
-  stage: build
+.native_common_job:
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+
+.native_build_job:
+  extends: .native_common_job
+  stage: build
   before_script:
     - JOBS=$(expr $(nproc) + 1)
     - sed -i s,git.qemu.org/git,gitlab.com/qemu-project, .gitmodules
@@ -35,8 +38,8 @@ include:
       fi
 
 .native_test_job:
+  extends: .native_common_job
   stage: test
-  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
   script:
     - cd build
     - find . -type f -exec touch {} +
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 09/16] gitlab-ci: Set default workflow rule
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (7 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 08/16] gitlab-ci: Extract common job definition as 'native_common_job' Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept Philippe Mathieu-Daudé
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

We want to to be able to change job rules. To not
forgot anything, start defining the default rule.

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7404f95bebf..2e631d4f160 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -7,6 +7,10 @@ stages:
   - build
   - test
 
+workflow:
+  rules:
+    - when: always
+
 include:
   - local: '/.gitlab-ci.d/edk2.yml'
   - local: '/.gitlab-ci.d/opensbi.yml'
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (8 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 09/16] gitlab-ci: Set default workflow rule Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-11  9:37   ` Alex Bennée
  2020-11-11  9:45   ` Daniel P. Berrangé
  2020-11-10 16:01 ` [RFC PATCH 11/16] gitlab-ci: Mark some jobs maintained by Red Hat Virt CI team Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  15 siblings, 2 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

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



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 11/16] gitlab-ci: Mark some jobs maintained by Red Hat Virt CI team
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (9 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 12/16] gitlab-ci: Mark Bin Meng maintainer of the OpenSBI job Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Red Hat contributed some CI jobs, and have a CI team.
Make it responsible for the following jobs:

 - centos7
 - centos8
 - fedora
 - edk2
 - clang
 - tcg disabled
 - fuzzer
 - crypto
 - checkpatch
 - dco check

Cc: Red Hat Virt CI maintainers <virt-ci-maint-team@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/containers.yml  | 12 ++++++++++++
 .gitlab-ci.d/crossbuilds.yml |  4 ++++
 .gitlab-ci.d/edk2.yml        |  4 ++++
 .gitlab-ci.yml               | 34 ++++++++++++++++++++++++++++++++++
 4 files changed, 54 insertions(+)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index bd2a05008d1..8ad15874e6e 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -36,11 +36,15 @@ amd64-centos7-container:
   extends: .container_job
   variables:
     NAME: centos7
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 amd64-centos8-container:
   extends: .container_job
   variables:
     NAME: centos8
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 amd64-debian10-container:
   extends: .container_job
@@ -220,21 +224,29 @@ amd64-fedora-container:
   extends: .container_job
   variables:
     NAME: fedora
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 i386-fedora-cross-container:
   extends: .container_job
   variables:
     NAME: fedora-i386-cross
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 win32-fedora-cross-container:
   extends: .container_job
   variables:
     NAME: fedora-win32-cross
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 win64-fedora-cross-container:
   extends: .container_job
   variables:
     NAME: fedora-win64-cross
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 amd64-ubuntu1804-container:
   extends: .container_job
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index aecdb2a38f1..a7e69a54074 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -114,8 +114,12 @@ cross-win32-system:
   extends: .cross_system_build_job
   variables:
     IMAGE: fedora-win32-cross
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
 
 cross-win64-system:
   extends: .cross_system_build_job
   variables:
     IMAGE: fedora-win64-cross
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
diff --git a/.gitlab-ci.d/edk2.yml b/.gitlab-ci.d/edk2.yml
index 335c99035c9..27692eabb5a 100644
--- a/.gitlab-ci.d/edk2.yml
+++ b/.gitlab-ci.d/edk2.yml
@@ -4,6 +4,8 @@ docker-edk2:
  services:
  - docker:19.03.1-dind
  variables:
+  JOB_MAINTAINER_NAME: "Red Hat Virt CI team"
+  JOB_MAINTAINER_EMAIL: virt-ci-test-results@redhat.com
   GIT_DEPTH: 3
   IMAGE_TAG: $CI_REGISTRY_IMAGE:edk2-cross-build
   # We don't use TLS
@@ -38,6 +40,8 @@ build-edk2:
    - edk2-stderr.log
  image: $CI_REGISTRY_IMAGE:edk2-cross-build
  variables:
+   JOB_MAINTAINER_NAME: "Red Hat Virt CI team"
+   JOB_MAINTAINER_EMAIL: virt-ci-test-results@redhat.com
    GIT_DEPTH: 3
  script: # Clone the required submodules and build EDK2
  - git submodule update --init roms/edk2
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ded4f0bdd18..ebb40fbf546 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -146,6 +146,8 @@ integration-system-debian:
 build-system-fedora:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: fedora
     CONFIGURE_ARGS: --disable-gcrypt --enable-nettle --enable-docs
     TARGETS: tricore-softmmu microblaze-softmmu mips-softmmu
@@ -162,6 +164,8 @@ check-system-fedora:
     - job: build-system-fedora
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: fedora
     MAKE_CHECK_ARGS: check
 
@@ -171,12 +175,16 @@ integration-system-fedora:
     - job: build-system-fedora
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: fedora
     MAKE_CHECK_ARGS: check-acceptance
 
 build-system-centos:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos8
     CONFIGURE_ARGS: --disable-nettle --enable-gcrypt
     TARGETS: ppc64-softmmu or1k-softmmu s390x-softmmu
@@ -193,6 +201,8 @@ check-system-centos:
     - job: build-system-centos
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos8
     MAKE_CHECK_ARGS: check
 
@@ -202,6 +212,8 @@ integration-system-centos:
     - job: build-system-centos
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos8
     MAKE_CHECK_ARGS: check-acceptance
 
@@ -233,6 +245,8 @@ build-disabled:
 build-tcg-disabled:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos8
   script:
     - mkdir build
@@ -271,6 +285,8 @@ build-user-plugins:
 build-clang:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: fedora
     CONFIGURE_ARGS: --cc=clang --cxx=clang++
     TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
@@ -306,6 +322,8 @@ check-deprecated:
 build-oss-fuzz:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: fedora
   script:
     - mkdir build-oss-fuzz
@@ -349,6 +367,8 @@ build-tci:
 build-crypto-old-nettle:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos7
     TARGETS: x86_64-softmmu x86_64-linux-user
     CONFIGURE_ARGS: --disable-gcrypt --enable-nettle
@@ -363,6 +383,8 @@ check-crypto-old-nettle:
     - job: build-crypto-old-nettle
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos7
     MAKE_CHECK_ARGS: check
 
@@ -370,6 +392,8 @@ check-crypto-old-nettle:
 build-crypto-old-gcrypt:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos7
     TARGETS: x86_64-softmmu x86_64-linux-user
     CONFIGURE_ARGS: --disable-nettle --enable-gcrypt
@@ -384,6 +408,8 @@ check-crypto-old-gcrypt:
     - job: build-crypto-old-gcrypt
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos7
     MAKE_CHECK_ARGS: check
 
@@ -391,6 +417,8 @@ check-crypto-old-gcrypt:
 build-crypto-only-gnutls:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos7
     TARGETS: x86_64-softmmu x86_64-linux-user
     CONFIGURE_ARGS: --disable-nettle --disable-gcrypt --enable-gnutls
@@ -405,6 +433,8 @@ check-crypto-only-gnutls:
     - job: build-crypto-only-gnutls
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     IMAGE: centos7
     MAKE_CHECK_ARGS: check
 
@@ -417,6 +447,8 @@ check-patch:
     variables:
       - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     GIT_DEPTH: 1000
   allow_failure: true
 
@@ -428,6 +460,8 @@ check-dco:
     variables:
       - $CI_PROJECT_NAMESPACE == 'qemu-project' && $CI_COMMIT_BRANCH == 'master'
   variables:
+    JOB_MAINTAINER_NAME: "Red Hat Virt CI maintainers"
+    JOB_MAINTAINER_EMAIL: virt-ci-maint-team@redhat.com
     GIT_DEPTH: 1000
 
 pages:
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 12/16] gitlab-ci: Mark Bin Meng maintainer of the OpenSBI job
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (10 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 11/16] gitlab-ci: Mark some jobs maintained by Red Hat Virt CI team Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 13/16] gitlab-ci: Mark Alex Bennée maintainer of Debian / Ubuntu jobs Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Bin Meng added the OpenSBI jobs in commit c6fc0fc1a71
("gitlab-ci.yml: Add jobs to build OpenSBI firmware binaries").

Cc: Bin Meng <bin.meng@windriver.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/opensbi.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitlab-ci.d/opensbi.yml b/.gitlab-ci.d/opensbi.yml
index b1fa244fda4..94f8d157144 100644
--- a/.gitlab-ci.d/opensbi.yml
+++ b/.gitlab-ci.d/opensbi.yml
@@ -4,6 +4,8 @@ docker-opensbi:
  services:
  - docker:19.03.1-dind
  variables:
+  JOB_MAINTAINER_NAME: "Bin Meng"
+  JOB_MAINTAINER_EMAIL: bin.meng@windriver.com
   GIT_DEPTH: 3
   IMAGE_TAG: $CI_REGISTRY_IMAGE:opensbi-cross-build
   # We don't use TLS
@@ -32,6 +34,8 @@ build-opensbi:
    - opensbi64-generic-stderr.log
  image: $CI_REGISTRY_IMAGE:opensbi-cross-build
  variables:
+   JOB_MAINTAINER_NAME: "Bin Meng"
+   JOB_MAINTAINER_EMAIL: bin.meng@windriver.com
    GIT_DEPTH: 3
  script: # Clone the required submodules and build OpenSBI
  - git submodule update --init roms/opensbi
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 13/16] gitlab-ci: Mark Alex Bennée maintainer of Debian / Ubuntu jobs
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (11 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 12/16] gitlab-ci: Mark Bin Meng maintainer of the OpenSBI job Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 14/16] gitlab-ci: Mark Stefan Weil maintainer of the TCI job Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Alex Bennée is maintaining the following jobs:

 - debian11
 - ubuntu*
 - alpha
 - cris
 - armel
 - arm64
 - cross user/test
 - build-disabled
 - build-user/plugins
 - build-deprecated

Cc: "Alex Bennée" <alex.bennee@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/containers.yml  | 26 ++++++++++++++++++++++++++
 .gitlab-ci.d/crossbuilds.yml |  6 ++++++
 .gitlab-ci.yml               | 16 ++++++++++++++++
 3 files changed, 48 insertions(+)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 8ad15874e6e..e2f59a4524f 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -54,6 +54,8 @@ amd64-debian10-container:
 amd64-debian11-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian11
 
 alpha-debian-cross-container:
@@ -61,6 +63,8 @@ alpha-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-alpha-cross
 
 amd64-debian-cross-container:
@@ -68,6 +72,8 @@ amd64-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-amd64-cross
 
 amd64-debian-user-cross-container:
@@ -75,6 +81,8 @@ amd64-debian-user-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-all-test-cross
 
 amd64-debian-container:
@@ -82,6 +90,8 @@ amd64-debian-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-amd64
 
 arm64-debian-cross-container:
@@ -89,6 +99,8 @@ arm64-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-arm64-cross
 
 arm64-test-debian-cross-container:
@@ -96,6 +108,8 @@ arm64-test-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian11-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-arm64-test-cross
 
 armel-debian-cross-container:
@@ -103,6 +117,8 @@ armel-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-armel-cross
 
 armhf-debian-cross-container:
@@ -117,6 +133,8 @@ hppa-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: debian-hppa-cross
 
 m68k-debian-cross-container:
@@ -218,6 +236,8 @@ xtensa-debian-cross-container:
 cris-fedora-cross-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: fedora-cris-cross
 
 amd64-fedora-container:
@@ -251,14 +271,20 @@ win64-fedora-cross-container:
 amd64-ubuntu1804-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: ubuntu1804
 
 amd64-ubuntu2004-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: ubuntu2004
 
 amd64-ubuntu-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     NAME: ubuntu
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index a7e69a54074..56e362ee421 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -38,6 +38,8 @@ cross-armel-system:
 cross-armel-user:
   extends: .cross_user_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-armel-cross
 
 cross-armhf-system:
@@ -53,11 +55,15 @@ cross-armhf-user:
 cross-arm64-system:
   extends: .cross_system_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-arm64-cross
 
 cross-arm64-user:
   extends: .cross_user_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-arm64-cross
 
 cross-mips-system:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ebb40fbf546..bafbdc0e1a7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -84,6 +84,8 @@ include:
 build-system-ubuntu:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: ubuntu2004
     TARGETS: aarch64-softmmu alpha-softmmu cris-softmmu hppa-softmmu
       moxie-softmmu microblazeel-softmmu mips64el-softmmu
@@ -100,6 +102,8 @@ check-system-ubuntu:
     - job: build-system-ubuntu
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: ubuntu2004
     MAKE_CHECK_ARGS: check
 
@@ -109,6 +113,8 @@ integration-system-ubuntu:
     - job: build-system-ubuntu
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: ubuntu2004
     MAKE_CHECK_ARGS: check-acceptance
 
@@ -220,6 +226,8 @@ integration-system-centos:
 build-disabled:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: fedora
     CONFIGURE_ARGS: --disable-attr --disable-avx2 --disable-bochs
       --disable-brlapi --disable-bzip2 --disable-cap-ng --disable-capstone
@@ -267,6 +275,8 @@ build-tcg-disabled:
 build-user:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system
     MAKE_CHECK_ARGS: check-tcg
@@ -277,6 +287,8 @@ build-user:
 build-user-plugins:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-tools --disable-system --enable-plugins --enable-debug-tcg --target-list-exclude=sparc64-linux-user,cris-linux-user
     MAKE_CHECK_ARGS: check-tcg
@@ -297,6 +309,8 @@ build-clang:
 build-deprecated:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-all-test-cross
     CONFIGURE_ARGS: --disable-docs --disable-tools
     MAKE_CHECK_ARGS: build-tcg
@@ -315,6 +329,8 @@ check-deprecated:
     - job: build-deprecated
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Alex Bennée"
+    JOB_MAINTAINER_EMAIL: alex.bennee@linaro.org
     IMAGE: debian-all-test-cross
     MAKE_CHECK_ARGS: check-tcg
   allow_failure: true
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 14/16] gitlab-ci: Mark Stefan Weil maintainer of the TCI job
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (12 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 13/16] gitlab-ci: Mark Alex Bennée maintainer of Debian / Ubuntu jobs Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 15/16] gitlab-ci: Volunteer to maintain Debian based and hobbyist jobs Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 16/16] gitlab-ci: Do not automatically run integration tests for push events Philippe Mathieu-Daudé
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

Stefan Weil is interested the TCI feature does not bitrot.

Cc: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index bafbdc0e1a7..4df45214620 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -358,6 +358,8 @@ build-oss-fuzz:
 build-tci:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Stefan Weil"
+    JOB_MAINTAINER_EMAIL: sw@weilnetz.de
     IMAGE: fedora
   script:
     - TARGETS="aarch64 alpha arm hppa m68k microblaze moxie ppc64 s390x x86_64"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 15/16] gitlab-ci: Volunteer to maintain Debian based and hobbyist jobs
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (13 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 14/16] gitlab-ci: Mark Stefan Weil maintainer of the TCI job Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  2020-11-10 16:01 ` [RFC PATCH 16/16] gitlab-ci: Do not automatically run integration tests for push events Philippe Mathieu-Daudé
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Philippe Mathieu-Daudé,
	Wainer dos Santos Moschetta, Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

Volunteer to maintain these jobs in my free time:

 - debian10
 - armhf
 - m68k
 - mips*
 - powerpc (32-bit)
 - sh4
 - sparc64
 - tricore
 - xtensa

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 .gitlab-ci.d/containers.yml  | 24 ++++++++++++++++++++++++
 .gitlab-ci.d/crossbuilds.yml | 14 ++++++++++++++
 .gitlab-ci.yml               |  4 ++++
 3 files changed, 42 insertions(+)

diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index e2f59a4524f..7e62346ffc5 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -49,6 +49,8 @@ amd64-centos8-container:
 amd64-debian10-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian10
 
 amd64-debian11-container:
@@ -126,6 +128,8 @@ armhf-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-armhf-cross
 
 hppa-debian-cross-container:
@@ -142,6 +146,8 @@ m68k-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-m68k-cross
 
 mips64-debian-cross-container:
@@ -149,6 +155,8 @@ mips64-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-mips64-cross
 
 mips64el-debian-cross-container:
@@ -156,6 +164,8 @@ mips64el-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-mips64el-cross
 
 mips-debian-cross-container:
@@ -163,6 +173,8 @@ mips-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-mips-cross
 
 mipsel-debian-cross-container:
@@ -170,6 +182,8 @@ mipsel-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-mipsel-cross
 
 powerpc-debian-cross-container:
@@ -177,6 +191,8 @@ powerpc-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-powerpc-cross
 
 ppc64-debian-cross-container:
@@ -212,6 +228,8 @@ sh4-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-sh4-cross
 
 sparc64-debian-cross-container:
@@ -219,6 +237,8 @@ sparc64-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-sparc64-cross
 
 tricore-debian-cross-container:
@@ -226,11 +246,15 @@ tricore-debian-cross-container:
   stage: containers-layer2
   needs: ['amd64-debian10-container']
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-tricore-cross
 
 xtensa-debian-cross-container:
   extends: .container_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     NAME: debian-xtensa-cross
 
 cris-fedora-cross-container:
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 56e362ee421..f87bdf4fa0f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -45,6 +45,8 @@ cross-armel-user:
 cross-armhf-system:
   extends: .cross_system_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-armhf-cross
 
 cross-armhf-user:
@@ -69,31 +71,43 @@ cross-arm64-user:
 cross-mips-system:
   extends: .cross_system_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-mips-cross
 
 cross-mips-user:
   extends: .cross_user_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-mips-cross
 
 cross-mipsel-system:
   extends: .cross_system_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-mipsel-cross
 
 cross-mipsel-user:
   extends: .cross_user_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-mipsel-cross
 
 cross-mips64el-system:
   extends: .cross_system_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-mips64el-cross
 
 cross-mips64el-user:
   extends: .cross_user_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-mips64el-cross
 
 cross-ppc64el-system:
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4df45214620..6cf4c19c604 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -121,6 +121,8 @@ integration-system-ubuntu:
 build-system-debian:
   extends: .native_build_job
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-amd64
     TARGETS: arm-softmmu avr-softmmu i386-softmmu mipsel-softmmu
       riscv64-softmmu sh4eb-softmmu sparc-softmmu xtensaeb-softmmu
@@ -137,6 +139,8 @@ check-system-debian:
     - job: build-system-debian
       artifacts: true
   variables:
+    JOB_MAINTAINER_NAME: "Philippe Mathieu-Daudé"
+    JOB_MAINTAINER_EMAIL: f4bug@amsat.org
     IMAGE: debian-amd64
     MAKE_CHECK_ARGS: check
 
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* [RFC PATCH 16/16] gitlab-ci: Do not automatically run integration tests for push events
  2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
                   ` (14 preceding siblings ...)
  2020-11-10 16:01 ` [RFC PATCH 15/16] gitlab-ci: Volunteer to maintain Debian based and hobbyist jobs Philippe Mathieu-Daudé
@ 2020-11-10 16:01 ` Philippe Mathieu-Daudé
  15 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-10 16:01 UTC (permalink / raw)
  To: qemu-devel
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, Wainer dos Santos Moschetta,
	Philippe Mathieu-Daudé,
	Alex Bennée, virt-ci-maint-team, Bin Meng, Laszlo Ersek

The tests run by 'make check-acceptance' are sometime flaky,
making maintainers reluctant to use GitLab. Disable them for
now. We might re-enable some gradually, or let each maintainer
enable a set of interest.

Keep automatically running the integration tests for the various
GitLab events, except when we push to a repository.

Per the $CI_PIPELINE_SOURCE entry in [*] the possible events are:

 - push
 - web
 - schedule
 - api
 - external
 - chat
 - webide
 - merge_request_event
 - external_pull_request_event
 - parent_pipeline
 - trigger
 - cross_project_pipeline

[*] https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.yml | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6cf4c19c604..c57e0fa1ab9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -80,6 +80,10 @@ 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: # Do not automatically run integration tests for push events
+  - if: '$CI_PIPELINE_SOURCE == "push"'
+    when: manual
+    allow_failure: true
 
 build-system-ubuntu:
   extends: .native_build_job
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 21+ messages in thread

* Re: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
  2020-11-10 16:01 ` [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept Philippe Mathieu-Daudé
@ 2020-11-11  9:37   ` Alex Bennée
  2020-11-11  9:53     ` Daniel P. Berrangé
  2020-11-11  9:45   ` Daniel P. Berrangé
  1 sibling, 1 reply; 21+ messages in thread
From: Alex Bennée @ 2020-11-11  9:37 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Daniel P . Berrange, Stefan Weil,
	Bin Meng, Michael Tokarev, qemu-devel,
	Wainer dos Santos Moschetta, virt-ci-maint-team, Bin Meng,
	Laszlo Ersek


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


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
  2020-11-10 16:01 ` [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept Philippe Mathieu-Daudé
  2020-11-11  9:37   ` Alex Bennée
@ 2020-11-11  9:45   ` Daniel P. Berrangé
  2020-11-11 11:13     ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 21+ messages in thread
From: Daniel P. Berrangé @ 2020-11-11  9:45 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Fam Zheng, Thomas Huth, Stefan Weil, Bin Meng, Michael Tokarev,
	qemu-devel, Wainer dos Santos Moschetta, Alex Bennée,
	virt-ci-maint-team, Bin Meng, Laszlo Ersek

On Tue, Nov 10, 2020 at 05:01:34PM +0100, Philippe Mathieu-Daudé wrote:
> 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.

I don't think we really want/need todo this.

The big problem we're facing is that there is no incentive right now
for maintainers to make sure their code works with GitLab CI before
they send a pull request. Adding job maintainers is just a band-aid,
and not a very good one either, because each job covers features across
many subsystems which should each be dealt with by their existing
maintainers.

The primary solution to this tragedy is to make all the jobs gating
on all pull requests. If a maintainer wants their pull requrst to
get merged they then have no choice but to ensure it doesn't break
any CI jobs.

The main blocker for this right now IIUC is the git repo sync from
qemu to gitlab. Once we switch to gitlab as primary, we need to start
enforcing GitLab as gating for all jobs. At this point making sure
GitLab CI passes is every maintainer's job.

We'll still have some failures periodically from non-deterministic
bugs. If a test shows itself to be flaky though, it should just be
disabled in a very short time frame. Whichever maintainer owned the
test has the job for fixing the flakyness before it can be renabled.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
  2020-11-11  9:37   ` Alex Bennée
@ 2020-11-11  9:53     ` Daniel P. Berrangé
  0 siblings, 0 replies; 21+ messages in thread
From: Daniel P. Berrangé @ 2020-11-11  9:53 UTC (permalink / raw)
  To: Alex Bennée
  Cc: Fam Zheng, Thomas Huth, Stefan Weil, Bin Meng, Michael Tokarev,
	qemu-devel, Wainer dos Santos Moschetta, Laszlo Ersek,
	virt-ci-maint-team, Bin Meng, Philippe Mathieu-Daudé

On Wed, Nov 11, 2020 at 09:37:53AM +0000, Alex Bennée wrote:
> 
> 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?

That presentation is from the artifacts publishing test results
in junit format. IOW, we need to enhance the build system in some
way such that it can generate a junit report of other tests too.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept
  2020-11-11  9:45   ` Daniel P. Berrangé
@ 2020-11-11 11:13     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 21+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-11-11 11:13 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Fam Zheng, Thomas Huth, Stefan Weil, Bin Meng, Michael Tokarev,
	qemu-devel, Wainer dos Santos Moschetta, Alex Bennée,
	virt-ci-maint-team, Bin Meng, Laszlo Ersek

On 11/11/20 10:45 AM, Daniel P. Berrangé wrote:
> On Tue, Nov 10, 2020 at 05:01:34PM +0100, Philippe Mathieu-Daudé wrote:
>> 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.
> 
> I don't think we really want/need todo this.
> 
> The big problem we're facing is that there is no incentive right now
> for maintainers to make sure their code works with GitLab CI before
> they send a pull request. Adding job maintainers is just a band-aid,
> and not a very good one either, because each job covers features across
> many subsystems which should each be dealt with by their existing
> maintainers.
> 
> The primary solution to this tragedy is to make all the jobs gating
> on all pull requests. If a maintainer wants their pull requrst to
> get merged they then have no choice but to ensure it doesn't break
> any CI jobs.
> 
> The main blocker for this right now IIUC is the git repo sync from
> qemu to gitlab. Once we switch to gitlab as primary, we need to start
> enforcing GitLab as gating for all jobs. At this point making sure
> GitLab CI passes is every maintainer's job.
> 
> We'll still have some failures periodically from non-deterministic
> bugs. If a test shows itself to be flaky though, it should just be
> disabled in a very short time frame. Whichever maintainer owned the
> test has the job for fixing the flakyness before it can be renabled.

At this point I'd rather remove everything we have in CI and restart
from scratch. So if someone is really interested in having CI jobs /
runner, this someone will step in and contribute / maintain. Not like
the current state when some are happy to use the result, but nobody
cares about maintenance or fixing bugs (as the last year experience
clearly show).

I don't know if Alex / Thomas are willing to keep doing that.

I personally don't have the the energy to do this in my spare time.

Thanks.



^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-11-11 11:14 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-10 16:01 [RFC PATCH 00/16] gitlab-ci: Introduce "CI job maintainer" concept, mark jobs maintained Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 01/16] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job) Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 02/16] gitlab-ci: Replace YAML anchors by extends (native_build_job) Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 03/16] gitlab-ci: Replace YAML anchors by extends (native_test_job) Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 04/16] gitlab-ci: Replace YAML anchors by extends (acceptance_test_job) Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 05/16] gitlab-ci: Replace YAML anchors by extends (container_job) Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 06/16] gitlab-ci: Rename acceptance_test_job -> integration_test_job Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 07/16] gitlab-ci: Extract common job definition as 'cross_common_job' Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 08/16] gitlab-ci: Extract common job definition as 'native_common_job' Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 09/16] gitlab-ci: Set default workflow rule Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 10/16] gitlab-ci: Introduce the CI "job maintainer" concept Philippe Mathieu-Daudé
2020-11-11  9:37   ` Alex Bennée
2020-11-11  9:53     ` Daniel P. Berrangé
2020-11-11  9:45   ` Daniel P. Berrangé
2020-11-11 11:13     ` Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 11/16] gitlab-ci: Mark some jobs maintained by Red Hat Virt CI team Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 12/16] gitlab-ci: Mark Bin Meng maintainer of the OpenSBI job Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 13/16] gitlab-ci: Mark Alex Bennée maintainer of Debian / Ubuntu jobs Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 14/16] gitlab-ci: Mark Stefan Weil maintainer of the TCI job Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 15/16] gitlab-ci: Volunteer to maintain Debian based and hobbyist jobs Philippe Mathieu-Daudé
2020-11-10 16:01 ` [RFC PATCH 16/16] gitlab-ci: Do not automatically run integration tests for push events Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.