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

[Xen-devel] [PATCH OSSTEST v2] mg-all-branch-statuses: Show how up to date each branch is



Using report_find_push_age_info allows us to provide counts of
attempts since the last baseline on current tip as well as the first
attempt of each of those.

Since everything serialises on the repo lock I didn't bother trying to
parallelise anything.

It's a little terse to keep it in 80 chars.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---
v2: Use new report_find_push_age_info functionality, output condensed.

I did wonder about adding this to some cronjob or something.

Example output:
Branch                       Basis    Tip      #Tip #Tot 1stTip     1stNew
libvirt                      d10a5f58 ebd62eba    0    9 ????-??-?? 2015-06-23
linux-3.0                    e1c63f9f 5dba9ddd    1    8 2015-06-30 2013-02-13
linux-3.10                   b3d78448 b3d78448
linux-3.14                   762167f9 762167f9
linux-3.16                   162d6432 26749e75    0    0 ????-??-?? ????-??-??
linux-3.18                   d048c068 ea5dd38e    2    2 2015-06-29 2015-06-29
linux-3.4                    bb4a05a0 cf1b3dad   14  160 2015-06-20 2014-12-02
linux-4.1                    b953c0d2 6a010c0a    0    - ????-??-?? ????-??-??
linux-arm-xen                64972ceb 64972ceb
linux-linus                  6aaf0da8 05a8256c    0    0 ????-??-?? ????-??-??
linux-mingo-tip-master       d935d0f7 778a1ac5    0   16 ????-??-?? 2012-04-14
linux-next                   2e0a48c9             0  219 ????-??-?? 2014-04-10
osstest                      15d2dd50             0    - ????-??-?? ????-??-??
ovmf                         269e0aeb f83f808c    0    0 ????-??-?? ????-??-??
qemu-mainline                2b464e13 d2966f80    1    1 2015-06-30 2015-06-30
qemu-upstream-4.2-testing    d2382550 d2382550
qemu-upstream-4.3-testing    efae5e0f efae5e0f
qemu-upstream-4.4-testing    32226f42 32226f42
qemu-upstream-4.5-testing    d9552b0a d9552b0a
qemu-upstream-unstable       c4a962ec c4a962ec
rumpuserxen                  30d72f3f 3b91e449   60  112 2015-04-15 2015-02-03
seabios                      f24eb2f8 f24eb2f8
xen-4.0-testing              2692df2a 2692df2a
xen-4.1-testing              40feff87 40feff87
xen-4.2-testing              38fcda22 38fcda22
xen-4.3-testing              e7c02297 e7c02297
xen-4.4-testing              6c1cb3db 6c1cb3db
xen-4.5-testing              e3bd3cef e3bd3cef
xen-unstable                 c40317f1 28e5d9a9    0    2 ????-??-?? 2015-06-29
---
 mg-all-branch-statuses | 113 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)
 create mode 100755 mg-all-branch-statuses

diff --git a/mg-all-branch-statuses b/mg-all-branch-statuses
new file mode 100755
index 0000000..38f3341
--- /dev/null
+++ b/mg-all-branch-statuses
@@ -0,0 +1,113 @@
+#!/bin/bash
+# -*- bash -*-
+#
+# Prints the status of each branch
+#
+# Usage:
+#    ./mg-all-branch-statuses [BRANCH....]
+#
+# If no BRANCHes specified, does all that are normally run by
+# cr-daily-branch or out of crontab.
+
+# This is part of "osstest", an automated testing framework for Xen.
+# Copyright (C) 2009-2014 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 -e
+
+. cri-common
+
+mkdir -p tmp
+
+if [ $# = 0 ]; then
+   set `./mg-list-all-branches`
+fi
+
+gather_info()
+{
+    local branch=$1; shift
+    local basis=$1;  shift
+    local tip=$1;    shift
+
+    select_xenbranch
+
+    local info=`perl -we '
+       use Osstest::Executive;
+       use Osstest;
+       use Data::Dumper;
+       open DEBUG, ">/dev/null" or die $!;
+       #open DEBUG, ">&STDERR" or die $!;
+       csreadconfig();
+       my ($branch,$tree,$basis,$tip) = @ARGV;
+       print DEBUG "branch=$branch tree=$tree basis=$basis tip=$tip\n";
+       my $info = report_find_push_age_info([qw(real adhoc play)],
+                                             undef, [($branch)],
+                                             $tree, $basis, $tip);
+       print DEBUG Dumper $info;
+       my $onevar = sub {
+               my ($var,$dflt) = @_;
+               $dflt //= "";
+               print "export ".uc($var)."=\"";
+               print $info->{$var}//$dflt;
+               print "\";\n";
+       };
+       my $oneflightvar = sub {
+               my ($flight,$var,$dflt) = @_;
+               $dflt //= "";
+               print "export ".uc($flight)."_".uc($var)."=\"";
+               print $info->{$flight}{$var}//$dflt;
+               print "\";\n";
+       };
+       $onevar->($_, "-") foreach qw(CountTip CountAfterBasis);
+       foreach my $flight (qw(Basis FirstAfterBasis FirstTip)) {
+               $oneflightvar->($flight, $_) foreach qw(flight started);
+       }
+' "$branch" "$tree" "$basis" "$tip"`
+    eval $info
+}
+
+printf "%-28s %-8s %-8s %-9s %-10s %-10s\n" \
+       "Branch" "Basis" "Tip" "#Tip #Tot" "1stTip" "1stNew"
+
+for branch in $@; do
+    basis=`./ap-fetch-version-old $branch 2>/dev/null || true`
+    tip=`./ap-fetch-version $branch 2>/dev/null || true`
+
+    gather_info "$branch" "$basis" "$tip"
+
+    basis=${basis:0:8}
+    tip=${tip:0:8}
+    printf "%-28s %8s %8s" ${branch} ${basis} ${tip}
+
+    if [ x$basis != x$tip ] ; then
+
+       if [ -z "$FIRSTTIP_STARTED" ] ; then
+           tipsince="????-??-??"
+       else
+           tipsince=$(date -u -I -d @"$FIRSTTIP_STARTED")
+       fi
+
+       if [ -z "$FIRSTAFTERBASIS_STARTED" ] ; then
+           newsince="????-??-??"
+       else
+           newsince=$(date -u -I -d @"$FIRSTAFTERBASIS_STARTED")
+       fi
+
+       printf "  %3s  %3s %-10s %-10s" \
+              $COUNTTIP $COUNTAFTERBASIS $tipsince $newsince
+    fi
+
+    printf "\n"
+done
-- 
2.1.4


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


 


Rackspace

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