From 593af41808b67cfb44a1f1b27755d6afeac29fd9 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Thu, 12 Aug 2021 10:42:56 -0400 Subject: [PATCH] Declarative jobsets: move event handling to a plugin Declarative jobsets were sort of tucked in to the event hanlder itself. It turned out that it could have been implemented as a plugin without much trouble. --- src/lib/Hydra/Plugin/DeclarativeJobsets.pm | 17 +++++++++++++++++ src/script/hydra-notify | 6 ------ 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 src/lib/Hydra/Plugin/DeclarativeJobsets.pm diff --git a/src/lib/Hydra/Plugin/DeclarativeJobsets.pm b/src/lib/Hydra/Plugin/DeclarativeJobsets.pm new file mode 100644 index 00000000..2b6771b5 --- /dev/null +++ b/src/lib/Hydra/Plugin/DeclarativeJobsets.pm @@ -0,0 +1,17 @@ +package Hydra::Plugin::DeclarativeJobsets; + +use strict; +use parent 'Hydra::Plugin'; +use Hydra::Helper::AddBuilds; + +sub buildFinished { + my ($self, $build, $dependents) = @_; + + my $project = $build->project; + my $jobsetName = $build->get_column('jobset'); + if (length($project->declfile) && $jobsetName eq ".jobsets" && $build->iscurrent) { + handleDeclarativeJobsetBuild($self->{"db"}, $project, $build); + } +} + +1; diff --git a/src/script/hydra-notify b/src/script/hydra-notify index 037bf409..084cd88c 100755 --- a/src/script/hydra-notify +++ b/src/script/hydra-notify @@ -49,12 +49,6 @@ sub buildStarted { sub buildFinished { my ($build, @deps) = @_; - my $project = $build->project; - my $jobsetName = $build->get_column('jobset'); - if (length($project->declfile) && $jobsetName eq ".jobsets" && $build->iscurrent) { - handleDeclarativeJobsetBuild($db, $project, $build); - } - my @dependents; foreach my $id (@deps) { my $dep = $db->resultset('Builds')->find($id)