From: Ed Bartosh Date: Fri, 16 Sep 2016 16:22:30 +0000 (+0100) Subject: toaster: notify runbuilds when build status changes X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fe08f0fa4b328908e73695ebbceca87bc86a49f9;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git toaster: notify runbuilds when build status changes Called signal_runbuilds API when build is scheduled, cancelled or finished to notify runbuilds process about builds status change. [YOCTO #8918] Signed-off-by: Ed Bartosh Signed-off-by: Michael Wood Signed-off-by: Richard Purdie --- diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 96166dc515d..c93ee94d2c4 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -43,6 +43,7 @@ from orm.models import Package, Package_File, Target_Installed_Package, Target_F from orm.models import Task_Dependency, Package_Dependency from orm.models import Recipe_Dependency, Provides from orm.models import Project, CustomImagePackage, CustomImageRecipe +from orm.models import signal_runbuilds from bldcontrol.models import BuildEnvironment, BuildRequest @@ -234,6 +235,7 @@ class ORMWrapper(object): build.completed_on = timezone.now() build.outcome = outcome build.save() + signal_runbuilds() def update_target_set_license_manifest(self, target, license_manifest_path): target.license_manifest_path = license_manifest_path @@ -1354,6 +1356,7 @@ class BuildInfoHelper(object): self._ensure_build() self.internal_state['build'].outcome = Build.CANCELLED self.internal_state['build'].save() + signal_runbuilds() def store_dependency_information(self, event): assert '_depgraph' in vars(event) @@ -1540,6 +1543,7 @@ class BuildInfoHelper(object): else: br.state = BuildRequest.REQ_FAILED br.save() + signal_runbuilds() def store_log_error(self, text): mockevent = MockEvent() diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index 38d014a7f86..a7de57c2561 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -377,6 +377,8 @@ class Project(models.Model): except ProjectVariable.DoesNotExist: pass br.save() + signal_runbuilds() + except Exception: # revert the build request creation since we're not done cleanly br.delete()