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. -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
