blob: 98d9fac82204d4b9c3045829592cb19267a5fa02 [file] [log] [blame]
{% load static %}
{% load humanize %}
{% load project_url_tag %}
<script src="{% static 'js/mrbsection.js' %}"></script>
{% if mru %}
{% if mrb_type == 'project' %}
<h2>
Latest project builds
{% if project.is_default %}
<span class="glyphicon glyphicon-question-sign get-help heading-help" data-original-title="Builds in this project cannot be started from Toaster: they are started from the command line"></span>
{% endif %}
</h2>
{% else %}
<div class="page-header">
<h1>Latest builds</h1>
</div>
{% endif %}
<div id="latest-builds">
{% for build in mru %}
<div data-latest-build-result="{{build.id}}" class="alert build-result {% if build.outcome == build.SUCCEEDED %}alert-success{% elif build.outcome == build.FAILED %}alert-danger{% else %}alert-info{% endif %}">
<!-- project title -->
{% if mrb_type != 'project' %}
<div class="row project-name">
<div class="col-md-12">
<small>
<a class="alert-link text-uppercase" href="{% project_url build.project %}">
{{build.project.name}}
</a>
</small>
</div>
</div>
{% endif %}
<div class="row" data-role="build-status-container">
<div class="col-md-12">
Loading...
</div>
</div>
</div>
{% endfor %}
</div>
{% endif %}
<!-- build main template -->
<script id="build-template" type="text/x-jsrender">
<div class="col-md-3">
<!-- only show link for completed builds -->
<%if state == 'Succeeded' || state == 'Failed'%>
<a class="alert-link" href="<%:dashboard_url%>">
<span data-toggle="tooltip" data-role="targets-text" title="Recipes: <%:targets%>">
<%:targets_abbreviated%>
</span>
</a>
<%else targets_abbreviated !== ''%>
<span data-toggle="tooltip" data-role="targets-text" title="Recipes: <%:targets%>">
<%:targets_abbreviated%>
</span>
<%else%>
Fetching recipe names...
<%/if%>
</div>
<div data-build-state="<%:state%>">
<%if state == 'Cloning'%>
<%include tmpl='#cloning-repos-build-template'/%>
<%else state == 'Parsing'%>
<%include tmpl='#parsing-recipes-build-template'/%>
<%else state == 'Queued'%>
<%include tmpl='#queued-build-template'/%>
<%else state == 'Succeeded' || state == 'Failed'%>
<%include tmpl='#succeeded-or-failed-build-template'/%>
<%else state == 'Cancelling'%>
<%include tmpl='#cancelling-build-template'/%>
<%else state == 'Starting'%>
<%include tmpl='#starting-template'/%>
<%else state == 'In Progress'%>
<%include tmpl='#in-progress-build-template'/%>
<%else state == 'Cancelled'%>
<%include tmpl='#cancelled-build-template'/%>
<%/if%>
</div>
</script>
<!-- queued build -->
<script id="queued-build-template" type="text/x-jsrender">
<div class="col-md-5">
<span class="glyphicon glyphicon-question-sign get-help get-help-blue"
title="This build is waiting for the build directory to become available">
</span>
Build queued
</div>
<div class="col-md-4">
<!-- cancel button -->
<%include tmpl='#cancel-template'/%>
</div>
</script>
<!-- cloning repos build -->
<script id="cloning-repos-build-template" type="text/x-jsrender">
<!-- progress bar and parse completion percentage -->
<div data-role="build-status" class="col-md-4 col-md-offset-1 progress-info">
<!-- progress bar -->
<div class="progress">
<div id="repos-cloned-percentage-bar-<%:id%>"
style="width: <%:repos_cloned_percentage%>%;"
class="progress-bar">
</div>
</div>
</div>
<div class="col-md-4 progress-info">
<!-- parse completion percentage -->
<span class="glyphicon glyphicon-question-sign get-help get-help-blue"
title="Toaster is cloning the repos required for your build">
</span>
Cloning <span id="repos-cloned-percentage-<%:id%>"><%:repos_cloned_percentage%></span>% complete <span id="repos-cloned-progressitem-<%:id%>">(<%:progress_item%>)</span>
<%include tmpl='#cancel-template'/%>
</div>
</script>
<!-- parsing recipes build -->
<script id="parsing-recipes-build-template" type="text/x-jsrender">
<!-- progress bar and parse completion percentage -->
<div data-role="build-status" class="col-md-4 col-md-offset-1 progress-info">
<!-- progress bar -->
<div class="progress">
<div id="recipes-parsed-percentage-bar-<%:id%>"
style="width: <%:recipes_parsed_percentage%>%;"
class="progress-bar">
</div>
</div>
</div>
<div class="col-md-4 progress-info">
<!-- parse completion percentage -->
<span class="glyphicon glyphicon-question-sign get-help get-help-blue"
title="BitBake is parsing the layers required for your build">
</span>
Parsing <span id="recipes-parsed-percentage-<%:id%>"><%:recipes_parsed_percentage%></span>% complete
<%include tmpl='#cancel-template'/%>
</div>
</script>
<!-- in progress build; tasks still starting -->
<script id="starting-template" type="text/x-jsrender">
<div class="col-md-5">
<span class="glyphicon glyphicon-question-sign get-help get-help-blue"
title="This build is waiting for tasks to start">
</span>
Tasks starting...
</div>
<div class="col-md-4">
<!-- cancel button -->
<%include tmpl='#cancel-template'/%>
</div>
</script>
<!-- in progress build; at least one task finished -->
<script id="in-progress-build-template" type="text/x-jsrender">
<!-- progress bar and task completion percentage -->
<div data-role="build-status" class="col-md-4 col-md-offset-1 progress-info">
<!-- progress bar -->
<div class="progress" id="build-pc-done-title-<%:id%>">
<div id="build-pc-done-bar-<%:id%>"
style="width: <%:tasks_complete_percentage%>%;"
class="progress-bar">
</div>
</div>
</div>
<div class="col-md-4 progress-info">
<!-- task completion percentage -->
<span id="build-pc-done-<%:id%>"><%:tasks_complete_percentage%></span>% of
tasks complete
<!-- cancel button -->
<%include tmpl='#cancel-template'/%>
</div>
</script>
<!-- cancelling build -->
<script id="cancelling-build-template" type="text/x-jsrender">
<div class="col-md-9">
Cancelling the build ...
</div>
</script>
<!-- succeeded or failed build -->
<script id="succeeded-or-failed-build-template" type="text/x-jsrender">
<!-- completed_on -->
<div class="col-md-2">
<%:completed_on%>
</div>
<!-- errors -->
<div class="col-md-2">
<%if errors%>
<span class="glyphicon glyphicon-minus-sign"></span>
<a href="<%:dashboard_errors_url%>" class="alert-link">
<%:errors%> error<%:errors_pluralise%>
</a>
<%/if%>
</div>
<!-- warnings -->
<div class="col-md-2">
<%if warnings%>
<span class="glyphicon glyphicon-warning-sign build-warnings"></span>
<a href="<%:dashboard_warnings_url%>" class="alert-link build-warnings">
<%:warnings%> warning<%:warnings_pluralise%>
</a>
<%/if%>
</div>
<!-- build time -->
<div class="col-md-3">
Build time:
<span data-role="data-recent-build-buildtime-field">
<%if state == 'Succeeded'%>
<a class="alert-link" href="<%:buildtime_url%>"><%:buildtime%></a>
<%else%>
<%:buildtime%>
<%/if%>
</span>
<!-- rebuild button -->
<%include tmpl='#rebuild-template'/%>
</div>
</script>
<!-- cancelled build -->
<script id="cancelled-build-template" type="text/x-jsrender">
<!-- build cancelled message -->
<div class="col-md-6">
Build cancelled
</div>
<!-- rebuild button -->
<div class="col-md-3">
<%include tmpl='#rebuild-template'/%>
</div>
</script>
<!-- rebuild button or no rebuild icon -->
<script id="rebuild-template" type="text/x-jsrender">
<%if is_default_project_build%>
<!-- no rebuild info icon -->
<span class="pull-right glyphicon glyphicon-question-sign get-help <%if state == 'Succeeded'%>get-help-green<%else state == 'Failed'%>get-help-red<%else%>get-help-blue<%/if%>"
title="Builds in this project cannot be started from Toaster: they are started from the command line">
</span>
<%else%>
<!-- rebuild button -->
<span class="rebuild-btn alert-link <%if state == 'Success'%>success<%else state == 'Failed'%>danger<%else%>info<%/if%> pull-right"
data-request-url="<%:rebuild_url%>" data-target='<%:build_targets_json%>'>
<span class="glyphicon glyphicon-repeat"></span>
Rebuild
</span>
<%/if%>
</script>
<!-- cancel button or no cancel icon -->
<script id="cancel-template" type="text/x-jsrender">
<%if is_default_project_build%>
<!-- no cancel icon -->
<span class="glyphicon glyphicon-question-sign get-help get-help-blue pull-right" title="Builds in this project cannot be cancelled from Toaster: they can only be cancelled from the command line"></span>
<%else%>
<!-- cancel button -->
<span class="cancel-build-btn pull-right alert-link"
data-buildrequest-id="<%:buildrequest_id%>" data-request-url="<%:cancel_url%>">
<span class="glyphicon glyphicon-remove-circle"></span>
Cancel
</span>
<%/if%>
</script>
<script>
$(document).ready(function () {
var ctx = {
mrbType : "{{mrb_type}}",
}
try {
mrbSectionInit(ctx);
} catch (e) {
document.write("Sorry, An error has occurred loading this page");
console.warn(e);
}
});
</script>