]> xenbits.xensource.com Git - osstest.git/commitdiff
cambridge: arrange to test each new baseline
authorIan Campbell <ian.campbell@citrix.com>
Thu, 13 Aug 2015 15:18:37 +0000 (16:18 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 9 Sep 2015 16:09:43 +0000 (17:09 +0100)
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.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
cr-daily-branch
crontab-cambridge

index 8c294d008d52d4de8f5f94e8f4eb9f5e5ca0b47a..ade515ded626e8d63f591cc319f6d45962e69834 100755 (executable)
@@ -92,12 +92,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
@@ -277,6 +289,13 @@ case "$force_baseline" in
 flight we test it, rather than a new candidate.  The baseline, if
 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.
index b2de44e29e20522709bf70d9a2eaaa1d7f114177..7393fe503124d02431d174d1ca45404ca767e727 100644 (file)
@@ -2,6 +2,7 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 MAILTO=ian.jackson@citrix.com,ian.campbell@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"