[libvirt] [jenkins-ci PATCH v2 6/6] jobs: Introduce {all_machines} and {rpm_machines}

Andrea Bolognani posted 6 patches 7 years ago
There is a newer version of this series
[libvirt] [jenkins-ci PATCH v2 6/6] jobs: Introduce {all_machines} and {rpm_machines}
Posted by Andrea Bolognani 7 years ago
We're running most of the jobs on all machines, with the major
notable exception being the various *-rpm jobs which of course
only make sense for RPM-based distributions.

Instead of listing machines over and over again, define two
list globally and refer to them by name. Ad-hoc machine lists
are still needed in a few places, but overall this cuts down on
repetition significantly.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
 jobs/defaults.yaml            | 14 ++++++++++++++
 projects/libosinfo.yaml       | 16 ++--------------
 projects/libvirt-cim.yaml     |  6 +-----
 projects/libvirt-glib.yaml    | 16 ++--------------
 projects/libvirt-go-xml.yaml  | 10 +---------
 projects/libvirt-go.yaml      | 10 +---------
 projects/libvirt-perl.yaml    | 16 ++--------------
 projects/libvirt-python.yaml  | 16 ++--------------
 projects/libvirt.yaml         | 27 +++++++++++----------------
 projects/osinfo-db-tools.yaml | 16 ++--------------
 projects/osinfo-db.yaml       | 16 ++--------------
 projects/virt-viewer.yaml     | 16 ++--------------
 12 files changed, 42 insertions(+), 137 deletions(-)

diff --git a/jobs/defaults.yaml b/jobs/defaults.yaml
index 23f8555..9fe69de 100644
--- a/jobs/defaults.yaml
+++ b/jobs/defaults.yaml
@@ -3,6 +3,20 @@
     name: global
     branch: master
     node: libvirt
+    all_machines:
+      - libvirt-centos-7
+      - libvirt-debian-8
+      - libvirt-debian-9
+      - libvirt-fedora-26
+      - libvirt-fedora-27
+      - libvirt-fedora-rawhide
+      - libvirt-freebsd-10
+      - libvirt-freebsd-11
+    rpm_machines:
+      - libvirt-centos-7
+      - libvirt-fedora-26
+      - libvirt-fedora-27
+      - libvirt-fedora-rawhide
     global_env: |
     local_env: |
     smp: 3
diff --git a/projects/libosinfo.yaml b/projects/libosinfo.yaml
index ac04027..0d25447 100644
--- a/projects/libosinfo.yaml
+++ b/projects/libosinfo.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: libosinfo
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: libosinfo
     jobs:
       - autotools-build-job:
@@ -20,8 +12,4 @@
           parent_jobs: 'libosinfo-master-syntax-check'
       - autotools-rpm-job:
           parent_jobs: 'libosinfo-master-check'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
diff --git a/projects/libvirt-cim.yaml b/projects/libvirt-cim.yaml
index 160faaf..dff3976 100644
--- a/projects/libvirt-cim.yaml
+++ b/projects/libvirt-cim.yaml
@@ -1,11 +1,7 @@
 
 - project:
     name: libvirt-cim
-    machines:
-      - libvirt-centos-7
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
+    machines: '{rpm_machines}'
     title: libvirt CIM
     jobs:
       - autotools-build-job:
diff --git a/projects/libvirt-glib.yaml b/projects/libvirt-glib.yaml
index 74f7642..741ac44 100644
--- a/projects/libvirt-glib.yaml
+++ b/projects/libvirt-glib.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: libvirt-glib
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: Libvirt GLib
     jobs:
       - autotools-build-job:
@@ -21,8 +13,4 @@
           parent_jobs: 'libvirt-glib-master-syntax-check'
       - autotools-rpm-job:
           parent_jobs: 'libvirt-glib-master-check'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
diff --git a/projects/libvirt-go-xml.yaml b/projects/libvirt-go-xml.yaml
index 126058b..1f26751 100644
--- a/projects/libvirt-go-xml.yaml
+++ b/projects/libvirt-go-xml.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: libvirt-go-xml
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: Libvirt Go XML
     local_env: |
       export TEST_ARGS="-tags xmlroundtrip"
diff --git a/projects/libvirt-go.yaml b/projects/libvirt-go.yaml
index 141c862..f40f523 100644
--- a/projects/libvirt-go.yaml
+++ b/projects/libvirt-go.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: libvirt-go
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: Libvirt Go
     local_env: |
       export TEST_ARGS="-tags api"
diff --git a/projects/libvirt-perl.yaml b/projects/libvirt-perl.yaml
index eb1ee77..0a6f648 100644
--- a/projects/libvirt-perl.yaml
+++ b/projects/libvirt-perl.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: libvirt-perl
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: Libvirt Perl
     jobs:
       - perl-makemaker-build-job:
@@ -19,8 +11,4 @@
           test_args: 'TEST_MAINTAINER=1'
       - perl-makemaker-rpm-job:
           parent_jobs: 'libvirt-perl-master-test'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
diff --git a/projects/libvirt-python.yaml b/projects/libvirt-python.yaml
index 26accf4..1e742da 100644
--- a/projects/libvirt-python.yaml
+++ b/projects/libvirt-python.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: libvirt-python
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: Libvirt Python
     jobs:
       - python-distutils-build-job:
@@ -18,8 +10,4 @@
           parent_jobs: 'libvirt-python-master-build'
       - python-distutils-rpm-job:
           parent_jobs: 'libvirt-python-master-check'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
diff --git a/projects/libvirt.yaml b/projects/libvirt.yaml
index 2715164..ee5c259 100644
--- a/projects/libvirt.yaml
+++ b/projects/libvirt.yaml
@@ -1,18 +1,14 @@
 
 - project:
     name: libvirt
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
+    machines: '{all_machines}'
     title: Libvirt
     archive_format: xz
     jobs:
       - autotools-build-job:
           parent_jobs:
+      - autotools-syntax-check-job:
+          parent_jobs: 'libvirt-master-build'
           machines:
             - libvirt-centos-7
             - libvirt-debian-8
@@ -20,22 +16,21 @@
             - libvirt-fedora-26
             - libvirt-fedora-27
             - libvirt-fedora-rawhide
-            - libvirt-freebsd-10
-            - libvirt-freebsd-11
-      - autotools-syntax-check-job:
-          parent_jobs: 'libvirt-master-build'
       - autotools-check-job:
           parent_jobs: 'libvirt-master-syntax-check'
-          local_env: |
-            export VIR_TEST_EXPENSIVE=1
-            export VIR_TEST_DEBUG=2
-      - autotools-rpm-job:
-          parent_jobs: 'libvirt-master-check'
           machines:
             - libvirt-centos-7
+            - libvirt-debian-8
+            - libvirt-debian-9
             - libvirt-fedora-26
             - libvirt-fedora-27
             - libvirt-fedora-rawhide
+          local_env: |
+            export VIR_TEST_EXPENSIVE=1
+            export VIR_TEST_DEBUG=2
+      - autotools-rpm-job:
+          parent_jobs: 'libvirt-master-check'
+          machines: '{rpm_machines}'
       - autotools-mingw-job:
           parent_jobs:
           machines:
diff --git a/projects/osinfo-db-tools.yaml b/projects/osinfo-db-tools.yaml
index e51a064..6b451ef 100644
--- a/projects/osinfo-db-tools.yaml
+++ b/projects/osinfo-db-tools.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: osinfo-db-tools
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: osinfo database tools
     jobs:
       - autotools-build-job:
@@ -20,8 +12,4 @@
           parent_jobs: 'osinfo-db-tools-master-syntax-check'
       - autotools-rpm-job:
           parent_jobs: 'osinfo-db-tools-master-check'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
diff --git a/projects/osinfo-db.yaml b/projects/osinfo-db.yaml
index 7f83722..0d0a972 100644
--- a/projects/osinfo-db.yaml
+++ b/projects/osinfo-db.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: osinfo-db
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: osinfo database
     jobs:
       - generic-build-job:
@@ -23,11 +15,7 @@
             $MAKE -j{smp} check
       - generic-rpm-job:
           parent_jobs: 'osinfo-db-master-check'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
           command: |
             rm -f *.tar.xz
             $MAKE osinfo-db.spec
diff --git a/projects/virt-viewer.yaml b/projects/virt-viewer.yaml
index 90cd787..647b963 100644
--- a/projects/virt-viewer.yaml
+++ b/projects/virt-viewer.yaml
@@ -1,15 +1,7 @@
 
 - project:
     name: virt-viewer
-    machines:
-      - libvirt-centos-7
-      - libvirt-debian-8
-      - libvirt-debian-9
-      - libvirt-fedora-26
-      - libvirt-fedora-27
-      - libvirt-fedora-rawhide
-      - libvirt-freebsd-10
-      - libvirt-freebsd-11
+    machines: '{all_machines}'
     title: Virt Viewer
     jobs:
       - autotools-build-job:
@@ -20,8 +12,4 @@
           parent_jobs: 'virt-viewer-master-syntax-check'
       - autotools-rpm-job:
           parent_jobs: 'virt-viewer-master-check'
-          machines:
-            - libvirt-centos-7
-            - libvirt-fedora-26
-            - libvirt-fedora-27
-            - libvirt-fedora-rawhide
+          machines: '{rpm_machines}'
-- 
2.14.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [jenkins-ci PATCH v2 6/6] jobs: Introduce {all_machines} and {rpm_machines}
Posted by Daniel P. Berrangé 7 years ago
On Thu, Apr 12, 2018 at 05:59:31PM +0200, Andrea Bolognani wrote:
> We're running most of the jobs on all machines, with the major
> notable exception being the various *-rpm jobs which of course
> only make sense for RPM-based distributions.
> 
> Instead of listing machines over and over again, define two
> list globally and refer to them by name. Ad-hoc machine lists
> are still needed in a few places, but overall this cuts down on
> repetition significantly.

Seems like the key reason for the divergance is skipping syntax-check
and check jobs on *BSD. Sure would be nice to figure out how to get
these working one day.

> 
> Signed-off-by: Andrea Bolognani <abologna@redhat.com>
> ---
>  jobs/defaults.yaml            | 14 ++++++++++++++
>  projects/libosinfo.yaml       | 16 ++--------------
>  projects/libvirt-cim.yaml     |  6 +-----
>  projects/libvirt-glib.yaml    | 16 ++--------------
>  projects/libvirt-go-xml.yaml  | 10 +---------
>  projects/libvirt-go.yaml      | 10 +---------
>  projects/libvirt-perl.yaml    | 16 ++--------------
>  projects/libvirt-python.yaml  | 16 ++--------------
>  projects/libvirt.yaml         | 27 +++++++++++----------------
>  projects/osinfo-db-tools.yaml | 16 ++--------------
>  projects/osinfo-db.yaml       | 16 ++--------------
>  projects/virt-viewer.yaml     | 16 ++--------------
>  12 files changed, 42 insertions(+), 137 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


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

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [jenkins-ci PATCH v2 6/6] jobs: Introduce {all_machines} and {rpm_machines}
Posted by Andrea Bolognani 7 years ago
On Tue, 2018-04-17 at 11:00 +0100, Daniel P. Berrangé wrote:
> On Thu, Apr 12, 2018 at 05:59:31PM +0200, Andrea Bolognani wrote:
> > We're running most of the jobs on all machines, with the major
> > notable exception being the various *-rpm jobs which of course
> > only make sense for RPM-based distributions.
> > 
> > Instead of listing machines over and over again, define two
> > list globally and refer to them by name. Ad-hoc machine lists
> > are still needed in a few places, but overall this cuts down on
> > repetition significantly.
> 
> Seems like the key reason for the divergance is skipping syntax-check
> and check jobs on *BSD. Sure would be nice to figure out how to get
> these working one day.

That's one of the reasons, but I wouldn't say it's the key one:
libvirt-dbus, libvirt-sandbox, libvirt-tck and virt-manager also
need special casing for various reasons related to eg. some of
the libraries not being recent enough, or not shipped at all, in
some distributions.

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list