All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] gitlab-ci: Add accelerator-specific Linux jobs
@ 2020-12-07 13:14 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard,
	Philippe Mathieu-Daudé,
	qemu-s390x, Halil Pasic, Willian Rampazzo, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

Since v2:
- Fixed ARM Xen job
- Renamed jobs with -$accel trailer (Thomas)

Since v1:
- Documented cross_accel_build_job template (Claudio)
- Only add new job for s390x (Thomas)
- Do not add entry to MAINTAINERS (Daniel)
- Document 'build-tcg-disabled' job is X86 + KVM
- Drop the patches with negative review feedbacks

Hi,

I was custom to use Travis-CI for testing KVM builds on s390x/ppc
with the Travis-CI jobs.

During October Travis-CI became unusable for me (extremely slow,
see [1]). Then my free Travis account got updated to the new
"10K credit minutes allotment" [2] which I burned without reading
the notification email in time (I'd burn them eventually anyway).

Today Travis-CI is pointless to me. While I could pay to run my
QEMU jobs, I don't think it is fair for an Open Source project to
ask its forks to pay for a service.

As we want forks to run some CI before contributing patches, and
we have cross-build Docker images available for Linux hosts, I
added some cross KVM/Xen build jobs to Gitlab-CI.

Cross-building doesn't have the same coverage as native building,
as we can not run the tests. But this is still useful to get link
failures.

Resulting pipeline:
https://gitlab.com/philmd/qemu/-/pipelines/226240415

Regards,

Phil.

[1] https://travis-ci.community/t/build-delays-for-open-source-project/10272
[2] https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing

Philippe Mathieu-Daudé (5):
  gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
  gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
  gitlab-ci: Introduce 'cross_accel_build_job' template
  gitlab-ci: Add KVM s390x cross-build jobs
  gitlab-ci: Add Xen cross-build jobs

 .gitlab-ci.d/crossbuilds.yml | 78 ++++++++++++++++++++++++++----------
 .gitlab-ci.yml               |  5 +++
 2 files changed, 62 insertions(+), 21 deletions(-)

-- 
2.26.2



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

* [PATCH v3 0/5] gitlab-ci: Add accelerator-specific Linux jobs
@ 2020-12-07 13:14 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Alex Bennée, Marcelo Tosatti, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Philippe Mathieu-Daudé

Since v2:
- Fixed ARM Xen job
- Renamed jobs with -$accel trailer (Thomas)

Since v1:
- Documented cross_accel_build_job template (Claudio)
- Only add new job for s390x (Thomas)
- Do not add entry to MAINTAINERS (Daniel)
- Document 'build-tcg-disabled' job is X86 + KVM
- Drop the patches with negative review feedbacks

Hi,

I was custom to use Travis-CI for testing KVM builds on s390x/ppc
with the Travis-CI jobs.

During October Travis-CI became unusable for me (extremely slow,
see [1]). Then my free Travis account got updated to the new
"10K credit minutes allotment" [2] which I burned without reading
the notification email in time (I'd burn them eventually anyway).

Today Travis-CI is pointless to me. While I could pay to run my
QEMU jobs, I don't think it is fair for an Open Source project to
ask its forks to pay for a service.

As we want forks to run some CI before contributing patches, and
we have cross-build Docker images available for Linux hosts, I
added some cross KVM/Xen build jobs to Gitlab-CI.

Cross-building doesn't have the same coverage as native building,
as we can not run the tests. But this is still useful to get link
failures.

Resulting pipeline:
https://gitlab.com/philmd/qemu/-/pipelines/226240415

Regards,

Phil.

[1] https://travis-ci.community/t/build-delays-for-open-source-project/10272
[2] https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing

Philippe Mathieu-Daudé (5):
  gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
  gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
  gitlab-ci: Introduce 'cross_accel_build_job' template
  gitlab-ci: Add KVM s390x cross-build jobs
  gitlab-ci: Add Xen cross-build jobs

 .gitlab-ci.d/crossbuilds.yml | 78 ++++++++++++++++++++++++++----------
 .gitlab-ci.yml               |  5 +++
 2 files changed, 62 insertions(+), 21 deletions(-)

-- 
2.26.2




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

* [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
  2020-12-07 13:14 ` Philippe Mathieu-Daudé
@ 2020-12-07 13:14   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard,
	Philippe Mathieu-Daudé,
	qemu-s390x, Halil Pasic, Willian Rampazzo, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

Document what this job cover (build X86 targets with
KVM being the single accelerator available).

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

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d0173e82b16..ee31b1020fe 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -220,6 +220,11 @@ build-disabled:
       s390x-softmmu i386-linux-user
     MAKE_CHECK_ARGS: check-qtest SPEED=slow
 
+# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
+# the configure script. The container doesn't contain Xen headers so
+# Xen accelerator is not detected / selected. As result it build the
+# i386-softmmu and x86_64-softmmu with KVM being the single accelerator
+# available.
 build-tcg-disabled:
   <<: *native_build_job_definition
   variables:
-- 
2.26.2


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

* [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
@ 2020-12-07 13:14   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:14 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Alex Bennée, Marcelo Tosatti, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Philippe Mathieu-Daudé

Document what this job cover (build X86 targets with
KVM being the single accelerator available).

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

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d0173e82b16..ee31b1020fe 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -220,6 +220,11 @@ build-disabled:
       s390x-softmmu i386-linux-user
     MAKE_CHECK_ARGS: check-qtest SPEED=slow
 
+# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
+# the configure script. The container doesn't contain Xen headers so
+# Xen accelerator is not detected / selected. As result it build the
+# i386-softmmu and x86_64-softmmu with KVM being the single accelerator
+# available.
 build-tcg-disabled:
   <<: *native_build_job_definition
   variables:
-- 
2.26.2



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

* [PATCH v3 2/5] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
  2020-12-07 13:14 ` Philippe Mathieu-Daudé
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard,
	Philippe Mathieu-Daudé,
	qemu-s390x, Halil Pasic, Willian Rampazzo, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

'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

More importantly it allows exploding YAML jobs.

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
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] 18+ messages in thread

* [PATCH v3 2/5] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Alex Bennée, Marcelo Tosatti, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Philippe Mathieu-Daudé

'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

More importantly it allows exploding YAML jobs.

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
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] 18+ messages in thread

* [PATCH v3 3/5] gitlab-ci: Introduce 'cross_accel_build_job' template
  2020-12-07 13:14 ` Philippe Mathieu-Daudé
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard,
	Philippe Mathieu-Daudé,
	qemu-s390x, Halil Pasic, Willian Rampazzo, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

Introduce a job template to cross-build accelerator specific
jobs (enable a specific accelerator, disabling the others).

The specific accelerator is selected by the $ACCEL environment
variable (default to KVM).

Extra options such disabling other accelerators are passed
via the $ACCEL_CONFIGURE_OPTS environment variable.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 099949aaef3..b59516301f4 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -13,6 +13,23 @@
           xtensa-softmmu"
     - make -j$(expr $(nproc) + 1) all check-build
 
+# Job to cross-build specific accelerators.
+#
+# Set the $ACCEL variable to select the specific accelerator (default to
+# KVM), and set extra options (such disabling other accelerators) via the
+# $ACCEL_CONFIGURE_OPTS variable.
+.cross_accel_build_job:
+  stage: build
+  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+  timeout: 30m
+  script:
+    - mkdir build
+    - cd build
+    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
+      ../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-tools
+        --enable-${ACCEL:-kvm} $ACCEL_CONFIGURE_OPTS
+    - make -j$(expr $(nproc) + 1) all check-build
+
 .cross_user_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
-- 
2.26.2


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

* [PATCH v3 3/5] gitlab-ci: Introduce 'cross_accel_build_job' template
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Alex Bennée, Marcelo Tosatti, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Philippe Mathieu-Daudé

Introduce a job template to cross-build accelerator specific
jobs (enable a specific accelerator, disabling the others).

The specific accelerator is selected by the $ACCEL environment
variable (default to KVM).

Extra options such disabling other accelerators are passed
via the $ACCEL_CONFIGURE_OPTS environment variable.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 099949aaef3..b59516301f4 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -13,6 +13,23 @@
           xtensa-softmmu"
     - make -j$(expr $(nproc) + 1) all check-build
 
+# Job to cross-build specific accelerators.
+#
+# Set the $ACCEL variable to select the specific accelerator (default to
+# KVM), and set extra options (such disabling other accelerators) via the
+# $ACCEL_CONFIGURE_OPTS variable.
+.cross_accel_build_job:
+  stage: build
+  image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
+  timeout: 30m
+  script:
+    - mkdir build
+    - cd build
+    - PKG_CONFIG_PATH=$PKG_CONFIG_PATH
+      ../configure --enable-werror $QEMU_CONFIGURE_OPTS --disable-tools
+        --enable-${ACCEL:-kvm} $ACCEL_CONFIGURE_OPTS
+    - make -j$(expr $(nproc) + 1) all check-build
+
 .cross_user_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
-- 
2.26.2



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

* [PATCH v3 4/5] gitlab-ci: Add KVM s390x cross-build jobs
  2020-12-07 13:14 ` Philippe Mathieu-Daudé
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard,
	Philippe Mathieu-Daudé,
	qemu-s390x, Halil Pasic, Willian Rampazzo, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

Cross-build s390x target with only KVM accelerator enabled.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index b59516301f4..51896bbc9fb 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,4 +1,3 @@
-
 .cross_system_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
@@ -120,6 +119,12 @@ cross-s390x-user:
   variables:
     IMAGE: debian-s390x-cross
 
+cross-s390x-kvm-only:
+  extends: .cross_accel_build_job
+  variables:
+    IMAGE: debian-s390x-cross
+    ACCEL_CONFIGURE_OPTS: --disable-tcg
+
 cross-win32-system:
   extends: .cross_system_build_job
   variables:
-- 
2.26.2


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

* [PATCH v3 4/5] gitlab-ci: Add KVM s390x cross-build jobs
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Alex Bennée, Marcelo Tosatti, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Philippe Mathieu-Daudé

Cross-build s390x target with only KVM accelerator enabled.

Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index b59516301f4..51896bbc9fb 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,4 +1,3 @@
-
 .cross_system_build_job:
   stage: build
   image: $CI_REGISTRY_IMAGE/qemu/$IMAGE:latest
@@ -120,6 +119,12 @@ cross-s390x-user:
   variables:
     IMAGE: debian-s390x-cross
 
+cross-s390x-kvm-only:
+  extends: .cross_accel_build_job
+  variables:
+    IMAGE: debian-s390x-cross
+    ACCEL_CONFIGURE_OPTS: --disable-tcg
+
 cross-win32-system:
   extends: .cross_system_build_job
   variables:
-- 
2.26.2



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

* [PATCH v3 5/5] gitlab-ci: Add Xen cross-build jobs
  2020-12-07 13:14 ` Philippe Mathieu-Daudé
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  -1 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard,
	Philippe Mathieu-Daudé,
	qemu-s390x, Halil Pasic, Willian Rampazzo, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

Cross-build ARM and X86 targets with only Xen accelerator enabled.

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

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 51896bbc9fb..bd6473a75a7 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -134,3 +134,17 @@ cross-win64-system:
   extends: .cross_system_build_job
   variables:
     IMAGE: fedora-win64-cross
+
+cross-amd64-xen-only:
+  extends: .cross_accel_build_job
+  variables:
+    IMAGE: debian-amd64-cross
+    ACCEL: xen
+    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
+
+cross-arm64-xen-only:
+  extends: .cross_accel_build_job
+  variables:
+    IMAGE: debian-arm64-cross
+    ACCEL: xen
+    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
-- 
2.26.2


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

* [PATCH v3 5/5] gitlab-ci: Add Xen cross-build jobs
@ 2020-12-07 13:15   ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 18+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-12-07 13:15 UTC (permalink / raw)
  To: qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Alex Bennée, Marcelo Tosatti, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Philippe Mathieu-Daudé

Cross-build ARM and X86 targets with only Xen accelerator enabled.

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

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 51896bbc9fb..bd6473a75a7 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -134,3 +134,17 @@ cross-win64-system:
   extends: .cross_system_build_job
   variables:
     IMAGE: fedora-win64-cross
+
+cross-amd64-xen-only:
+  extends: .cross_accel_build_job
+  variables:
+    IMAGE: debian-amd64-cross
+    ACCEL: xen
+    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
+
+cross-arm64-xen-only:
+  extends: .cross_accel_build_job
+  variables:
+    IMAGE: debian-arm64-cross
+    ACCEL: xen
+    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
-- 
2.26.2



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

* Re: [PATCH v3 5/5] gitlab-ci: Add Xen cross-build jobs
  2020-12-07 13:15   ` Philippe Mathieu-Daudé
@ 2020-12-07 14:43     ` Thomas Huth
  -1 siblings, 0 replies; 18+ messages in thread
From: Thomas Huth @ 2020-12-07 14:43 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Christian Borntraeger, Stefano Stabellini, Marcelo Tosatti, kvm,
	Paolo Bonzini, Anthony Perard, qemu-s390x, Halil Pasic,
	Willian Rampazzo, Paul Durrant, Cornelia Huck, xen-devel,
	Alex Bennée, Claudio Fontana, Wainer dos Santos Moschetta

On 07/12/2020 14.15, Philippe Mathieu-Daudé wrote:
> Cross-build ARM and X86 targets with only Xen accelerator enabled.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  .gitlab-ci.d/crossbuilds.yml | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 51896bbc9fb..bd6473a75a7 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -134,3 +134,17 @@ cross-win64-system:
>    extends: .cross_system_build_job
>    variables:
>      IMAGE: fedora-win64-cross
> +
> +cross-amd64-xen-only:
> +  extends: .cross_accel_build_job
> +  variables:
> +    IMAGE: debian-amd64-cross
> +    ACCEL: xen
> +    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
> +
> +cross-arm64-xen-only:
> +  extends: .cross_accel_build_job
> +  variables:
> +    IMAGE: debian-arm64-cross
> +    ACCEL: xen
> +    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm

Reviewed-by: Thomas Huth <thuth@redhat.com>



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

* Re: [PATCH v3 5/5] gitlab-ci: Add Xen cross-build jobs
@ 2020-12-07 14:43     ` Thomas Huth
  0 siblings, 0 replies; 18+ messages in thread
From: Thomas Huth @ 2020-12-07 14:43 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Marcelo Tosatti, Wainer dos Santos Moschetta, Halil Pasic,
	Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Willian Rampazzo, Cornelia Huck, Anthony Perard, Paolo Bonzini,
	Alex Bennée

On 07/12/2020 14.15, Philippe Mathieu-Daudé wrote:
> Cross-build ARM and X86 targets with only Xen accelerator enabled.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  .gitlab-ci.d/crossbuilds.yml | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 51896bbc9fb..bd6473a75a7 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -134,3 +134,17 @@ cross-win64-system:
>    extends: .cross_system_build_job
>    variables:
>      IMAGE: fedora-win64-cross
> +
> +cross-amd64-xen-only:
> +  extends: .cross_accel_build_job
> +  variables:
> +    IMAGE: debian-amd64-cross
> +    ACCEL: xen
> +    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm
> +
> +cross-arm64-xen-only:
> +  extends: .cross_accel_build_job
> +  variables:
> +    IMAGE: debian-arm64-cross
> +    ACCEL: xen
> +    ACCEL_CONFIGURE_OPTS: --disable-tcg --disable-kvm

Reviewed-by: Thomas Huth <thuth@redhat.com>




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

* Re: [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
  2020-12-07 13:14   ` Philippe Mathieu-Daudé
@ 2020-12-11 17:03     ` Wainer dos Santos Moschetta
  -1 siblings, 0 replies; 18+ messages in thread
From: Wainer dos Santos Moschetta @ 2020-12-11 17:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Thomas Huth, Christian Borntraeger, Stefano Stabellini,
	Marcelo Tosatti, kvm, Paolo Bonzini, Anthony Perard, qemu-s390x,
	Halil Pasic, Willian Rampazzo, Paul Durrant, Cornelia Huck,
	xen-devel, Alex Bennée, Claudio Fontana

Hi,

On 12/7/20 10:14 AM, Philippe Mathieu-Daudé wrote:
> Document what this job cover (build X86 targets with
> KVM being the single accelerator available).
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   .gitlab-ci.yml | 5 +++++
>   1 file changed, 5 insertions(+)

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index d0173e82b16..ee31b1020fe 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -220,6 +220,11 @@ build-disabled:
>         s390x-softmmu i386-linux-user
>       MAKE_CHECK_ARGS: check-qtest SPEED=slow
>   
> +# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
> +# the configure script. The container doesn't contain Xen headers so
> +# Xen accelerator is not detected / selected. As result it build the
> +# i386-softmmu and x86_64-softmmu with KVM being the single accelerator
> +# available.
>   build-tcg-disabled:
>     <<: *native_build_job_definition
>     variables:


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

* Re: [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
@ 2020-12-11 17:03     ` Wainer dos Santos Moschetta
  0 siblings, 0 replies; 18+ messages in thread
From: Wainer dos Santos Moschetta @ 2020-12-11 17:03 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Marcelo Tosatti, Halil Pasic, Christian Borntraeger, qemu-s390x,
	Claudio Fontana, Willian Rampazzo, Cornelia Huck, Anthony Perard,
	Paolo Bonzini, Alex Bennée

Hi,

On 12/7/20 10:14 AM, Philippe Mathieu-Daudé wrote:
> Document what this job cover (build X86 targets with
> KVM being the single accelerator available).
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>   .gitlab-ci.yml | 5 +++++
>   1 file changed, 5 insertions(+)

Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>

>
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index d0173e82b16..ee31b1020fe 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -220,6 +220,11 @@ build-disabled:
>         s390x-softmmu i386-linux-user
>       MAKE_CHECK_ARGS: check-qtest SPEED=slow
>   
> +# This jobs explicitly disable TCG (--disable-tcg), KVM is detected by
> +# the configure script. The container doesn't contain Xen headers so
> +# Xen accelerator is not detected / selected. As result it build the
> +# i386-softmmu and x86_64-softmmu with KVM being the single accelerator
> +# available.
>   build-tcg-disabled:
>     <<: *native_build_job_definition
>     variables:



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

* Re: [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
  2020-12-07 13:14   ` Philippe Mathieu-Daudé
@ 2020-12-11 21:27     ` Willian Rampazzo
  -1 siblings, 0 replies; 18+ messages in thread
From: Willian Rampazzo @ 2020-12-11 21:27 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Thomas Huth, Christian Borntraeger,
	Stefano Stabellini, Marcelo Tosatti, kvm, Paolo Bonzini,
	Anthony Perard, qemu-s390x, Halil Pasic, Paul Durrant,
	Cornelia Huck, xen-devel, Alex Bennée, Claudio Fontana,
	Wainer dos Santos Moschetta

On Mon, Dec 7, 2020 at 10:15 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Document what this job cover (build X86 targets with
> KVM being the single accelerator available).
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  .gitlab-ci.yml | 5 +++++
>  1 file changed, 5 insertions(+)

Reviewed-by: WIllian Rampazzo <willianr@redhat.com>


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

* Re: [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job
@ 2020-12-11 21:27     ` Willian Rampazzo
  0 siblings, 0 replies; 18+ messages in thread
From: Willian Rampazzo @ 2020-12-11 21:27 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Thomas Huth, Stefano Stabellini, xen-devel, kvm, Paul Durrant,
	Marcelo Tosatti, qemu-devel, Wainer dos Santos Moschetta,
	Halil Pasic, Christian Borntraeger, qemu-s390x, Claudio Fontana,
	Cornelia Huck, Anthony Perard, Paolo Bonzini, Alex Bennée

On Mon, Dec 7, 2020 at 10:15 AM Philippe Mathieu-Daudé
<philmd@redhat.com> wrote:
>
> Document what this job cover (build X86 targets with
> KVM being the single accelerator available).
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> ---
>  .gitlab-ci.yml | 5 +++++
>  1 file changed, 5 insertions(+)

Reviewed-by: WIllian Rampazzo <willianr@redhat.com>



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

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

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-07 13:14 [PATCH v3 0/5] gitlab-ci: Add accelerator-specific Linux jobs Philippe Mathieu-Daudé
2020-12-07 13:14 ` Philippe Mathieu-Daudé
2020-12-07 13:14 ` [PATCH v3 1/5] gitlab-ci: Document 'build-tcg-disabled' is a KVM X86 job Philippe Mathieu-Daudé
2020-12-07 13:14   ` Philippe Mathieu-Daudé
2020-12-11 17:03   ` Wainer dos Santos Moschetta
2020-12-11 17:03     ` Wainer dos Santos Moschetta
2020-12-11 21:27   ` Willian Rampazzo
2020-12-11 21:27     ` Willian Rampazzo
2020-12-07 13:15 ` [PATCH v3 2/5] gitlab-ci: Replace YAML anchors by extends (cross_system_build_job) Philippe Mathieu-Daudé
2020-12-07 13:15   ` Philippe Mathieu-Daudé
2020-12-07 13:15 ` [PATCH v3 3/5] gitlab-ci: Introduce 'cross_accel_build_job' template Philippe Mathieu-Daudé
2020-12-07 13:15   ` Philippe Mathieu-Daudé
2020-12-07 13:15 ` [PATCH v3 4/5] gitlab-ci: Add KVM s390x cross-build jobs Philippe Mathieu-Daudé
2020-12-07 13:15   ` Philippe Mathieu-Daudé
2020-12-07 13:15 ` [PATCH v3 5/5] gitlab-ci: Add Xen " Philippe Mathieu-Daudé
2020-12-07 13:15   ` Philippe Mathieu-Daudé
2020-12-07 14:43   ` Thomas Huth
2020-12-07 14:43     ` Thomas Huth

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.