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

[Xen-devel] [PATCH v7 19/20] osstest: hook FreeBSD flight into cr-daily-branch



Add the missing pieces so that cr-daily-branch knows how to create a
FreeBSD flight. This has been tested by calling `./cr-daily-branch
freebsd-master`.

Note that there are two missing pieces. The first one is correctly
setting the FREEBSD_<arch>_BUILDJOB environment variable when calling
make-freebsd-flight, without it the installer media will always be
picked from the configuration file. This requires keeping track of
previous FreeBSD successful build jobs, marking them as permanent and
fetching them from the database in order to pass them on the env
variable.

Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
Changes since v6:
 - Set the path to the FreeBSD git trees in this patch.
 - Push to tested/master or tested/stable/<version> instead of using
   the same branches as the origin tree.

Changes since v5:
 - Add support for testing multiple FreeBSD branches, default to
   branch master.

Changes since v3:
 - Fix the daily-cron-email-* settings for FreeBSD branch flights.
---
 ap-common                              |  5 +++++
 ap-fetch-version                       |  8 ++++++++
 ap-fetch-version-old                   |  9 +++++++++
 ap-print-url                           |  3 +++
 ap-push                                |  9 +++++++++
 cr-daily-branch                        | 17 +++++++++++++++++
 cr-for-branches                        |  2 +-
 cri-common                             |  1 +
 daily-cron-email-adhoc--freebsd-master |  1 +
 daily-cron-email-play--freebsd-master  |  1 +
 daily-cron-email-real--freebsd-master  |  4 ++++
 11 files changed, 59 insertions(+), 1 deletion(-)
 create mode 100644 daily-cron-email-adhoc--freebsd-master
 create mode 100644 daily-cron-email-play--freebsd-master
 create mode 100644 daily-cron-email-real--freebsd-master

diff --git a/ap-common b/ap-common
index bc7c03cb..28144ca6 100644
--- a/ap-common
+++ b/ap-common
@@ -37,6 +37,10 @@
 : ${PUSH_TREE_XTF:=$XENBITS:/home/xen/git/xtf.git}
 : ${BASE_TREE_XTF:=git://xenbits.xen.org/xtf.git}
 
+: ${TREE_FREEBSD:=git://github.com/freebsd/freebsd.git}
+: ${PUSH_TREE_FREEBSD:=$XENBITS:/home/xen/git/freebsd.git}
+: ${BASE_TREE_FREEBSD:=git://xenbits.xen.org/freebsd.git}
+
 : ${TREE_LIBVIRT:=git://libvirt.org/libvirt.git}
 : ${PUSH_TREE_LIBVIRT:=$XENBITS:/home/xen/git/libvirt.git}
 : ${BASE_TREE_LIBVIRT:=git://xenbits.xen.org/libvirt.git}
@@ -82,6 +86,7 @@ fi
 : ${LOCALREV_SEABIOS:=daily-cron.$branch}
 : ${LOCALREV_OVMF:=daily-cron.$branch}
 : ${LOCALREV_XTF:=daily-cron.$branch}
+: ${LOCALREV_FREEBSD:=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 a107c93d..87725bf0 100755
--- a/ap-fetch-version
+++ b/ap-fetch-version
@@ -106,6 +106,14 @@ ovmf)
        repo_tree_rev_fetch_git ovmf \
                $TREE_OVMF_UPSTREAM master $LOCALREV_OVMF
        ;;
+freebsd-*)
+       branchcore=${branch#freebsd-}
+       if [ "x$branchcore" != "xmaster" ]; then
+               branchcore="stable/$branchcore"
+       fi
+       repo_tree_rev_fetch_git freebsd \
+               $TREE_FREEBSD $branchcore $LOCALREV_FREEBSD
+       ;;
 osstest)
         if [ "x$OSSTEST_USE_HEAD" = "xy" ] ; then
            git update-ref -m "Arranging to test HEAD" \
diff --git a/ap-fetch-version-old b/ap-fetch-version-old
index 3cbc1768..f952a249 100755
--- a/ap-fetch-version-old
+++ b/ap-fetch-version-old
@@ -34,6 +34,7 @@ check_ap_fetch_placeholders
 : ${BASE_LOCALREV_SEABIOS:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_XTF:=daily-cron.$branch.old}
 : ${BASE_LOCALREV_OVMF:=daily-cron.$branch.old}
+: ${BASE_LOCALREV_FREEBSD:=daily-cron.$branch.old}
 : ${BASE_TAG_LIBVIRT:=xen-tested-master}
 
 if info_linux_tree "$branch"; then
@@ -114,6 +115,14 @@ ovmf)
        repo_tree_rev_fetch_git ovmf \
                $BASE_TREE_OVMF xen-tested-master $BASE_LOCALREV_OVMF
        ;;
+freebsd-*)
+       branchcore=${branch#freebsd-}
+       if [ "x$branchcore" != "xmaster" ]; then
+               branchcore="stable/$branchcore"
+       fi
+       repo_tree_rev_fetch_git freebsd \
+               $BASE_TREE_FREEBSD $branchcore $BASE_LOCALREV_FREEBSD
+       ;;
 osstest)
        if [ "x$OSSTEST_USE_HEAD" != "xy" ] ; then
            git fetch -f $HOME/testing.git production:ap-fetch
diff --git a/ap-print-url b/ap-print-url
index 93c14b35..e9934bc0 100755
--- a/ap-print-url
+++ b/ap-print-url
@@ -64,6 +64,9 @@ xtf)
 ovmf)
        echo $TREE_OVMF_UPSTREAM
        ;;
+freebsd-*)
+       echo $TREE_FREEBSD
+       ;;
 osstest)
        echo none:;
        ;;
diff --git a/ap-push b/ap-push
index a27ccc22..dea5c436 100755
--- a/ap-push
+++ b/ap-push
@@ -41,6 +41,7 @@ TREE_RUMPRUN=$PUSH_TREE_RUMPRUN
 TREE_SEABIOS=$PUSH_TREE_SEABIOS
 TREE_OVMF=$PUSH_TREE_OVMF
 TREE_XTF=$PUSH_TREE_XTF
+TREE_FREEBSD=$PUSH_TREE_FREEBSD
 
 if info_linux_tree "$branch"; then
        cd $repos/linux
@@ -125,6 +126,14 @@ xtf)
        cd $repos/xtf
        git push $TREE_XTF $revision:refs/heads/xen-tested-master
        ;;
+freebsd-*)
+       branchcore=${branch#freebsd-}
+       if [ "x$branchcore" != "xmaster" ]; then
+               branchcore="stable/$branchcore"
+       fi
+       cd $repos/freebsd
+       git push $TREE_FREEBSD $revision:refs/heads/tested/$branchcore
+       ;;
 ovmf)
        cd $repos/ovmf
        git push $TREE_OVMF $revision:refs/heads/xen-tested-master
diff --git a/cr-daily-branch b/cr-daily-branch
index 39483cda..af17ad20 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -207,6 +207,18 @@ if [ "x$REVISION_LINUXFIRMWARE" = x ]; then
        determine_version REVISION_LINUXFIRMWARE linuxfirmware LINUXFIRMWARE
         export REVISION_LINUXFIRMWARE
 fi
+if [ "x$REVISION_FREEBSD" = x ]; then
+       case "$branch" in
+       freebsd-*)
+               determine_version REVISION_FREEBSD "$branch" FREEBSD
+               ;;
+       *)
+               determine_version REVISION_FREEBSD freebsd-master FREEBSD
+               ;;
+       esac
+
+       export REVISION_FREEBSD
+fi
 
 case "$tree" in
 xen)
@@ -255,6 +267,10 @@ ovmf)
        realtree=ovmf
        NEW_REVISION=$REVISION_OVMF
        ;;
+freebsd)
+       realtree=freebsd
+       NEW_REVISION=$REVISION_FREEBSD
+       ;;
 *)
        NEW_REVISION=''
        wantpush=false
@@ -274,6 +290,7 @@ examine)    makeflight=make_hosts_flight
                        ./make-hosts-flight $1 $2 blessed-$3 $3 $4
                }
                ;;
+freebsd-*)     makeflight=./make-freebsd-flight ;;
 *)             makeflight=./make-flight ;;
 esac
 
diff --git a/cr-for-branches b/cr-for-branches
index a6912735..a54a8e91 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-4.5-testing xen-4.6-testing xen-4.7-testing 
xen-4.8-testing xen-4.9-testing xen-unstable qemu-mainline 
qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing 
qemu-upstream-4.4-testing qemu-upstream-4.5-testing qemu-upstream-4.6-testing 
qemu-upstream-4.7-testing qemu-upstream-4.8-testing qemu-upstream-4.9-testing 
linux-linus linux-4.9 linux-4.1 linux-3.18 linux-3.16 linux-3.14 linux-3.10 
linux-3.4 linux-arm-xen seabios ovmf xtf ${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-4.5-testing xen-4.6-testing xen-4.7-testing 
xen-4.8-testing xen-4.9-testing xen-unstable qemu-mainline 
qemu-upstream-unstable qemu-upstream-4.2-testing qemu-upstream-4.3-testing 
qemu-upstream-4.4-testing qemu-upstream-4.5-testing qemu-upstream-4.6-testing 
qemu-upstream-4.7-testing qemu-upstream-4.8-testing qemu-upstream-4.9-testing 
linux-linus linux-4.9 linux-4.1 linux-3.18 linux-3.16 linux-3.14 linux-3.10 
linux-3.4 linux-arm-xen seabios ovmf xtf freebsd-master ${EXTRA_BRANCHES}}
 export BRANCHES
 
 fetchwlem=$wlem
diff --git a/cri-common b/cri-common
index 903fb4e2..8d2d26cf 100644
--- a/cri-common
+++ b/cri-common
@@ -80,6 +80,7 @@ select_xenbranch () {
        seabios)                tree=seabios;   xenbranch=xen-unstable ;;
        xtf)                    tree=xtf;       xenbranch=xen-unstable ;;
        ovmf)                   tree=ovmf;      xenbranch=xen-unstable ;;
+       freebsd-*)              tree=freebsd;   xenbranch=xen-unstable ;;
        distros-*|examine)      tree=none;      xenbranch=xen-unstable ;;
        osstest)                tree=osstest;   xenbranch=xen-unstable ;;
        esac
diff --git a/daily-cron-email-adhoc--freebsd-master 
b/daily-cron-email-adhoc--freebsd-master
new file mode 100644
index 00000000..b64821af
--- /dev/null
+++ b/daily-cron-email-adhoc--freebsd-master
@@ -0,0 +1 @@
+To: royger@xxxxxxxxxxx
diff --git a/daily-cron-email-play--freebsd-master 
b/daily-cron-email-play--freebsd-master
new file mode 100644
index 00000000..b64821af
--- /dev/null
+++ b/daily-cron-email-play--freebsd-master
@@ -0,0 +1 @@
+To: royger@xxxxxxxxxxx
diff --git a/daily-cron-email-real--freebsd-master 
b/daily-cron-email-real--freebsd-master
new file mode 100644
index 00000000..6ee2fa4d
--- /dev/null
+++ b/daily-cron-email-real--freebsd-master
@@ -0,0 +1,4 @@
+To: xen-devel@xxxxxxxxxxxxxxxxxxxx,
+    osstest-admin@xxxxxxxxxxxxxx,
+    royger@xxxxxxxxxxx
+Bcc: osstest-output@xxxxxxxxxxxxxxxxxxxx
-- 
2.11.0 (Apple Git-81)


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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