[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 3/3] osstest: add FreeBSD Xen build job



To both the FreeBSD and the xen-unstable flights.

This is the runvar difference of a xen-unstable flight:

+build-amd64-freebsd     all_host_os      freebsd
+build-amd64-xsm-freebsd all_host_os      freebsd
+build-amd64-freebsd     arch             amd64
+build-amd64-xsm-freebsd arch             amd64
+build-amd64-freebsd     enable_livepatch true
+build-amd64-xsm-freebsd enable_livepatch true
+build-amd64-freebsd     enable_xsm       false
+build-amd64-xsm-freebsd enable_xsm       true
+build-amd64-freebsd     freebsdbuildjob  124803.build-amd64-freebsd
+build-amd64-xsm-freebsd freebsdbuildjob  124803.build-amd64-freebsd
+build-amd64-freebsd     host_hostflags   arch-amd64,purpose-build
+build-amd64-xsm-freebsd host_hostflags   arch-amd64,purpose-build
+build-amd64-freebsd     revision_qemu
+build-amd64-xsm-freebsd revision_qemu
+build-amd64-freebsd     revision_qemuu
+build-amd64-xsm-freebsd revision_qemuu
+build-amd64-freebsd     revision_seabios
+build-amd64-xsm-freebsd revision_seabios
+build-amd64-freebsd     revision_xen
+build-amd64-xsm-freebsd revision_xen
+build-amd64-freebsd     tree_qemuu       git://xenbits.xen.org/qemu-xen.git
+build-amd64-xsm-freebsd tree_qemuu       git://xenbits.xen.org/qemu-xen.git
+build-amd64-freebsd     tree_seabios
+build-amd64-xsm-freebsd tree_seabios
+build-amd64-freebsd     tree_xen         git://xenbits.xen.org/xen.git
+build-amd64-xsm-freebsd tree_xen         git://xenbits.xen.org/xen.git

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
 make-freebsd-flight   | 17 +++++++++++++++++
 mfi-common            | 23 +++++++++++++++++++++++
 sg-run-job            |  6 ++++++
 ts-build-prep-freebsd |  5 ++++-
 4 files changed, 50 insertions(+), 1 deletion(-)

diff --git a/make-freebsd-flight b/make-freebsd-flight
index 1a2b359c..12338f58 100755
--- a/make-freebsd-flight
+++ b/make-freebsd-flight
@@ -60,6 +60,23 @@ for arch in "$arches"; do
                 all_host_os=freebsd                             \
                 freebsdbuildjob=build-$arch-freebsd             \
                 recipe_testinstall=true
+
+    # Create a Xen build job that's going to use the output from the first
+    # FreeBSD build job.
+    job_create_build build-$arch-xen-freebsd build-xen-freebsd  \
+                arch=$arch                                      \
+                $RUNVARS $BUILD_RUNVARS $BUILD_XEN_RUNVARS      \
+                $arch_runvars                                   \
+                tree_qemuu=$TREE_QEMU_UPSTREAM                  \
+                tree_xen=$TREE_XEN                              \
+                tree_seabios=$TREE_SEABIOS                      \
+                revision_xen=$REVISION_XEN                      \
+                revision_qemuu=$REVISION_QEMU_UPSTREAM          \
+                revision_seabios=$REVISION_SEABIOS              \
+                host_hostflags=arch-$arch,purpose-build         \
+                all_host_os=freebsd                             \
+                freebsdbuildjob=build-$arch-freebsd             \
+                recipe_testinstall=true
 done
 
 echo $flight
diff --git a/mfi-common b/mfi-common
index 9b6c9470..3601f38e 100644
--- a/mfi-common
+++ b/mfi-common
@@ -183,6 +183,7 @@ create_build_jobs () {
   local enable_ovmf
   local build_hostflags
   local livepatch_runvars
+  local freebsd_runvars build_on_freebsd
 
   if [ "x$BUILD_LVEXTEND_MAX" != x ]; then
      BUILD_RUNVARS+=" build_lvextend_max=$BUILD_LVEXTEND_MAX "
@@ -193,6 +194,8 @@ create_build_jobs () {
 
     if [ "x$arch" = xdisable ]; then continue; fi
 
+    set_freebsd_runvars
+
     build_matrix_branch_filter_callback || continue
 
     case "$arch" in
@@ -269,6 +272,11 @@ create_build_jobs () {
     esac
     enable_prevovmf=${enable_prevovmf:-$enable_ovmf}
 
+    case "$xenbranch" in
+    xen-unstable) build_on_freebsd=true;;
+    *)            build_on_freebsd=false;;
+    esac
+
     want_prevxen=n
     if branch_wants_migrupgrade_tests ; then
         # Only x86 for now
@@ -310,6 +318,21 @@ create_build_jobs () {
                 revision_seabios=$REVISION_SEABIOS                           \
                 revision_ovmf=$REVISION_OVMF                                 \
                 revision_minios=$REVISION_MINIOS
+      if [ x$arch = xamd64 ] && [ x$build_on_freebsd = xtrue ] ; then
+        job_create_build build-$arch$xsm_suffix-freebsd build-xen-freebsd    \
+          arch=$arch                                                         \
+          enable_xsm=$enable_xsm $livepatch_runvars                          \
+          tree_qemuu=$TREE_QEMU_UPSTREAM                                     \
+          tree_xen=$TREE_XEN                                                 \
+          tree_seabios=$TREE_SEABIOS                                         \
+          $RUNVARS $BUILD_RUNVARS $BUILD_XEN_RUNVARS $arch_runvars           \
+          host_hostflags=arch-$arch,purpose-build                            \
+          revision_xen=$REVISION_XEN                                         \
+          revision_qemu=$REVISION_QEMU                                       \
+          revision_qemuu=$REVISION_QEMU_UPSTREAM                             \
+          revision_seabios=$REVISION_SEABIOS                                 \
+          all_host_os=freebsd $freebsd_runvars
+      fi
     done
 
     if [ x$want_prevxen = xy ] ; then
diff --git a/sg-run-job b/sg-run-job
index d152051f..67fac1a8 100755
--- a/sg-run-job
+++ b/sg-run-job
@@ -712,6 +712,7 @@ proc need-hosts/build-libvirt {}        { return 
BUILD_LINUX }
 proc need-hosts/build-rumprun {}        { return BUILD_LINUX }
 proc need-hosts/build-xtf {}            { return BUILD_LINUX }
 proc need-hosts/build-freebsd {}        { return BUILD_FREEBSD }
+proc need-hosts/build-xen-freebsd {}    { return BUILD_FREEBSD }
 
 proc run-job/build {} {
     run-ts . = ts-xen-build
@@ -742,6 +743,11 @@ proc run-job/build-freebsd {} {
     run-ts . = ts-freebsd-build
 }
 
+proc run-job/build-xen-freebsd {} {
+    run-ts . xen-build-clang ts-xen-build + host -- clang=y SEABIOSCC=gcc \
+                                                    SEABIOSLD=/usr/local/bin/ld
+}
+
 proc allocate-build-host {ostype} {
     global jobinfo
     switch -exact $ostype {
diff --git a/ts-build-prep-freebsd b/ts-build-prep-freebsd
index 3999ed79..e3220fa8 100755
--- a/ts-build-prep-freebsd
+++ b/ts-build-prep-freebsd
@@ -31,7 +31,10 @@ our $ho= selecthost($whhost);
 exit 0 if $ho->{SharedReady};
 
 sub install_deps () {
-    target_install_packages($ho, qw(git));
+    my @packages = qw(git glib pkgconf yajl gmake pixman markdown gettext
+                      python argp-standalone lzo2 git gcc binutils);
+
+    target_install_packages($ho, @packages);
 }
 
 install_deps();
-- 
2.17.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.