aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Reyna <David.Reyna@windriver.com>2017-09-07 21:50:47 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-11 11:00:11 +0100
commit2cd664097c29ad07b08c82d07a239ca199abbc9a (patch)
tree43bd6d1508c6b6e0d2cbf45f4a10388d094643aa
parent3f034d2172bf64ecc43577b43e0cf032a54b1358 (diff)
downloadbitbake-contrib-2cd664097c29ad07b08c82d07a239ca199abbc9a.tar.gz
toaster: handle early exceptions
Stop the pending build and report to the user if there is an internal exception due to a git error, a bitbake server error, or if the server-only mode halts due to for example a user syntax error in a layer or recipe. These exceptions were not caught because they occure before the normal toastergui processing was started. [YOCTO #12056] Signed-off-by: David Reyna <David.Reyna@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/toaster/bldcontrol/management/commands/runbuilds.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/toaster/bldcontrol/management/commands/runbuilds.py b/lib/toaster/bldcontrol/management/commands/runbuilds.py
index 8eacb5e89..791e53eab 100644
--- a/lib/toaster/bldcontrol/management/commands/runbuilds.py
+++ b/lib/toaster/bldcontrol/management/commands/runbuilds.py
@@ -79,6 +79,14 @@ class Command(BaseCommand):
br.save()
bec.be.lock = BuildEnvironment.LOCK_FREE
bec.be.save()
+ # Cancel the pending build and report the exception to the UI
+ log_object = LogMessage.objects.create(
+ build = br.build,
+ level = LogMessage.EXCEPTION,
+ message = errmsg)
+ log_object.save()
+ br.build.outcome = Build.FAILED
+ br.build.save()
def archive(self):
for br in BuildRequest.objects.filter(state=BuildRequest.REQ_ARCHIVE):