2015-07-31 12:09:03 +00:00
{% extends "baseprojectbuildspage.html" %}
2014-08-29 15:42:00 +00:00
{% load projecttags %}
{% load humanize %}
2015-10-28 14:22:05 +00:00
{% block title %} Builds - {{project.name}} - Toaster {% endblock %}
2015-04-16 03:37:38 +00:00
{% block extraheadcontent %}
< link rel = "stylesheet" href = "/static/css/jquery-ui.min.css" type = 'text/css' >
< link rel = "stylesheet" href = "/static/css/jquery-ui.structure.min.css" type = 'text/css' >
< link rel = "stylesheet" href = "/static/css/jquery-ui.theme.min.css" type = 'text/css' >
< script src = "/static/js/jquery-ui.min.js" > < / script >
< script src = "/static/js/filtersnippet.js" > < / script >
{% endblock %}
2014-08-29 15:42:00 +00:00
{% block projectinfomain %}
2015-01-16 16:42:40 +00:00
2015-04-16 03:37:38 +00:00
< script >
// initialize the date range controls
$(document).ready(function () {
2015-09-04 09:37:46 +00:00
date_init('started_on','{{last_date_from}}','{{last_date_to}}','{{dateMin_started_on}}','{{dateMax_started_on}}','{{daterange_selected}}');
date_init('completed_on','{{last_date_from}}','{{last_date_to}}','{{dateMin_completed_on}}','{{dateMax_completed_on}}','{{daterange_selected}}');
2015-04-16 03:37:38 +00:00
});
< / script >
2015-09-29 07:15:19 +00:00
{% with mrb_type='project' %}
{% include "mrb_section.html" %}
{% endwith %}
2015-08-28 16:27:54 +00:00
< h2 >
2015-02-27 15:12:57 +00:00
{% if request.GET.filter and objects.paginator.count > 0 or request.GET.search and objects.paginator.count > 0 %}
2015-09-29 07:15:19 +00:00
{{objects.paginator.count}} project build{{objects.paginator.count|pluralize}} found
2015-02-27 15:12:57 +00:00
{%elif request.GET.filter and objects.paginator.count == 0 or request.GET.search and objects.paginator.count == 0 %}
2015-09-29 07:15:19 +00:00
No project builds found
2015-02-27 15:12:57 +00:00
{%else%}
2015-09-29 07:15:19 +00:00
All project builds
2015-02-27 15:12:57 +00:00
{%endif%}
< i class = "icon-question-sign get-help heading-help" title = "This page lists all the builds for the current project" > < / i >
2015-08-28 16:27:54 +00:00
< / h2 >
2014-08-29 15:42:00 +00:00
2015-01-16 16:42:40 +00:00
{% if objects.paginator.count == 0 %}
2015-02-13 13:08:26 +00:00
{% if request.GET.filter or request.GET.search %}
2015-01-16 16:42:40 +00:00
< div class = "row-fluid" >
< div class = "alert" >
< form class = "no-results input-append" id = "searchform" >
< input id = "search" name = "search" class = "input-xxlarge" type = "text" value = "{{request.GET.search}}" / > {% if request.GET.search %}< a href = "javascript:$('#search').val('');searchform.submit()" class = "add-on btn" tabindex = "-1" > < i class = "icon-remove" > < / i > < / a > {% endif %}
< button class = "btn" type = "submit" value = "Search" > Search< / button >
< button class = "btn btn-link" onclick = "javascript:$('#search').val('');searchform.submit()" > Show all builds< / button >
< / form >
< / div >
< / div >
2015-02-13 13:08:26 +00:00
{% else %}
< div class = "alert alert-info" >
< p class = "lead" >
This project has no builds.
< / p >
< / div >
{% endif %}
2015-01-16 16:42:40 +00:00
{% else %}
{% include "basetable_top.html" %}
<!-- Table data rows; the order needs to match the order of "tablecols" definitions; and the <td class value needs to match the tablecols clclass value for show/hide buttons to work -->
2015-08-18 16:29:00 +00:00
{% for build in objects %} {# if we have a build, just display it #}
2014-08-29 15:42:00 +00:00
< tr class = "data" >
2015-02-16 17:47:07 +00:00
< td class = "outcome" > < a href = "{% url " builddashboard " build . id % } " > {%if build.outcome == build.SUCCEEDED%}< i class = "icon-ok-sign success" > < / i > {%elif build.outcome == build.FAILED%}< i class = "icon-minus-sign error" > < / i > {%else%}{%endif%}< / a >
2015-11-10 17:08:03 +00:00
{% if build.cooker_log_path %}
< a href = "{% url 'build_artifact' build.id " cookerlog " build . id % } " >
< i class = "icon-download-alt" title = "Download build log" > < / i >
< / a >
{% endif %}
2015-02-16 17:47:07 +00:00
< / td >
2015-09-22 09:34:54 +00:00
< td class = "target" >
{% for t in build.target_set.all %}
< a href = "{% url " builddashboard " build . id % } " >
{% if t.task %}
{{t.target}}:{{t.task}}
{% else %}
{{t.target}}
{% endif %}
< / a > < br / >
{% endfor %}
< / td >
2014-08-29 15:42:00 +00:00
< td class = "machine" > < a href = "{% url " builddashboard " build . id % } " > {{build.machine}}< / a > < / td >
< td class = "started_on" > < a href = "{% url " builddashboard " build . id % } " > {{build.started_on|date:"d/m/y H:i"}}< / a > < / td >
< td class = "completed_on" > < a href = "{% url " builddashboard " build . id % } " > {{build.completed_on|date:"d/m/y H:i"}}< / a > < / td >
2015-01-16 16:42:40 +00:00
< td class = "failed_tasks error" >
{% query build.task_build outcome=4 order__gt=0 as exectask%}
{% if exectask.count == 1 %}
< a href = "{% url " task " build . id exectask . 0 . id % } " > {{exectask.0.recipe.name}}.{{exectask.0.task_name}}< / a >
< a href = "{% url 'build_artifact' build.id " tasklogfile " exectask . 0 . id % } " >
< i class = "icon-download-alt" title = "" data-original-title = "Download task log file" > < / i >
< / a >
{% elif exectask.count > 1%}
< a href = "{% url " tasks " build . id % } ? filter = outcome%3A4" > {{exectask.count}} task{{exectask.count|pluralize}}< / a >
{%endif%}
< / td >
2015-06-17 16:30:34 +00:00
< td class = "errors.count" >
{% if build.errors.count %}
< a class = "errors.count error" href = "{% url " builddashboard " build . id % } # errors " > {{build.errors.count}} error{{build.errors.count|pluralize}}< / a >
2015-01-16 16:42:40 +00:00
{%endif%}
< / td >
2015-06-17 16:30:34 +00:00
< td class = "warnings.count" > {% if build.warnings.count %}< a class = "warnings.count warning" href = "{% url " builddashboard " build . id % } # warnings " > {{build.warnings.count}} warning{{build.warnings.count|pluralize}}< / a > {%endif%}< / td >
< td class = "time" > < a href = "{% url " buildtime " build . id % } " > {{build.timespent_seconds|sectohms}}< / a > < / td >
2014-08-29 15:42:00 +00:00
< td class = "output" >
{% if build.outcome == build.SUCCEEDED %}
< a href = "{%url " builddashboard " build . id % } # images " > {{fstypes|get_dict_value:build.id}}< / a >
{% endif %}
< / td >
< / tr >
2015-01-16 16:42:40 +00:00
{% endfor %}
2014-08-29 15:42:00 +00:00
2015-01-16 16:42:40 +00:00
{% include "basetable_bottom.html" %}
{% endif %}
2014-08-29 15:42:00 +00:00
{% endblock %}