]> xenbits.xensource.com Git - people/royger/osstest.git/commitdiff
other_revision_job_suffix: disregard recursive FreeBSD builds
authorIan Jackson <ian.jackson@eu.citrix.com>
Fri, 25 Oct 2019 15:25:24 +0000 (15:25 +0000)
committerIan Jackson <ian.jackson@eu.citrix.com>
Fri, 25 Oct 2019 15:47:54 +0000 (16:47 +0100)
We aren't actually interested in bisecting the FreeBSD
version (usually, the anointed version) which was used as the platform
for the failed builds.  We are thereby making the assumption that any
build failure (or indeed test failure) is the result in changes to the
recent FreeBSD being actually built or used, not the version being
used as a build host.

Achieve ignoring this by having other_revision_job_suffix return a new
magic new value DISCARD, which all callers must know means `skip
this one'.  There are three call sites:

In cs-bisection-step:flight_rmap, we skip those rows in the Perl
loop.  (We can't skip them conveniently in the SQL because we can't
refer to the column `othrev'; we'd have to duplicate the expression,
or have a subquery.  This doesn't seem likely to matter much.)

In cs-bisection-step:preparejob, we always compare the returned suffix
with a fixed value (which eventually came from the previous call).  So
DISCARD will never match.  No change is needed here.

In Osstest.pm:main_revision_job_cond, we compare the returned suffix
with ''.  Again, it will never match and no change is needed.

I have checked that now a cs-bisection-step run chooses a single
FreeBSD master commit to try to build.

CC: Roger Pau Monné <royger@FreeBSD.org>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Osstest.pm
cs-bisection-step

index d6c1b709f0bbdcdaaa23bffebf80afdc60439c68..27136bc99349b5c181b62f3d5c361d429804e578 100644 (file)
@@ -380,7 +380,7 @@ sub other_revision_job_suffix ($$$) {
       (CASE
        WHEN ($jobfield) LIKE 'build-%-prev' THEN '${separator}prev'
        WHEN (($jobfield) LIKE 'build-%-freebsd' 
-             AND $refrunvar = 'freebsdbuildjob') THEN '${separator}recurse'
+             AND $refrunvar = 'freebsdbuildjob') THEN 'DISCARD'
        ELSE                                      ''
        END)
 END
index 48208e462823bac366b53b37dcc33d15d192d0a8..16227234e80151387ec3ea9b7d60d4044e95c8af 100755 (executable)
@@ -254,6 +254,7 @@ END
     my $mixed=0;
     my (@ttreenames, @ttreeurls, @trevisions);
     while ($row= $sth->fetchrow_hashref()) {
+        next if $row->{othrev} eq 'DISCARD';
         $row->{longname} =~ m/^tree_/ or die "$row->{longname} ?";
         my $name= $'; #'
         print DEBUG " $flight.$row->{job} uval=$row->{uval}".