* hydra: buildpage, show changes since last build/successful build

This commit is contained in:
Rob Vermaas
2010-02-22 13:21:34 +00:00
parent fb8ab7a574
commit 529a6cf6eb
4 changed files with 88 additions and 3 deletions

View File

@ -15,6 +15,8 @@ sub build : Chained('/') PathPart CaptureArgs(1) {
$c->stash->{id} = $id;
$c->stash->{build} = getBuild($c, $id);
$c->stash->{prevBuild} = getPreviousBuild($c, $c->stash->{build});
$c->stash->{prevSuccessfulBuild} = getPreviousSuccessfulBuild($c, $c->stash->{build});
notFound($c, "Build with ID $id doesn't exist.")
if !defined $c->stash->{build};
@ -22,7 +24,6 @@ sub build : Chained('/') PathPart CaptureArgs(1) {
$c->stash->{project} = $c->stash->{build}->project;
}
sub view_build : Chained('build') PathPart('') Args(0) {
my ($self, $c) = @_;

View File

@ -7,7 +7,7 @@ use Hydra::Helper::Nix;
our @ISA = qw(Exporter);
our @EXPORT = qw(
getBuild getBuildStats joinWithResultInfo getChannelData
getBuild getPreviousBuild getPreviousSuccessfulBuild getBuildStats joinWithResultInfo getChannelData
error notFound
requireLogin requireProjectOwner requireAdmin requirePost
trim
@ -21,6 +21,34 @@ sub getBuild {
return $build;
}
sub getPreviousBuild {
my ($c, $build) = @_;
(my $prevBuild) = $c->model('DB::Builds')->search(
{ finished => 1
, system => $build->system
, project => $build->project->name
, jobset => $build->jobset->name
, job => $build->job->name
, 'me.id' => { '<' => $build->id }
}, {rows => 1, order_by => "id DESC"});
return $prevBuild;
}
sub getPreviousSuccessfulBuild {
my ($c, $build) = @_;
(my $prevBuild) = joinWithResultInfo($c, $c->model('DB::Builds'))->search(
{ finished => 1
, system => $build->system
, project => $build->project->name
, jobset => $build->jobset->name
, job => $build->job->name
, buildstatus => 0
, 'me.id' => { '<' => $build->id }
}, {rows => 1, order_by => "id DESC"});
return $prevBuild;
}
sub getBuildStats {
my ($c, $builds) = @_;