From e9a12e5d37390632ac6f265f9513106f00ccdbb9 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Fri, 16 Sep 2016 17:22:30 +0100 Subject: [PATCH] bitbake: 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] (Bitbake rev: fe08f0fa4b328908e73695ebbceca87bc86a49f9) Signed-off-by: Ed Bartosh Signed-off-by: Michael Wood Signed-off-by: Richard Purdie --- bitbake/lib/bb/ui/buildinfohelper.py | 4 ++++ bitbake/lib/toaster/orm/models.py | 2 ++ 2 files changed, 6 insertions(+) diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 96166dc515..c93ee94d2c 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/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/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index 38d014a7f8..a7de57c256 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/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()