diff options
author | Elliot Smith <elliot.smith@intel.com> | 2016-07-13 14:39:47 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-08-11 00:09:26 +0100 |
commit | e387a7ab9d46535a495bc7052915021dc914205d (patch) | |
tree | 44d70acb71719ba2e41b6bb071ea0ec452a59533 | |
parent | dce503764653051ddb1b3d67eb7d6059b8d31f92 (diff) | |
download | poky-e387a7ab9d46535a495bc7052915021dc914205d.tar.gz |
bitbake: toaster: add started property to Build
Add a property to the Build model which records whether
the BuildStarted event has occurred for the build.
The proxy for this event is the presence of variables recorded
against the Build: as the buildinfohelper only saves variables
when the BuildStarted event occurs (as the variables aren't
available on the bitbake server before that point), we can
tell whether BuildStarted has happened by counting Variable
objects on the Build.
This can then be used to determine whether a Build "properly"
started, enabling a different dashboard display (left-hand menu
hidden) if the build didn't record any useful information (e.g.
if it had a bad target).
[YOCTO #8443]
(Bitbake rev: aa151a4d2de4a54fe3075a8c56a4935158398a18)
Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/toaster/orm/models.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py index cfa243c595..3da9a66d0c 100644 --- a/bitbake/lib/toaster/orm/models.py +++ b/bitbake/lib/toaster/orm/models.py | |||
@@ -436,6 +436,21 @@ class Build(models.Model): | |||
436 | 436 | ||
437 | return recent_builds | 437 | return recent_builds |
438 | 438 | ||
439 | def started(self): | ||
440 | """ | ||
441 | As build variables are only added for a build when its BuildStarted event | ||
442 | is received, a build with no build variables is counted as | ||
443 | "in preparation" and not properly started yet. This method | ||
444 | will return False if a build has no build variables (it never properly | ||
445 | started), or True otherwise. | ||
446 | |||
447 | Note that this is a temporary workaround for the fact that we don't | ||
448 | have a fine-grained state variable on a build which would allow us | ||
449 | to record "in progress" (BuildStarted received) vs. "in preparation". | ||
450 | """ | ||
451 | variables = Variable.objects.filter(build=self) | ||
452 | return len(variables) > 0 | ||
453 | |||
439 | def completeper(self): | 454 | def completeper(self): |
440 | tf = Task.objects.filter(build = self) | 455 | tf = Task.objects.filter(build = self) |
441 | tfc = tf.count() | 456 | tfc = tf.count() |