[Toaster] [PATCH 0/2] Show custom build dashboard for builds which fail early

Elliot Smith elliot.smith at intel.com
Thu Mar 17 04:40:24 PDT 2016


Builds which fail early at the "build request stage" (i.e. before the BuildStarted
event happens) need a custom build dashboard, as they don't have any buildstats
data, images, recipes etc., so the links in the left-hand menu are irrelevant.

Hide the build dashboard's left-hand menu if a build failed early (before
BuildStarted). Also remove the build time links for the failed builds, as
time data is not available.

The state of the build as "started" or not is determined by looking for
build variables associated with a build. As these variables are only added
at the point when BuildStarted occurs, any Build object without these
variables hasn't triggered a BuildStarted event.

(This is something of a work-around; in future we may have more fine-grained
states on a build so that we can properly tell its state. When this happens, the
Build.started() method could be modified to properly reflect this.)

To test:

1. Start a build with a bad target, e.g. "zzz".
2. When the build fails, go to the dashboard for the build. The left-hand menu
should not be visible.
3. Go to the all builds page. The build time for the failed build should
not have a hyperlink on it.
4. Start a build with a bad MACHINE variable setting (either modify in project
configuration or in conf/toaster.conf).
5. Repeat steps 2 and 3 for the failed build.
6. Start a build with a bad DISTRO variable setting (either modify in project
configuration or in conf/toaster.conf).
7. Repeat steps 2 and 3 for the failed build.
8. Start a good build, e.g. "mpfr-native".
9. When the build completes (successfully), go to the dashboard. The left-hand
menu should be visible and functioning.
10. Go to the all builds page. Links on the build time should be present and
should point at the time page for the build.

Note that I have some Selenium tests for testing these changes, but they
depend on a previous patchset which is not yet in toaster-next; see
https://lists.yoctoproject.org/pipermail/toaster/2016-March/004164.html.

Changes since 358ba11b15f5182c4d667cf35565afc0c6ad4126 (toaster-next) are in
git://git.yoctoproject.org/poky-contrib, elliot/toaster/failed_builds_display-8443
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=elliot/toaster/failed_builds_display-8443

Related bug: https://bugzilla.yoctoproject.org/show_bug.cgi?id=8443

Elliot Smith (2):
  toaster: adjust build dashboard for failed builds
  toaster: remove links from time field on failed builds

 bitbake/lib/toaster/orm/models.py                  |  15 ++
 bitbake/lib/toaster/toastergui/tables.py           |   8 +-
 .../toastergui/templates/basebuildpage.html        | 148 ++++++++--------
 .../toastergui/templates/builddashboard.html       | 186 +++++++++++----------
 .../toaster/toastergui/templates/mrb_section.html  |   7 +-
 bitbake/lib/toaster/toastergui/views.py            |   1 +
 6 files changed, 199 insertions(+), 166 deletions(-)

--
Elliot Smith
Software Engineer
Intel OTC

---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.



More information about the toaster mailing list