From 508d99d6113bc0071d0f4fa100fea357beb6c832 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 1 Jun 2021 11:16:47 -0400 Subject: [PATCH] Join to builds via jobset_id when easy --- src/lib/Hydra/Controller/Build.pm | 3 +-- src/lib/Hydra/Controller/Channel.pm | 3 +-- src/lib/Hydra/Helper/CatalystUtils.pm | 6 ++---- src/script/hydra-eval-jobset | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/lib/Hydra/Controller/Build.pm b/src/lib/Hydra/Controller/Build.pm index 79cc4c80..80ca15d2 100644 --- a/src/lib/Hydra/Controller/Build.pm +++ b/src/lib/Hydra/Controller/Build.pm @@ -83,8 +83,7 @@ sub build_GET { if ($build->finished) { $c->stash->{prevBuilds} = [$c->model('DB::Builds')->search( - { project => $c->stash->{project}->name - , jobset => $c->stash->{jobset}->name + { jobset_id => $c->stash->{jobset}->id , job => $c->stash->{job} , 'me.system' => $build->system , finished => 1 diff --git a/src/lib/Hydra/Controller/Channel.pm b/src/lib/Hydra/Controller/Channel.pm index 902d6019..67de61ae 100644 --- a/src/lib/Hydra/Controller/Channel.pm +++ b/src/lib/Hydra/Controller/Channel.pm @@ -22,8 +22,7 @@ sub channel : Chained('/') PathPart('channel/custom') CaptureArgs(3) { my $lastSuccessful = $c->model('DB::Builds')->find( { 'eval.hasnewbuilds' => 1 - , project => $projectName - , jobset => $jobsetName + , jobset_id => $c->stash->{jobset}->id, , job => $channelName , buildstatus => 0 }, diff --git a/src/lib/Hydra/Helper/CatalystUtils.pm b/src/lib/Hydra/Helper/CatalystUtils.pm index ec19b61d..53ce53c4 100644 --- a/src/lib/Hydra/Helper/CatalystUtils.pm +++ b/src/lib/Hydra/Helper/CatalystUtils.pm @@ -64,8 +64,7 @@ sub getNextBuild { (my $nextBuild) = $c->model('DB::Builds')->search( { finished => 1 , system => $build->system - , project => $build->get_column('project') - , jobset => $build->get_column('jobset') + , jobset_id => $build->get_column('jobset_id') , job => $build->get_column('job') , 'me.id' => { '>' => $build->id } }, {rows => 1, order_by => "me.id ASC"}); @@ -81,8 +80,7 @@ sub getPreviousSuccessfulBuild { (my $prevBuild) = $c->model('DB::Builds')->search( { finished => 1 , system => $build->system - , project => $build->get_column('project') - , jobset => $build->get_column('jobset') + , jobset_id => $build->get_column('jobset_id') , job => $build->get_column('job') , buildstatus => 0 , 'me.id' => { '<' => $build->id } diff --git a/src/script/hydra-eval-jobset b/src/script/hydra-eval-jobset index e6189b3b..77938c85 100755 --- a/src/script/hydra-eval-jobset +++ b/src/script/hydra-eval-jobset @@ -426,7 +426,7 @@ sub checkBuild { # semantically unnecessary (because they're implied by # the eval), but they give a factor 1000 speedup on # the Nixpkgs jobset with PostgreSQL. - { project => $jobset->get_column('project'), jobset => $jobset->name, job => $jobName, + { jobset_id => $jobset->get_column('id'), job => $jobName, name => $firstOutputName, path => $firstOutputPath }, { rows => 1, columns => ['id'], join => ['buildoutputs'] }); if (defined $prevBuild) {