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é <[email protected]> Signed-off-by: Ian Jackson <[email protected]> --- Osstest.pm | 2 +- cs-bisection-step | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Osstest.pm b/Osstest.pm index d6c1b709..27136bc9 100644 --- a/Osstest.pm +++ b/Osstest.pm @@ -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 diff --git a/cs-bisection-step b/cs-bisection-step index 48208e46..16227234 100755 --- a/cs-bisection-step +++ b/cs-bisection-step @@ -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}". -- 2.11.0 _______________________________________________ Xen-devel mailing list [email protected] https://lists.xenproject.org/mailman/listinfo/xen-devel
