diff mbox

[Xen-devel,OSSTEST,RFC] Add a flight to test seabios.org's master branch

Message ID 1398680220-1136-1-git-send-email-ian.campbell@citrix.com
State New
Headers show

Commit Message

Ian Campbell April 28, 2014, 10:17 a.m. UTC
Most of this is the usual stuff for adding a new branch.

cr-daily-branch needed to set REVISION_SEABIOS for the seabios branch and leave
it blank for others (so that Config.mk's version will be used). ts-xen-build
already consumes the resulting version runvar but needed to be taught about the
tree URL runvar.

make-flight and mfi-common are updated to only build+test seabios on x86.
job_create_test_filter_callback is refactored a bit since the check for only
running qemuu tests with the xl toolstack should be common to all branches.
Only test jobs named *-qemuu-* are run since seabios is only used with qemuu
(XXX do all suitable jobs have qemuu in the name?)

The new branch is added to cr-daily-branches.

As with the qemu-mainline addition (see patch "Add a flight to test qemu.org's
("mainline") master branch.") I'm not sure what to call the output branch.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---
Doesn't strictly speaking depend on "ts-xen-build: collect built seabios and
ovmf versions" but doesn't make much sense without it I suppose.
---
 ap-common            |  5 +++++
 ap-fetch-version     |  4 ++++
 ap-fetch-version-old |  5 +++++
 ap-print-url         |  3 +++
 ap-push              |  5 +++++
 cr-daily-branch      | 12 ++++++++++++
 cr-for-branches      |  2 +-
 cri-common           |  1 +
 make-flight          | 18 ++++++++++++++----
 mfi-common           |  5 ++++-
 ts-xen-build         |  3 +++
 11 files changed, 57 insertions(+), 6 deletions(-)

Comments

Ian Jackson May 2, 2014, 11:06 a.m. UTC | #1
Ian Campbell writes ("[PATCH OSSTEST RFC] Add a flight to test seabios.org's master branch"):
> Most of this is the usual stuff for adding a new branch.
> 
> cr-daily-branch needed to set REVISION_SEABIOS for the seabios
> branch and leave it blank for others (so that Config.mk's version
> will be used). ts-xen-build already consumes the resulting version
> runvar but needed to be taught about the tree URL runvar.

You're introducing a push gate here.  Why not use the post-push-gate
version for other tests ?

> make-flight and mfi-common are updated to only build+test seabios on x86.
> job_create_test_filter_callback is refactored a bit since the check for only
> running qemuu tests with the xl toolstack should be common to all branches.
> Only test jobs named *-qemuu-* are run since seabios is only used with qemuu
> (XXX do all suitable jobs have qemuu in the name?)

I'm not sure they do.  Perhaps you should filter by the runvars
instead.  (NB that since qemuu is the default now in xl, hvm tests not
specifying trad are probably the ones you want.)

> As with the qemu-mainline addition (see patch "Add a flight to test qemu.org's
> ("mainline") master branch.") I'm not sure what to call the output branch.

tested/<something> a la /home/xen/git/linux-pvops.git I would guess.

> diff --git a/ap-common b/ap-common
> index f48d08a..468f5f9 100644
...
> +: ${TREE_SEABIOS:=git://git.seabios.org/seabios.git}
> +: ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git} # XXX ???
> +: ${BASE_TREE_SEABIOS:=git://xenbits.xen.org/osstest/seabios.git} # XXX ???

Surely this should be a head in /home/xen/git/seabios.git ?

> -: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing linux-3.10 linux-3.4 linux-arm-xen ${EXTRA_BRANCHES}}
> +: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing linux-3.10 linux-3.4 linux-arm-xen seabios ${EXTRA_BRANCHES}}

Do we want this to run whenever upstream is updated then ?

Thanks,
Ian.
Ian Campbell May 2, 2014, 11:54 a.m. UTC | #2
On Fri, 2014-05-02 at 12:06 +0100, Ian Jackson wrote:
> Ian Campbell writes ("[PATCH OSSTEST RFC] Add a flight to test seabios.org's master branch"):
> > Most of this is the usual stuff for adding a new branch.
> > 
> > cr-daily-branch needed to set REVISION_SEABIOS for the seabios
> > branch and leave it blank for others (so that Config.mk's version
> > will be used). ts-xen-build already consumes the resulting version
> > runvar but needed to be taught about the tree URL runvar.
> 
> You're introducing a push gate here.  Why not use the post-push-gate
> version for other tests ?

For now I'd like to continue to manually track actual SeaBIOS releases
rather than pull in the current master (especially for releases).

The intention of this flight is just to monitor the health of upstream
master.

> 
> > make-flight and mfi-common are updated to only build+test seabios on x86.
> > job_create_test_filter_callback is refactored a bit since the check for only
> > running qemuu tests with the xl toolstack should be common to all branches.
> > Only test jobs named *-qemuu-* are run since seabios is only used with qemuu
> > (XXX do all suitable jobs have qemuu in the name?)
> 
> I'm not sure they do.  Perhaps you should filter by the runvars
> instead.  (NB that since qemuu is the default now in xl, hvm tests not
> specifying trad are probably the ones you want.)

Will check this out again.

> > As with the qemu-mainline addition (see patch "Add a flight to test qemu.org's
> > ("mainline") master branch.") I'm not sure what to call the output branch.
> 
> tested/<something> a la /home/xen/git/linux-pvops.git I would guess.

Sorry, by branch I meant "repo", .i.e. the /home/xen/git/foo.git bit.  I
wasn't sure about using /home/xen/git/seabios.git -- I'm wary of
publishing the output of a push gate which is just for "health
monitoring" to somewhere that it might be mistaken for a Supported
thing. I was thinking of
perhaps /home/xen/git/osstest-gated/seabios.git.

> > diff --git a/ap-common b/ap-common
> > index f48d08a..468f5f9 100644
> ...
> > +: ${TREE_SEABIOS:=git://git.seabios.org/seabios.git}
> > +: ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git} # XXX ???
> > +: ${BASE_TREE_SEABIOS:=git://xenbits.xen.org/osstest/seabios.git} # XXX ???
> 
> Surely this should be a head in /home/xen/git/seabios.git ?

See above.

> > -: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing linux-3.10 linux-3.4 linux-arm-xen ${EXTRA_BRANCHES}}
> > +: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing linux-3.10 linux-3.4 linux-arm-xen seabios ${EXTRA_BRANCHES}}
> 
> Do we want this to run whenever upstream is updated then ?

I've never been quite sure about these things being here vs. daily
cronjob. SeaBIOS doesn't see a huge amount of churn compared with some
trees. Mostly I just tossed a mental coin though.

Cheers,
Ian.
diff mbox

Patch

diff --git a/ap-common b/ap-common
index f48d08a..468f5f9 100644
--- a/ap-common
+++ b/ap-common
@@ -39,6 +39,10 @@ 
 
 : ${TREE_GNULIB_LIBVIRT:=git://git.sv.gnu.org/gnulib.git}
 
+: ${TREE_SEABIOS:=git://git.seabios.org/seabios.git}
+: ${PUSH_TREE_SEABIOS:=$XENBITS:/home/xen/git/osstest/seabios.git} # XXX ???
+: ${BASE_TREE_SEABIOS:=git://xenbits.xen.org/osstest/seabios.git} # XXX ???
+
 : ${TREE_LINUXFIRMWARE:=git://xenbits.xen.org/osstest/linux-firmware.git}
 : ${PUSH_TREE_LINUXFIRMWARE:=$XENBITS:/home/osstest/ext/linux-firmware.git}
 : ${UPSTREAM_TREE_LINUXFIRMWARE:=$GIT_KERNEL_ORG/pub/scm/linux/kernel/git/firmware/linux-firmware.git}
@@ -64,6 +68,7 @@  fi
 : ${LOCALREV_LINUX:=daily-cron.$branch}
 : ${LOCALREV_LIBVIRT:=daily-cron.$branch}
 : ${LOCALREV_GNULIB_LIBVIRT:=daily-cron.$branch}
+: ${LOCALREV_SEABIOS:=daily-cron.$branch}
 
 : ${TREEBASE_LINUX_XCP:=http://hg.uk.xensource.com/carbon/trunk/linux-2.6.27}
 
diff --git a/ap-fetch-version b/ap-fetch-version
index a4558ea..9f65fca 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -81,6 +81,10 @@  gnulib-libvirt)
 	repo_tree_rev_fetch_git gnulib-libvirt \
 		$TREE_GNULIB_LIBVIRT master $LOCALREV_GNULIB_LIBVIRT
 	;;
+seabios)
+	repo_tree_rev_fetch_git seabios \
+		$TREE_SEABIOS master $LOCALREV_SEABIOS
+	;;
 osstest)
 	if [ "x$OSSTEST_USE_HEAD" != "xy" ] ; then
 	    git fetch $HOME/testing.git pretest:ap-fetch >&2
diff --git a/ap-fetch-version-old b/ap-fetch-version-old
index f71626f..d1a64dc 100755
--- a/ap-fetch-version-old
+++ b/ap-fetch-version-old
@@ -28,6 +28,7 @@  select_xenbranch
 : ${BASE_TAG_LINUX2639:=tested/2.6.39.x}
 : ${BASE_LOCALREV_LINUX:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_LIBVIRT:=daily-cron.$branch.old}
+: ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
 
 : ${BASE_TREE_QEMU_UPSTREAM:=${TREE_QEMU_UPSTREAM/\/staging\//\/}}
 
@@ -86,6 +87,10 @@  gnulib-libvirt)
 	# No push gate, same as ap-fetch-version
 	./ap-fetch-version $branch
 	;;
+seabios)
+	repo_tree_rev_fetch_git seabios \
+		$BASE_TREE_SEABIOS xen-tested-master $BASE_LOCALREV_SEABIOS
+	;;
 osstest)
 	if [ "x$OSSTEST_USE_HEAD" != "xy" ] ; then
 	    git fetch -f $HOME/testing.git incoming:ap-fetch
diff --git a/ap-print-url b/ap-print-url
index a21efce..637c9cc 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -55,6 +55,9 @@  libvirt)
 gnulib-libvirt)
 	echo $TREE_GNULIB_LIBVIRT
 	;;
+seabios)
+	echo $TREE_SEABIOS
+	;;
 osstest)
 	echo none:;
 	;;
diff --git a/ap-push b/ap-push
index 303345d..e34edf3 100755
--- a/ap-push
+++ b/ap-push
@@ -34,6 +34,7 @@  TREE_QEMU_MAINLINE=$PUSH_TREE_QEMU_MAINLINE
 TREE_QEMU_UPSTREAM=$XENBITS:/home/xen/git/qemu-upstream-${xenbranch#xen-}.git
 TREE_XEN=$PUSH_TREE_XEN
 TREE_LIBVIRT=$PUSH_TREE_LIBVIRT
+TREE_SEABIOS=$PUSH_TREE_SEABIOS
 
 if info_linux_tree "$branch"; then
 	cd $repos/linux
@@ -86,6 +87,10 @@  gnulib-libvirt)
 	# No gate
 	echo "gnulib-libvirt has not push gate, refusing to push" >&2
 	exit 1
+seabios)
+	cd $repos/seabios
+	git push $TREE_SEABIOS $revision:xen-tested-master
+	;;
 osstest)
 	git push $HOME/testing.git $revision:incoming
 	git push $XENBITS:/home/xen/git/osstest.git $revision:master
diff --git a/cr-daily-branch b/cr-daily-branch
index 837cf7a..82280a4 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -132,6 +132,14 @@  if [ "x$REVISION_LINUX_ARM" = x ]; then
         export REVISION_LINUX_ARM
     fi
 fi
+if [ "x$REVISION_SEABIOS" = x ]; then
+    if [ "x$tree" = "xseabios" ]; then
+	determine_version REVISION_SEABIOS seabios
+	export REVISION_SEABIOS
+    else
+	: REVISION_SEABIOS from Config.mk
+    fi
+fi
 if [ "x$REVISION_LIBVIRT" = x ]; then
 	determine_version REVISION_LIBVIRT libvirt
 	export REVISION_LIBVIRT
@@ -176,6 +184,10 @@  libvirt)
 	realtree=libvirt
 	NEW_REVISION=$REVISION_LIBVIRT
 	;;
+seabios)
+	realtree=seabios
+	NEW_REVISION=$REVISION_SEABIOS
+	;;
 *)
 	NEW_REVISION=''
 	wantpush=false
diff --git a/cr-for-branches b/cr-for-branches
index bded06f..5ed0a17 100755
--- a/cr-for-branches
+++ b/cr-for-branches
@@ -31,7 +31,7 @@  scriptoptions="$1"; shift
 LOGFILE=tmp/cr-for-branches.log
 export LOGFILE
 
-: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing linux-3.10 linux-3.4 linux-arm-xen ${EXTRA_BRANCHES}}
+: ${BRANCHES:=osstest xen-4.0-testing xen-4.1-testing xen-4.2-testing xen-4.3-testing xen-4.4-testing xen-unstable qemu-mainline qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing qemu-upstream-4.4-testing linux-3.10 linux-3.4 linux-arm-xen seabios ${EXTRA_BRANCHES}}
 export BRANCHES
 
 fetchwlem=$wlem
diff --git a/cri-common b/cri-common
index d901383..b180c4f 100644
--- a/cri-common
+++ b/cri-common
@@ -49,6 +49,7 @@  select_xenbranch () {
 	linux-*)		tree=linux;	xenbranch=xen-unstable ;;
 	linuxfirmware)	    tree=linuxfirmware;	xenbranch=xen-unstable ;;
 	libvirt)		tree=libvirt;	xenbranch=xen-unstable ;;
+	seabios)		tree=seabios;	xenbranch=xen-unstable ;;
 	osstest)		tree=osstest;	xenbranch=xen-unstable ;;
 	esac
 	if [ "x$tree" = xlinux ]; then
diff --git a/make-flight b/make-flight
index aadf58b..34ad95c 100755
--- a/make-flight
+++ b/make-flight
@@ -67,12 +67,22 @@  job_create_test_filter_callback () {
     libvirt)
       if [ x$toolstack != xlibvirt ] ; then return 1; fi
       ;;
-    *)
+    seabios)
+      case $xenarch in
+          x86_64|x86_32) ;;
+          *) return 1;;
+      esac
       case "$job" in
-        *-qemuu-*)
-          if [ "x$toolstack" != xxl ]; then return 1; fi
-          ;;
+        *-qemuu-*) ;;
+        *) return 1;;
       esac
+    *)
+      ;;
+  esac
+
+  case "$job" in
+    *-qemuu-*)
+      if [ "x$toolstack" != xxl ]; then return 1; fi
       ;;
   esac
 
diff --git a/mfi-common b/mfi-common
index 3cfd3ea..bf18301 100644
--- a/mfi-common
+++ b/mfi-common
@@ -52,6 +52,7 @@  create_build_jobs () {
       linux-mingo-tip-master) continue;;
       linux-*) ;;
       qemu-*) continue;;
+      seabios) continue;;
       esac
       case "$xenbranch" in
       xen-3.*-testing) continue;;
@@ -131,12 +132,14 @@  create_build_jobs () {
         tree_qemu=$TREE_QEMU                                                 \
         tree_qemuu=$TREE_QEMU_UPSTREAM                                       \
         tree_xen=$TREE_XEN                                                   \
+        tree_seabios=$TREE_SEABIOS                                           \
                 $RUNVARS $BUILD_RUNVARS $BUILD_XEN_RUNVARS $arch_runvars     \
                 $suite_runvars                                               \
                 host_hostflags=$build_hostflags                              \
                 revision_xen=$REVISION_XEN                                   \
                 revision_qemu=$REVISION_QEMU                                 \
-                revision_qemuu=$REVISION_QEMU_UPSTREAM
+                revision_qemuu=$REVISION_QEMU_UPSTREAM                       \
+                revision_seabios=$REVISION_SEABIOS
 
     if [ $build_extraxend = "true" ] ; then
     ./cs-job-create $flight build-$arch-xend build                           \
diff --git a/ts-xen-build b/ts-xen-build
index 7ac46ea..5a764fd 100755
--- a/ts-xen-build
+++ b/ts-xen-build
@@ -67,6 +67,9 @@  END
                (nonempty($r{revision_qemuu}) ? <<END : '').
 	echo >>.config QEMU_UPSTREAM_REVISION='$r{revision_qemuu}'
 END
+               (nonempty($r{tree_seabios}) ? <<END : '').
+	echo >>.config SEABIOS_UPSTREAM_URL='$r{tree_seabios}'
+END
                (nonempty($r{revision_seabios}) ? <<END : '').
 	echo >>.config SEABIOS_UPSTREAM_TAG='$r{revision_seabios}'
 END