Provide a new cr-daily-branch setting OSSTEST_BASELINES_ONLY which
causes it to only attempt to test the current baseline (if it is
untested) and never the tip version. Such tests will not result in any
push.

Each new baseline is tested exactly once (i.e. we aren't repeating
hoping for a pass), hence the correct revision is just the one tested
by the last run on the branch.

Add a cronjob to Cambridge which runs in this manner, ensuring that
there will usually be some sort of reasonably up to date baseline for
any given branch which can be used for comparisons in adhoc testing or
bisections.

This will also give us some data on the success of various branches on
the set of machines in Cambridge, which can be useful/interesting.

Signed-off-by: Ian Campbell <ian.campb...@citrix.com>
---
v2: Wording tweak.
v3: Pick correct OLD_REVISION (drop Ack), set $subject_prefix
---
 cr-daily-branch   | 23 +++++++++++++++++++++--
 crontab-cambridge |  1 +
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/cr-daily-branch b/cr-daily-branch
index 06df5a0..c864ba2 100755
--- a/cr-daily-branch
+++ b/cr-daily-branch
@@ -91,12 +91,24 @@ if [ "x$OLD_REVISION" = x ]; then
            OSSTEST_NO_BASELINE=y
            OLD_REVISION=flight-`check_tested`
            ;;
-       *) OLD_REVISION="`./ap-fetch-version-old $branch`";;
+       *)
+           if [ "x$OSSTEST_BASELINES_ONLY" = xy ] ; then
+               # We run on each upstream baseline exactly once so the
+               # last test will have tested the previous upstream baseline
+               OLD_REVISION=`check_tested --print-revision=$tree`
+           else
+               OLD_REVISION="`./ap-fetch-version-old $branch`"
+           fi
+           ;;
     esac
     export OLD_REVISION
 fi
 
-if [ "x$OSSTEST_NO_BASELINE" != xy ] ; then
+if [ "x$OSSTEST_BASELINES_ONLY" = xy ] ; then
+    force_baseline=baselines-only
+    wantpush=false
+    skipidentical=true
+elif [ "x$OSSTEST_NO_BASELINE" != xy ] ; then
        testedflight=`check_tested --revision-$tree="$OLD_REVISION"`
 
        if [ "x$testedflight" = x ]; then
@@ -274,6 +286,13 @@ any, is the most recent actually tested revision.
 
 END
     ;;
+    baselines-only)
+        subject_prefix="[$branch baseline-only test] "
+        cat >> $heading <<END
+This run is configured for baseline tests only.
+
+END
+    ;;
     '') # Not forcing a baseline, nothing to say.
     ;;
 esac
diff --git a/crontab-cambridge b/crontab-cambridge
index b2de44e..7393fe5 100644
--- a/crontab-cambridge
+++ b/crontab-cambridge
@@ -2,6 +2,7 @@ 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=ian.jack...@citrix.com,ian.campb...@eu.citrix.com
 # m            h       dom mon dow     command
 4-59/30                *       * * *           cd testing.git && 
BRANCHES='osstest'                    ./cr-for-branches branches -q 
"./cr-daily-branch --real"
+11-59/30       *       * * *           cd testing.git && 
OSSTEST_BASELINES_ONLY=y              ./cr-for-branches branches -q 
"./cr-daily-branch --real"
 46             7       * * 6           cd testing.git && 
BRANCHES='distros-debian-snapshot'    ./cr-for-branches branches -w 
"./cr-daily-branch --real"
 46             7       * * 5           cd testing.git && 
BRANCHES='distros-debian-sid'         ./cr-for-branches branches -w 
"./cr-daily-branch --real"
 46             7       * * 4           cd testing.git && 
BRANCHES='distros-debian-jessie'      ./cr-for-branches branches -w 
"./cr-daily-branch --real"
-- 
2.1.4


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

Reply via email to