From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Ian Jackson <ian.jackson@eu.citrix.com>,
Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2 6/6] osstest: add FreeBSD Xen build job
Date: Thu, 12 Jul 2018 16:46:22 +0200 [thread overview]
Message-ID: <20180712144622.96603-7-roger.pau@citrix.com> (raw)
In-Reply-To: <20180712144622.96603-1-roger.pau@citrix.com>
To both the FreeBSD and the xen-unstable flights.
This is the runvar difference of a xen-unstable flight:
+build-amd64-xen-freebsd all_host_os freebsd
+build-amd64-xen-xsm-freebsd all_host_os freebsd
+build-amd64-xen-freebsd all_hostflags PropEq:Firmware:bios:bios
+build-amd64-xen-xsm-freebsd all_hostflags PropEq:Firmware:bios:bios
+build-amd64-xen-freebsd arch amd64
+build-amd64-xen-xsm-freebsd arch amd64
+build-amd64-xen-freebsd enable_livepatch true
+build-amd64-xen-xsm-freebsd enable_livepatch true
+build-amd64-xen-freebsd enable_ovmf false
+build-amd64-xen-xsm-freebsd enable_ovmf false
+build-amd64-xen-freebsd enable_xend false
+build-amd64-xen-xsm-freebsd enable_xend false
+build-amd64-xen-freebsd enable_xsm false
+build-amd64-xen-xsm-freebsd enable_xsm true
+build-amd64-xen-freebsd freebsdbuildjob 125104.build-amd64-freebsd
+build-amd64-xen-xsm-freebsd freebsdbuildjob 125104.build-amd64-freebsd
+build-amd64-xen-freebsd host_hostflags arch-amd64,purpose-build
+build-amd64-xen-xsm-freebsd host_hostflags arch-amd64,purpose-build
+build-amd64-xen-freebsd revision_minios
+build-amd64-xen-xsm-freebsd revision_minios
+build-amd64-xen-freebsd revision_ovmf
+build-amd64-xen-xsm-freebsd revision_ovmf
+build-amd64-xen-freebsd revision_qemu
+build-amd64-xen-xsm-freebsd revision_qemu
+build-amd64-xen-freebsd revision_qemuu
+build-amd64-xen-xsm-freebsd revision_qemuu
+build-amd64-xen-freebsd revision_seabios
+build-amd64-xen-xsm-freebsd revision_seabios
+build-amd64-xen-freebsd revision_xen
+build-amd64-xen-xsm-freebsd revision_xen
+build-amd64-xen-freebsd tree_minios
+build-amd64-xen-xsm-freebsd tree_minios
+build-amd64-xen-freebsd tree_ovmf
+build-amd64-xen-xsm-freebsd tree_ovmf
+build-amd64-xen-freebsd tree_qemu git://xenbits.xen.org/qemu-xen-traditional.git
+build-amd64-xen-xsm-freebsd tree_qemu git://xenbits.xen.org/qemu-xen-traditional.git
+build-amd64-xen-freebsd tree_qemuu git://xenbits.xen.org/qemu-xen.git
+build-amd64-xen-xsm-freebsd tree_qemuu git://xenbits.xen.org/qemu-xen.git
+build-amd64-xen-freebsd tree_seabios
+build-amd64-xen-xsm-freebsd tree_seabios
+build-amd64-xen-freebsd tree_xen git://xenbits.xen.org/xen.git
+build-amd64-xen-xsm-freebsd tree_xen git://xenbits.xen.org/xen.git
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
- Fix enabling of FreeBSD Xen buildjob based on branch.
- Introduce a helper to add the FreeBSD Xen build jobs.
- Introduce the ts-xen-build-freebsd wrapper around ts-xen-build for
FreeBSD.
- Introduce a create_xen_build_job helper.
---
make-freebsd-flight | 6 +++++
mfi-common | 60 ++++++++++++++++++++++++++++++-------------
sg-run-job | 5 ++++
ts-build-prep-freebsd | 5 +++-
ts-xen-build-freebsd | 19 ++++++++++++++
5 files changed, 76 insertions(+), 19 deletions(-)
create mode 100755 ts-xen-build-freebsd
diff --git a/make-freebsd-flight b/make-freebsd-flight
index 6c530ebe..d3c413b5 100755
--- a/make-freebsd-flight
+++ b/make-freebsd-flight
@@ -46,6 +46,12 @@ for arch in "$arches"; do
freebsd_runvars="$freebsd_runvars freebsdbuildjob=build-$arch-freebsd \
recipe_testinstall=true"
create_freebsd_build_job build-$arch-freebsd-again
+
+ # Create a Xen build job that's going to use the output from the first
+ # FreeBSD build job.
+ create_xen_build_job build-$arch-xen-freebsd build-xen-freebsd \
+ host_hostflags=arch-$arch,purpose-build all_host_os=freebsd \
+ $freebsd_runvars
done
echo $flight
diff --git a/mfi-common b/mfi-common
index 74645259..54e1f62b 100644
--- a/mfi-common
+++ b/mfi-common
@@ -196,6 +196,30 @@ create_freebsd_build_job () {
$freebsd_runvars
}
+create_xen_build_job () {
+ local name=$1; shift
+ local recipe=$1; shift
+ local extra_runvars=$@; shift
+
+ job_create_build $name $recipe \
+ arch=$arch enable_xend=$build_defxend enable_ovmf=$enable_ovmf \
+ enable_xsm=$enable_xsm $livepatch_runvars \
+ tree_qemu=$TREE_QEMU \
+ tree_qemuu=$TREE_QEMU_UPSTREAM \
+ tree_xen=$TREE_XEN \
+ tree_seabios=$TREE_SEABIOS \
+ tree_ovmf=$TREE_OVMF \
+ tree_minios=$TREE_MINIOS \
+ revision_xen=$REVISION_XEN \
+ revision_qemu=$REVISION_QEMU \
+ revision_qemuu=$REVISION_QEMU_UPSTREAM \
+ revision_seabios=$REVISION_SEABIOS \
+ revision_ovmf=$REVISION_OVMF \
+ revision_minios=$REVISION_MINIOS \
+ $RUNVARS $BUILD_RUNVARS $BUILD_XEN_RUNVARS $arch_runvars \
+ $extra_runvars
+}
+
create_build_jobs () {
local arch
@@ -205,6 +229,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 "
@@ -215,6 +240,8 @@ create_build_jobs () {
if [ "x$arch" = xdisable ]; then continue; fi
+ set_freebsd_runvars
+
build_matrix_branch_filter_callback || continue
case "$arch" in
@@ -291,6 +318,13 @@ create_build_jobs () {
esac
enable_prevovmf=${enable_prevovmf:-$enable_ovmf}
+ case "$xenbranch" in
+ xen-3.*-testing) build_on_freebsd=false;;
+ xen-4.?-testing) build_on_freebsd=false;;
+ xen-4.11-testing) build_on_freebsd=false;;
+ *) build_on_freebsd=true;;
+ esac
+
want_prevxen=n
if branch_wants_migrupgrade_tests ; then
# Only x86 for now
@@ -314,24 +348,14 @@ create_build_jobs () {
else
xsm_suffix=""
fi
- job_create_build build-$arch$xsm_suffix build \
- arch=$arch enable_xend=$build_defxend enable_ovmf=$enable_ovmf\
- enable_xsm=$enable_xsm $livepatch_runvars \
- tree_qemu=$TREE_QEMU \
- tree_qemuu=$TREE_QEMU_UPSTREAM \
- tree_xen=$TREE_XEN \
- tree_seabios=$TREE_SEABIOS \
- tree_ovmf=$TREE_OVMF \
- tree_minios=$TREE_MINIOS \
- $RUNVARS $BUILD_RUNVARS $BUILD_XEN_RUNVARS $arch_runvars \
- $hostos_runvars \
- host_hostflags=$build_hostflags \
- revision_xen=$REVISION_XEN \
- revision_qemu=$REVISION_QEMU \
- revision_qemuu=$REVISION_QEMU_UPSTREAM \
- revision_seabios=$REVISION_SEABIOS \
- revision_ovmf=$REVISION_OVMF \
- revision_minios=$REVISION_MINIOS
+ create_xen_build_job build-$arch$xsm_suffix build \
+ $hostos_runvars host_hostflags=$build_hostflags
+ if [ x$arch = xamd64 ] && [ x$build_on_freebsd = xtrue ] ; then
+ # OVMF doesn't compile on FreeBSD ATM, so forcefully disable it.
+ create_xen_build_job build-$arch-xen$xsm_suffix-freebsd \
+ build-xen-freebsd host_hostflags=arch-$arch,purpose-build \
+ all_host_os=freebsd $freebsd_runvars enable_ovmf=false
+ fi
done
if [ x$want_prevxen = xy ] ; then
diff --git a/sg-run-job b/sg-run-job
index d152051f..bbfe3f5b 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,10 @@ proc run-job/build-freebsd {} {
run-ts . = ts-freebsd-build
}
+proc run-job/build-xen-freebsd {} {
+ run-ts . = ts-xen-build-freebsd + host
+}
+
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();
diff --git a/ts-xen-build-freebsd b/ts-xen-build-freebsd
new file mode 100755
index 00000000..55f513e5
--- /dev/null
+++ b/ts-xen-build-freebsd
@@ -0,0 +1,19 @@
+#!/bin/sh
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2018 Citrix Inc.
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+set -ex
+./ts-xen-build "$@" -- clang=y SEABIOSCC=gcc SEABIOSLD=/usr/local/bin/ld
--
2.17.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2018-07-12 14:47 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-12 14:46 [PATCH v2 0/6] osstest: FreeBSD bugfixes and improvements Roger Pau Monne
2018-07-12 14:46 ` [PATCH v2 1/6] osstest: allow appending to existing runvars Roger Pau Monne
2018-07-12 14:46 ` [PATCH v2 2/6] osstest: remove duplicate set_freebsd_runvars Roger Pau Monne
2018-07-12 14:46 ` [PATCH v2 3/6] osstest: abstract code to create a FreeBSD build job Roger Pau Monne
2018-07-12 14:46 ` [PATCH v2 4/6] osstest: limit FreeBSD jobs to hardware booting in BIOS mode Roger Pau Monne
2018-07-17 11:12 ` Ian Jackson
2018-07-12 14:46 ` [PATCH v2 5/6] osstest: set the make command to use for xen-build Roger Pau Monne
2018-07-12 14:46 ` Roger Pau Monne [this message]
2018-07-12 14:50 ` [PATCH v2 6/6] osstest: add FreeBSD Xen build job Ian Jackson
2018-07-12 15:02 ` Roger Pau Monné
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180712144622.96603-7-roger.pau@citrix.com \
--to=roger.pau@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).