{% extends "basebuildpage.html" %} {% load humanize %} {% load projecttags %} {% block title %} {{build.target_set.all|dictsort:"target"|join:", "}} {{build.machine}} - {{build.project.name}} - Toaster {% endblock %} {% block parentbreadcrumb %} {% if build.get_sorted_target_list.count > 0 %} {{build.get_sorted_target_list.0.target}}   {% endif %} {%if build.target_set.all.count > 1%}(+ {{build.target_set.all.count|add:"-1"}}){%endif%} {{build.machine}} ({{build.completed_on|date:"d/m/y H:i"}}) {% endblock %} {% block buildinfomain %}
{%if build.outcome == build.SUCCEEDED%}Completed{%elif build.outcome == build.FAILED%}Failed{%else%}{%endif%} on {{build.completed_on|date:"d/m/y H:i"}} {% if build.warnings.count or build.errors.count %}  with {% endif %} {%if build.outcome == build.SUCCEEDED or build.outcome == build.FAILED %} {% if build.errors.count %} {{build.errors.count}} error{{build.errors.count|pluralize}} {% endif %} {% if build.warnings.count %} {% if build.errors.count %} and {% endif %} {{build.warnings.count}} warning{{build.warnings.count|pluralize}} {% endif %} Build time: {{ build.timespent_seconds|sectohms }} {% if build.cooker_log_path %} Download build log {% endif %} {%endif%}
{% if build.errors.count %}
{% for error in build.errors %}
{{error.message}}
{% endfor %}
{% endif %} {%if build.outcome == build.SUCCEEDED%} {% if hasImages %}

Images

{% for target in targets %} {% if target.target.is_image %}

{{target.target}}

Packages included
{{target.npkg}}
Total package size
{{target.pkgsz|filtered_filesizeformat}}
{% if target.targetHasNoImages %}

This build did not create any image files

This is probably because valid image and license manifest files from a previous build already exist in your .../poky/build/tmp/deploy directory. You can also view the license manifest information in Toaster.

{% else %}
License manifest
View in Toaster | Download
Image files
    {% for i in target.imageFiles %} {% if build.project %}
  • {{i.path}} {% else %}
  • {{i.path}} {% endif %} ({{i.size|filtered_filesizeformat}})
  • {% endfor %}
{% endif %}
{% endif %} {% endfor %}
{% endif %} {%else%} {%endif%} {% if build.buildartifact_set.all.count > 0 %}

Other artifacts

Other artifacts
{% for ba in build.buildartifact_set.all|dictsort:"file_name" %} {{ba.get_local_file_name}} ({{ba.file_size|filtered_filesizeformat}})
{% endfor %}
{% endif %}

Build summary

Configuration

Machine
{{build.machine}}
Distro
{{build.distro}}
Layers
{% for i in build.layer_version_build.all|dictsort:"layer.name" %}
{{i.layer.name}}
{%endfor%}

Tasks

{% query build.task_build outcome=4 order__gt=0 as exectask%} {% if exectask.count > 0 %}
Failed tasks
{% if exectask.count == 1 %} {{exectask.0.recipe.name}} {{exectask.0.task_name}} {% elif exectask.count > 1%} {{exectask.count}} {% endif %}
{% endif %}
Total number of tasks
{% query build.task_build order__gt=0 as alltasks %}{{alltasks.count}}
Tasks executed
{% query build.task_build task_executed=1 order__gt=0 as exectask%}{{exectask.count}}
Tasks not executed
{% query build.task_build task_executed=0 order__gt=0 as noexectask%}{{noexectask.count}}
Reuse
{% query build.task_build order__gt=0 as texec %} {% if noexectask.count|multiply:100|divide:texec.count < 0 %} 0 {% else %} {{noexectask.count|multiply:100|divide:texec.count}} {% endif %} %

Recipes & Packages

Recipes built
{{recipecount}}
Packages built
{{packagecount}}
{% if build.warnings.count %}
{% for warning in logmessages %}{% if warning.level == 1 %}
{{warning.message}}
{% endif %}{% endfor %}
{% endif %} {% endblock %}