Merge branch 'custom-channels' of https://github.com/aszlig/hydra
This commit is contained in:
@ -453,6 +453,7 @@ sub checkBuild {
|
||||
, busy => 0
|
||||
, locker => ""
|
||||
, iscurrent => 1
|
||||
, ischannel => $buildInfo->{isChannel}
|
||||
});
|
||||
|
||||
$build->buildoutputs->create({ name => $_, path => $buildInfo->{outputs}->{$_} })
|
||||
|
@ -10,6 +10,7 @@ use Hydra::Helper::Nix;
|
||||
our @ISA = qw(Exporter);
|
||||
our @EXPORT = qw(
|
||||
getBuild getPreviousBuild getNextBuild getPreviousSuccessfulBuild
|
||||
searchBuildsAndEvalsForJobset
|
||||
error notFound gone accessDenied
|
||||
forceLogin requireUser requireProjectOwner requireAdmin requirePost isAdmin isProjectOwner
|
||||
trim
|
||||
@ -85,6 +86,44 @@ sub getPreviousSuccessfulBuild {
|
||||
}
|
||||
|
||||
|
||||
sub searchBuildsAndEvalsForJobset {
|
||||
my ($jobset, $condition, $maxBuilds) = @_;
|
||||
|
||||
my @evals = $jobset->jobsetevals->search(
|
||||
{ hasnewbuilds => 1},
|
||||
{ order_by => "id desc",
|
||||
rows => 20
|
||||
});
|
||||
|
||||
my $evals = {};
|
||||
my %builds;
|
||||
my $nrBuilds = 0;
|
||||
|
||||
foreach my $eval (@evals) {
|
||||
my @allBuilds = $eval->builds->search(
|
||||
$condition,
|
||||
{ columns => ['id', 'job', 'finished', 'buildstatus'] }
|
||||
);
|
||||
|
||||
foreach my $b (@allBuilds) {
|
||||
my $jobName = $b->get_column('job');
|
||||
|
||||
$evals->{$eval->id}->{timestamp} = $eval->timestamp;
|
||||
$evals->{$eval->id}->{builds}->{$jobName} = {
|
||||
id => $b->id,
|
||||
finished => $b->finished,
|
||||
buildstatus => $b->buildstatus
|
||||
};
|
||||
$builds{$jobName} = 1;
|
||||
$nrBuilds++;
|
||||
}
|
||||
last if $maxBuilds && $nrBuilds >= $maxBuilds;
|
||||
}
|
||||
|
||||
return ($evals, \%builds);
|
||||
}
|
||||
|
||||
|
||||
sub error {
|
||||
my ($c, $msg, $status) = @_;
|
||||
$c->response->status($status) if defined $status;
|
||||
|
Reference in New Issue
Block a user