summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster
Commit message (Collapse)AuthorAgeFilesLines
* bitbake: toaster: layer details Layout fixesBelen Barros Pena2016-09-082-2/+8
| | | | | | | | | | | The layout of the layer details page was looking a bit awkward. This commit tidies things up. (Bitbake rev: ce9a5f885f43bebf39d191309f48da83b31e60e0) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: configuration Provide machine help textBelen Barros Pena2016-09-081-4/+1
| | | | | | | | | | | | | | | | | | | | | When you change the machine from the project configuration page, you get some useful suggestions as you start typing a machine name. However, the suggestions only include machines provided by the layers added to your project. This is not necessarily clear from the design (yes, it should be improved), which means you might be looking for a machine, not see it in the suggestions, and assume the machine is not supported by OpenEmbedded. Since we are in no position to change the design of this page right now, add some explanatory help text to address the situation. [YOCTO #8034] (Bitbake rev: 829c9bcb58f961c644e24b24265e0ef45f0fec57) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tasks Remove recipe version from defaultsBelen Barros Pena2016-09-081-1/+2
| | | | | | | | | | | | | | | The 'Recipe version' column should not be part of the set of columns shown by default in the tasks table. Set the hidden property for that column to 'True' so that it doesn't show when you load that table for the first time. [YOCTO #10179] (Bitbake rev: 249dd31fcaabbec32fdee30b0c84be90d4f92430) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: localhostbecontroller Remove git assumptionMichael Wood2016-09-021-4/+10
| | | | | | | | | | | | We don't need to force everyone to use git for the method in which openembedded-core is downloaded. For instance it could have been downloaded and extracted as a tarball. (Bitbake rev: 8b7180332691a41a013e07a52b26018402141b6a) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Allow git information to be null for BRLayerMichael Wood2016-09-021-5/+6
| | | | | | | | | | | | We no longer only deal with layers that have their source in a gir repository, we also allow for local directories too so update the BRLayer model to reflect this. (Bitbake rev: a15f61f3ef5a87b87121457f76592c87f0ea5d7f) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tests Add selenium test layer source switching layer ↵Michael Wood2016-09-021-4/+28
| | | | | | | | | | | | | | details page Add selenium tests for the new layer source switching functionality on the layer details page. Edits the values for git repository and saves and then edits the details for directory information and saves. (Bitbake rev: acdfafdd753abe38a313c42e3a9d6211338b4e73) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Move Custom image recipe rest api to api fileMichael Wood2016-09-023-452/+482
| | | | | | | | | | | | | | | | We now have a dedicated file for the rest API so move and rework for class based views. Also clean up all flake8 identified warnings. Remove unused imports from toastergui views. The original work for this API was done by Elliot Smith, Ed Bartosh, Michael Wood and Dave Lerner (Bitbake rev: 37c2b4f105d7334cdd83d9675af787f4327e7fe7) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Fix oe-core fixtureMichael Wood2016-09-025-25/+34
| | | | | | | | | | | | | | | | Due to a copy paste error we managed to get some of the wrong information in the oe fixture that provides a suggested default settings for Toaster. This meant it tested correctly when it shouldn't have. Fix: - The use of local bitbake - An incorrect call to realpath which didn't include its parent module. - The field used for the local_dir of an existing openembedded-core (Bitbake rev: d57a9124650e5367919668dfccf6aad4962a77f1) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: layerdetails clean ups after integrating local layer changesMichael Wood2016-09-024-81/+72
| | | | | | | | | | | A few clean ups for the work done to integrate editing imported local layers into the layer detail page. (Bitbake rev: 092ef32e695b43c3337b7116722c4c6eba981396) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update api to include local_source_dirSujith H2016-09-021-1/+3
| | | | | | | | | | | | | | Add an additional argument to the api to handle local_source_dir which is the value user passes to import non-git layers. [YOCTO #9913] (Bitbake rev: 2b5728fc5c0e578560506697f271605e80b5918f) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: layerdetails js changes for switching layersSujith H2016-09-021-0/+98
| | | | | | | | | | | | | | | This patch helps to implement the switching of layers between directories and git repositories. Specifically selection of git and local directory. Also enabling form to view the selection. [YOCTO #9913] (Bitbake rev: 5c20834691f1b65cfc4a0c4ec12958f86b34bbeb) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add switch of git and not-git layers importedSujith H2016-09-021-24/+101
| | | | | | | | | | | | | | This patch updates the layerdetails html file to add the feature of switching imported layers between directories and git repositories. [YOCTO #9913] (Bitbake rev: 70319eb690a056b41b7e91d79560067edd623ee1) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update web urls for openembedded-core's special caseDavid Reyna2016-08-171-0/+6
| | | | | | | | | | | | | | The layer index update command has a special case for the updating 'openembedded-core' layer, and it was missing reading and updating the git web URL fields. [YOCTO #8037] (Bitbake rev: ce2f990a366d2d939e93e01f67688f12740c5fee) Signed-off-by: David Reyna <david.reyna@windriver.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: bldcontrol model BRLayer Add corresponding local_source_dirMichael Wood2016-08-113-1/+29
| | | | | | | | | | | | Sync the BRLayer object with the new field added to the Layer object. The BRLayer (BuildRequest Layers) are snapshots of the layers in the project at build time and therefore need to mirror the required fields of the layer object. (Bitbake rev: a3112c922f036425977abffa0137b9133f61fcd6) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: adapt xhr_import_layer test locally imported layerSujith H2016-08-111-0/+1
| | | | | | | | | | | | Update xhr_import_layer test to use locally imported layer in local_source_dir. [YOCO #9911] (Bitbake rev: f855490dd04281beb5ae65d82430203d9fd263fc) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update build configuration pageSujith H2016-08-111-0/+14
| | | | | | | | | | | | | | Update layer branch and layer commit section in the build configuration page for locally imported layers. For locally imported layers this secion goes as "Not applicable". [YOCO #9911] (Bitbake rev: 4ca3f602a955e01d445fb4789496e925f8d4234b) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update recipe details pageSujith H2016-08-111-2/+18
| | | | | | | | | | | | | | Update Layer branch and Layer commit in recipe details page. For local layer imported from toaster these fields are not applicable. [YOCO #9911] (Bitbake rev: 35f7faabff17ca577fdd2e84bb25125047f66345) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update package detail pageSujith H2016-08-111-2/+16
| | | | | | | | | | | | | | | Update package details pages layer branch and layer commit section for locally imported layers. We add Not applicable to them along with a helper text, which helps user understand why its not applicable to those layers. [YOCO #9911] (Bitbake rev: 6978f65af4eabe91f65a6766799578c84a0988aa) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: updte build tables for locally imported layersSujith H2016-08-111-0/+32
| | | | | | | | | | | | | | Update the build tables section for locally imported layers. Here we do not provide informations such as branch or commit. Because those are locally imported layer(s). [YOCO #9911] (Bitbake rev: 1b0934b45d3704de604405826de9fc1da51ceae1) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update the tables informationSujith H2016-08-111-3/+27
| | | | | | | | | | | | | | | Update table informations for pages: 1) Compatible layers 2) Compatible image recipes Added Not Applicable to the fields of locally imported layers because they are not git version. [YOCO #9911] (Bitbake rev: 7e73f8583a0f92d73b42410e1c960b6f2976a557) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: collect details for local dir imported from uiSujith H2016-08-111-1/+12
| | | | | | | | | | | | | | | Collect the dir path imported from UI and make sure that its getting added to bblayers.conf. This patch exactly does the same job. Any layer which is imported locally need not be cloned again to _toaster_clones dir. [YOCO #9911] (Bitbake rev: 5669157994fc220a018e37927600988f3fd43271) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add local_source_dir field to modelSujith H2016-08-112-0/+20
| | | | | | | | | | | | | | | Add a new field local_source_dir to model. This will clearly differentiate us from the vcs_url which is for git path. Adding migration file 0010_layer_local_source_dir_path.py along with this patch. [YOCO #9911] (Bitbake rev: 83763d89f9d0bc535e930a2094ba8201675d40be) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add local directory to the dbSujith H2016-08-111-3/+4
| | | | | | | | | | | | | Adding local directory to the database. The local directory is added to vcs_url, field of db. [YOCO #9911] (Bitbake rev: 2c3d48e7cd21a999ef145081352774f1759cd5e4) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: improve the display when local dir is addedSujith H2016-08-111-1/+6
| | | | | | | | | | | | | | The helper text gets displayed accordingly when mouse is hovered above the layers. If its a local directory then no more branch is mentioned. Only directory path is mentioned. [YOCTO #9911] (Bitbake rev: c1961c7844cab5b9c9144f3b4946197097f53e17) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: update css file for layer importBelen Barros Pena2016-08-111-1/+6
| | | | | | | | | | | | | Update the css file for the layer import. This changes will improve the UI for the task. [YOCO #9911] (Bitbake rev: a41d0400478186c983334d8f83780639e7361c91) Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add local_source_dir to the needed_fieldsSujith H2016-08-111-0/+1
| | | | | | | | | | | | | | This change will help us know if local_source_dir is null or if there is value associated with this field. This change will help us display the details for duplicate layers tryied to import locally. [YOCOT #9911] (Bitbake rev: 4350b01f776e6e35745c3eb9440587973de00eec) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: control the selection of git and local repoSujith H2016-08-111-11/+114
| | | | | | | | | | | | | | Changes made in this patch will help user to select either repo based on git and local. This patch also improves the help provided to user so that user can understand them and take necessary action to proceed. [YOCOT #9911] (Bitbake rev: 26bee4c2c05dc202857270cd5f56abff79674ca7) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add import of local directory to UISujith H2016-08-111-78/+106
| | | | | | | | | | | | | | | | This patch will help to add local directory to UI. The modification is made in importlayer.html file. The radio buttons are created to separate selection of git based repo and local directory. Co-Author: Belen Barros Pena <belen.barros.pena@linux.intel.com> [YOCOT #9911] (Bitbake rev: 78e5edb8ed4bf6c8b0fb87fcf17a82485c145920) Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fix unhandled exceptionEd Bartosh2016-08-111-2/+2
| | | | | | | | | | | | | | manage.py lsupdates throws DataError exception if the recipe can't be saved to the MySQL database: django.db.utils.DataError: (1406, "Data too long for column 'license' at row 1" Adding DataError exception to the list of exceptions should make lsupdates to print a warning message and skip the recipe. (Bitbake rev: 01891c13ae8dcba64e5cf79956f1b64c2afdaae3) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add test for showing self-dependent taskElliot Smith2016-08-111-0/+76
| | | | | | | | | | | | | | Toaster occasionally records a task which depends on itself. Add a test which checks that a task which depends on itself can be displayed in the task page. [YOCTO #9952] (Bitbake rev: b7a699e701785b5bd8da97b6e1b760a1c6dd05f5) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: prevent infinite loop when finding task dependenciesElliot Smith2016-08-111-0/+10
| | | | | | | | | | | | | | | | | | | Toaster occasionally records a task which depends on itself. This causes a problem when trying to display that task if it is "covered" by itself, as the code does the following: for task A, find a task B which covers A; then, recursively find the task which covers B etc. If B == A, this loop becomes infinite and never terminates. To prevent this, add the condition that, when finding a task B which covers A, don't allow B == A. [YOCTO #9952] (Bitbake rev: 88c471c7e5995abb5bca62990b91650277b6c926) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add tests for reverting to default sortElliot Smith2016-08-111-0/+160
| | | | | | | | | | | | | | | Add tests for ToasterTable UI table sort reverting, which can only be exercised via the browser. Check that if a table is sorted by a column, and that column is hidden, then the sort reverts to the default for the table. [YOCTO #9836] (Bitbake rev: 5b016338478d784fd048ba2baae121c3e558090c) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: reset table to default orderby when orderby column is hiddenElliot Smith2016-08-111-18/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | When a ToasterTable is sorted by a column, and that column is hidden from view, the sort doesn't revert to the default for the table. Modify the JS responsible for reloading the table data so that it doesn't rely on clicking a table column heading (as this is inflexible and error-prone). Instead, use a function to apply the sort to the table; and call that function when column headings are clicked. This means that the ordering can be changed programmatically to a specified default ordering when a column is hidden, without having to click on a column heading. Use this function when the current sort column is hidden, to apply the default sort for the table. [YOCTO #9836] (Bitbake rev: a28377067b6f381bbc98db82f5c45fca6620f7ad) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: show loading spinner after creating custom imageElliot Smith2016-08-114-6/+66
| | | | | | | | | | | | | | | | | | | | Creating a custom image through the "New custom image" dialog can sometimes result in a long pause between pressing the button to create the image, and being transferred to the page showing details of its content. This can make it appear as though pressing the button had no effect. To prevent this from happening, disable the button and text box in the new custom image dialog after the "Create image" button is pressed. Also show a loading spinner and "loading..." text on the button to make it clear that the application is still responding. [YOCTO #9475] (Bitbake rev: dd8bede91e08c0b64b949ca98c74e6144da88fd1) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: fix erroneous message when test failsElliot Smith2016-08-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | When one of the layer details tests fails (as it occasionally does, if running on a machine under heavy load, due to sync issues), the error message shown is misleading, as it is something like: "Expected 'This was imported' in ['This was imported', ...]" The string 'This was imported' is in the list shown in the message, but the message suggests it isn't. This is because the test compares the string with one list, but then uses a different list in the fail message if the comparison fails. Fix the list shown in the message about the test failing. (Bitbake rev: 34943b2278efe99c6744399e04a47cdda630468e) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add tests for most recent builds state changesElliot Smith2016-08-111-0/+211
| | | | | | | | | | | | Add tests for the state transitions in the "most recent builds" area of the all builds page. [YOCTO #9631] (Bitbake rev: b95681cf38475903ad4f73059313dda8c0dccef6) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add tests for build dashboard menu and summary ↵Elliot Smith2016-08-112-26/+108
| | | | | | | | | | | | | | | visibility Test that the build dashboard only shows a menu and a build summary area if a build has properly "started" (i.e. has at least one Variable object associated with it). [YOCTO #8443] (Bitbake rev: 9e16f76fb254ae967ded6c21251243b2af9b16b6) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster-tests: add tests for build time links in the all builds pageElliot Smith2016-08-111-0/+89
| | | | | | | | | | | | When a build fails, it shouldn't have links on its build time in the recent builds area or in the all builds table. [YOCTO #8443] (Bitbake rev: 3d7b247512eb01607741f5f6ce7cb01d241e49e7) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: adjust build dashboard for failed buildsElliot Smith2016-08-112-159/+164
| | | | | | | | | | | Remove the side bar and build details modules for failed builds. [YOCTO #8443] (Bitbake rev: 9d68a5bfdccd399791e1af048fefa73b5df90bcb) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: add started property to BuildElliot Smith2016-08-111-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* bitbake: toaster: remove links from time field on failed buildsElliot Smith2016-08-113-5/+24
| | | | | | | | | | | | | | Failed builds don't have any time data recorded for them, so the time field in the builds table, the time shown in the recent builds area, and the build time shown in the build dashboard should not be links for failed builds. [YOCTO #8443] (Bitbake rev: 6f9c472d95ee800da079f6b828b956d9f8c67ce6) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: tweak styling and typos in recent builds areaElliot Smith2016-08-112-23/+32
| | | | | | | | | | | | | | | | | | | | Help icons need to have the Bootstrap tooltip() method called on them so that the popups are correctly styled. Ensure that the colour of the help/error/warning icons is correct, depending on the build state. Fix pluralisation of errors and warnings shown. Add a div around the build state area so it's easy to pick up where the state is going to display (e.g. in tests). [YOCTO #9631] (Bitbake rev: 98a923ff14188832ac44e0dbafc73bcba10e25da) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: show "Tasks starting..." until the first task completesElliot Smith2016-08-112-4/+37
| | | | | | | | | | | | | | | To prevent showing a "0% of tasks complete" message for a long time, don't show the progress bar until the first task has finished. While waiting for that first task, show a message about tasks starting instead. [YOCTO #9631] (Bitbake rev: 5529bcd860d2932b967a064ae28690ac5a725342) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: show progress of recipe parsing in recent builds areaElliot Smith2016-08-116-69/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | Modify buildinfohelper and toasterui so that they record the recipe parse progress (from ParseProgress events in bitbake) on the Build object. Note that because the Build object is now created at the point when ParseStarted occurs, it is necessary to set the build name to the empty string initially (hence the migration). The build name can be set when the build properly starts, i.e. at the BuildStarted event. Then use this additional data to determine whether a Build is in a "Parsing" state, and report this in the JSON API. This enables the most recent builds area to show the recipe parse progress. Add additional logic to update the progress bar if the progress for a build object changes. [YOCTO #9631] (Bitbake rev: f33d51d46d70e73e04e325807c1bc4eb68462f7b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: move most recent builds templating to clientElliot Smith2016-08-1115-303/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The most recent builds area of the all builds and project builds table needs to update as a build progresses. It also needs additional functionality to show other states (e.g. recipe parsing, queued) which again needs to update on the client side. Rather than add to the existing mix of server-side templating with client-side DOM updating, translate all of the server-side templates to client-side ones (jsrender), and add logic which updates the most recent builds area as the state of a build changes. Add a JSON API for mostrecentbuilds, which returns the state of all "recent" builds. Fetch this via Ajax from the build dashboard (rather than fetching the ad hoc API as in the previous version). Then, as new states for builds are fetched via Ajax, determine whether the build state has changed completely, or whether the progress has just updated. If the state completely changed, re-render the template on the client side for that build. If only the progress changed, just update the progress bar. (NB this fixes the task progress bar so it works for the project builds and all builds pages.) In cases where the builds table needs to update as the result of a build finishing, reload the whole page. This work highlighted a variety of other issues, such as build requests not being able to change state as necessary. This was one part of the cause of the "cancelling build..." state being fragile and disappearing entirely when the page refreshed. The cancelling state now persists between page reloads, as the logic for determining whether a build is cancelling is now on the Build object itself. Note that jsrender is redistributed as part of Toaster, so a note was added to LICENSE to that effect. [YOCTO #9631] (Bitbake rev: c868ea036aa34b387a72ec5116a66b2cd863995b) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: fixtures Add READMEMichael Wood2016-08-111-0/+30
| | | | | | | | | Add README to explain fixtures directory (Bitbake rev: 4060776e408ec6baec3bafba79ac5db1bc380f01) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Remove old toaster config loading mechanismMichael Wood2016-08-112-212/+0
| | | | | | | | | | | This has been replaced using django's inbuilt loaddata. Django command documented at: https://docs.djangoproject.com/en/1.8/ref/django-admin/#django-admin-loaddata (Bitbake rev: 3edd33aff2b9eef82090dc4f9b5461f901aec8be) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: lsupdates Add spinner for parsing/http fetchMichael Wood2016-08-111-2/+33
| | | | | | | | | | Adds a spinner so that you know that the parse and http fetch from the layerindex is in progress. (Bitbake rev: e1c1c8827f3892551084bf1c0909c1b33f0dca83) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: checksettings call django's loaddata instead of custom commandMichael Wood2016-08-111-11/+44
| | | | | | | | | | | | | | | | Call django's inbuilt loaddata command to load the appropriate fixtures. We also attempt to load a fixture called "custom" and fail silently if we don't have one. This is where initial customisations can be done to load particular settings or data into Toaster (for example layers or default values for variables) Make sure the value for TEMPLATECONF is available to checksettings so that we can have a go a working out which default data to load. (Bitbake rev: 7d14ca8cbabbb893e507a66e4cc6e3e77c1e8c84) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* bitbake: toaster: Add poky and openembedded configuration fixturesMichael Wood2016-08-113-0/+198
| | | | | | | | | | | These fixtures provide a recommended default configuration of toaster for either using bitbake and oe-core or as part of poky. They can be used as the sample configuration for writing custom configurations. (Bitbake rev: d2f4ffbf061e874a7731441f8346fdc568e9f07f) Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>