[PATCH 0/8] gitlab-ci: Add accelerator-specific Linux jobs

Philippe Mathieu-Daudé posted 8 patches 3 years, 4 months ago
Failed in applying to current master (apply log)
There is a newer version of this series
.gitlab-ci.d/crossbuilds-kvm-arm.yml   |  5 +++
.gitlab-ci.d/crossbuilds-kvm-mips.yml  |  5 +++
.gitlab-ci.d/crossbuilds-kvm-ppc.yml   |  5 +++
.gitlab-ci.d/crossbuilds-kvm-s390x.yml |  6 +++
.gitlab-ci.d/crossbuilds-kvm-x86.yml   |  6 +++
.gitlab-ci.d/crossbuilds-xen.yml       | 14 +++++++
.gitlab-ci.d/crossbuilds.yml           | 52 ++++++++++++++++----------
.gitlab-ci.yml                         |  6 +++
MAINTAINERS                            |  6 +++
9 files changed, 85 insertions(+), 20 deletions(-)
create mode 100644 .gitlab-ci.d/crossbuilds-kvm-arm.yml
create mode 100644 .gitlab-ci.d/crossbuilds-kvm-mips.yml
create mode 100644 .gitlab-ci.d/crossbuilds-kvm-ppc.yml
create mode 100644 .gitlab-ci.d/crossbuilds-kvm-s390x.yml
create mode 100644 .gitlab-ci.d/crossbuilds-kvm-x86.yml
create mode 100644 .gitlab-ci.d/crossbuilds-xen.yml
[PATCH 0/8] gitlab-ci: Add accelerator-specific Linux jobs
Posted by Philippe Mathieu-Daudé 3 years, 4 months ago
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.

Each job is added in its own YAML file, so it is easier to notify
subsystem maintainers in case of troubles.

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

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é (8):
  gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
  gitlab-ci: Introduce 'cross_accel_build_job' template
  gitlab-ci: Add KVM X86 cross-build jobs
  gitlab-ci: Add KVM ARM cross-build jobs
  gitlab-ci: Add KVM s390x cross-build jobs
  gitlab-ci: Add KVM PPC cross-build jobs
  gitlab-ci: Add KVM MIPS cross-build jobs
  gitlab-ci: Add Xen cross-build jobs

 .gitlab-ci.d/crossbuilds-kvm-arm.yml   |  5 +++
 .gitlab-ci.d/crossbuilds-kvm-mips.yml  |  5 +++
 .gitlab-ci.d/crossbuilds-kvm-ppc.yml   |  5 +++
 .gitlab-ci.d/crossbuilds-kvm-s390x.yml |  6 +++
 .gitlab-ci.d/crossbuilds-kvm-x86.yml   |  6 +++
 .gitlab-ci.d/crossbuilds-xen.yml       | 14 +++++++
 .gitlab-ci.d/crossbuilds.yml           | 52 ++++++++++++++++----------
 .gitlab-ci.yml                         |  6 +++
 MAINTAINERS                            |  6 +++
 9 files changed, 85 insertions(+), 20 deletions(-)
 create mode 100644 .gitlab-ci.d/crossbuilds-kvm-arm.yml
 create mode 100644 .gitlab-ci.d/crossbuilds-kvm-mips.yml
 create mode 100644 .gitlab-ci.d/crossbuilds-kvm-ppc.yml
 create mode 100644 .gitlab-ci.d/crossbuilds-kvm-s390x.yml
 create mode 100644 .gitlab-ci.d/crossbuilds-kvm-x86.yml
 create mode 100644 .gitlab-ci.d/crossbuilds-xen.yml

-- 
2.26.2


Re: [PATCH 0/8] gitlab-ci: Add accelerator-specific Linux jobs
Posted by Daniel P. Berrangé 3 years, 4 months ago
On Sun, Dec 06, 2020 at 07:55:00PM +0100, Philippe Mathieu-Daudé wrote:
> 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.
> 
> Each job is added in its own YAML file, so it is easier to notify
> subsystem maintainers in case of troubles.
> 
> Resulting pipeline:
> https://gitlab.com/philmd/qemu/-/pipelines/225948077
> 
> 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é (8):
>   gitlab-ci: Replace YAML anchors by extends (cross_system_build_job)
>   gitlab-ci: Introduce 'cross_accel_build_job' template
>   gitlab-ci: Add KVM X86 cross-build jobs
>   gitlab-ci: Add KVM ARM cross-build jobs
>   gitlab-ci: Add KVM s390x cross-build jobs
>   gitlab-ci: Add KVM PPC cross-build jobs
>   gitlab-ci: Add KVM MIPS cross-build jobs
>   gitlab-ci: Add Xen cross-build jobs
> 
>  .gitlab-ci.d/crossbuilds-kvm-arm.yml   |  5 +++
>  .gitlab-ci.d/crossbuilds-kvm-mips.yml  |  5 +++
>  .gitlab-ci.d/crossbuilds-kvm-ppc.yml   |  5 +++
>  .gitlab-ci.d/crossbuilds-kvm-s390x.yml |  6 +++
>  .gitlab-ci.d/crossbuilds-kvm-x86.yml   |  6 +++
>  .gitlab-ci.d/crossbuilds-xen.yml       | 14 +++++++

Adding so many different files here is crazy IMHO, and then should
all be under the same GitLab CI maintainers, not the respective
arch maintainers.  The MAINTAINERS file is saying who is responsible
for the contents of the .yml file, not who is responsible for making
sure KVM works on that arch. 

>  .gitlab-ci.d/crossbuilds.yml           | 52 ++++++++++++++++----------
>  .gitlab-ci.yml                         |  6 +++
>  MAINTAINERS                            |  6 +++
>  9 files changed, 85 insertions(+), 20 deletions(-)
>  create mode 100644 .gitlab-ci.d/crossbuilds-kvm-arm.yml
>  create mode 100644 .gitlab-ci.d/crossbuilds-kvm-mips.yml
>  create mode 100644 .gitlab-ci.d/crossbuilds-kvm-ppc.yml
>  create mode 100644 .gitlab-ci.d/crossbuilds-kvm-s390x.yml
>  create mode 100644 .gitlab-ci.d/crossbuilds-kvm-x86.yml
>  create mode 100644 .gitlab-ci.d/crossbuilds-xen.yml

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