2017-12-19 17:03:51 +01:00
|
|
|
{% extends "base.html" %}
|
|
|
|
{% block content %}
|
|
|
|
|
2018-01-29 03:39:04 +01:00
|
|
|
<h2 class="text-center my-3">{{ branch.display_name }}</h2>
|
|
|
|
<div id="levelSummary" style="height: 270px;" class="col-sm-6 offset-sm-3 my-3"></div>
|
2017-12-19 17:03:51 +01:00
|
|
|
|
|
|
|
<div class="row">
|
2018-01-29 03:39:04 +01:00
|
|
|
<div class="mx-auto">
|
2018-05-22 00:12:53 +02:00
|
|
|
<div style="text-align:center;">
|
2018-05-22 02:18:14 +02:00
|
|
|
<label for="level-all">Level : </label>
|
|
|
|
<div class="btn-group btn-group-toggle" data-toggle="buttons">
|
|
|
|
<label class="btn btn-sm btn-light active">
|
|
|
|
<input type="radio" name="options" level="all" id="filter_level-all" autocomplete="off" checked> All
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="?" autocomplete="off"> ?
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="0" autocomplete="off"> 0
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="1" autocomplete="off"> 1
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="2" autocomplete="off"> 2
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="3" autocomplete="off"> 3
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="4" autocomplete="off"> 4
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="5" autocomplete="off"> 5
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="6" autocomplete="off"> 6
|
|
|
|
</label>
|
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="7" autocomplete="off"> 7
|
|
|
|
</label>
|
2019-04-29 22:29:08 +02:00
|
|
|
<label class="btn btn-sm btn-light">
|
|
|
|
<input type="radio" name="options" level="8" autocomplete="off"> 8
|
|
|
|
</label>
|
2018-05-22 02:18:14 +02:00
|
|
|
</div>
|
2018-05-22 00:12:53 +02:00
|
|
|
</div>
|
2017-12-19 17:03:51 +01:00
|
|
|
<div>
|
2018-01-29 03:39:04 +01:00
|
|
|
<table class="table table-responsive ci-app-table">
|
2017-12-19 17:03:51 +01:00
|
|
|
<thead>
|
|
|
|
<tr>
|
2018-01-29 03:39:04 +01:00
|
|
|
<th class="ci-app-row-title"></th>
|
2020-11-12 23:58:51 +01:00
|
|
|
<th class="ci-app-test-title ci-app-level"><div>Quality level</div></th>
|
2017-12-19 17:03:51 +01:00
|
|
|
{% for test in tests %}
|
|
|
|
<th class="ci-app-test-title"><div><span>{{ test }}</span></div></th>
|
|
|
|
{% endfor %}
|
|
|
|
<th class="ci-app-test-title"></th>
|
2018-01-30 19:37:27 +01:00
|
|
|
<th></th>
|
2017-12-19 17:03:51 +01:00
|
|
|
</tr>
|
|
|
|
</thead>
|
|
|
|
<tbody>
|
|
|
|
{% for result in app_results %}
|
2020-11-07 19:00:45 +01:00
|
|
|
<tr app="{{ result.app.name }}" class="resultline" level="{{ result.level if result.level >= 0 else "?" }}" {% if result.outdated %}style="opacity: 0.8; background-color: #ddd;"{% endif %} >
|
2017-12-19 17:03:51 +01:00
|
|
|
<td class="ci-app-row-title">
|
2020-11-07 20:59:34 +01:00
|
|
|
{% if result.app.long_term_good_quality %}
|
|
|
|
<span class="oi oi-star" title="Long-term good quality" aria-hidden="true" style="color: goldenrod;"></span>
|
|
|
|
{% endif %}
|
|
|
|
{% if result.app.long_term_broken %}
|
|
|
|
<span class="oi oi-flag" title="Long-term broken" aria-hidden="true" style="color: firebrick;"></span>
|
|
|
|
{% endif %}
|
2017-12-19 19:20:27 +01:00
|
|
|
<a href="{{ url_for('main.appci_app', app=result.app.name) }}">
|
2018-01-30 19:37:27 +01:00
|
|
|
<span class="font-weight-bold" title="More tests / info for this app">
|
|
|
|
{{ result.app.name }}</span>
|
2017-12-19 17:03:51 +01:00
|
|
|
</a>
|
|
|
|
</td>
|
|
|
|
<td class="ci-app-level" value="{{ result.level }}">
|
2020-11-12 23:58:51 +01:00
|
|
|
<div title="Level">
|
|
|
|
<strong>{{ result.level if result.level >= 0 else "?" }}</strong>
|
|
|
|
{% if result.level < result.app.public_level %}
|
|
|
|
<span class="ml-1 oi oi-arrow-thick-bottom" title="Regression" aria-hidden="true" style="color: crimson;"></span>
|
|
|
|
{% elif result.level > result.app.public_level %}
|
|
|
|
<span class="ml-1 oi oi-arrow-thick-bottom" title="Improvement" aria-hidden="true" style="color: limegreen;"></span>
|
|
|
|
{% endif %}
|
|
|
|
</div></td>
|
2017-12-19 20:10:12 +01:00
|
|
|
{% for test in tests %}
|
|
|
|
{% set r = result.results[test] %}
|
2017-12-19 17:03:51 +01:00
|
|
|
<td class="ci-app-test-result">
|
|
|
|
<div title="{{ test }}" value="{{ r }}"></div>
|
|
|
|
</td>
|
|
|
|
{% endfor %}
|
2018-01-30 19:37:27 +01:00
|
|
|
<td class="ci-app-test-info px-0">
|
2018-12-12 17:33:24 +01:00
|
|
|
{% if result.date == None %}
|
|
|
|
<span class="daysAgo" href="{{ branch.last_build_url(result.app) }}">???</span>
|
|
|
|
{% else %}
|
|
|
|
<span class="daysAgo" timestamp="{{ result.date.timestamp() }}" href="{{ branch.last_build_url(result.app) }}"></span>
|
|
|
|
{% endif %}
|
2020-09-03 19:33:59 +02:00
|
|
|
{% if result.outdated %}
|
2018-01-30 19:37:27 +01:00
|
|
|
<span class="oi oi-clock text-warning"
|
2017-12-19 17:03:51 +01:00
|
|
|
aria-hidden="true"
|
2020-09-03 19:33:59 +02:00
|
|
|
title="This test is outdated"></span>
|
2017-12-19 17:03:51 +01:00
|
|
|
{% endif %}
|
2018-05-26 18:21:30 +02:00
|
|
|
{% if result.app.public_commit != 'HEAD' and result.app.public_commit != result.app.master_commit %}
|
2018-12-12 17:33:24 +01:00
|
|
|
<!--
|
2018-03-10 22:46:33 +01:00
|
|
|
{% if result.app.public_vs_master_time_diff > 60 %}
|
|
|
|
<span class="oi oi-warning text-danger"
|
2018-03-10 23:12:04 +01:00
|
|
|
{% else %}
|
|
|
|
<span class="oi oi-warning text-warning"
|
2018-03-10 22:46:33 +01:00
|
|
|
{% endif %}
|
2017-12-19 17:03:51 +01:00
|
|
|
aria-hidden="true"
|
|
|
|
title="Master commit is not up to date with {{ result.app.list.name }}.json !"></span>
|
2018-12-12 17:33:24 +01:00
|
|
|
-->
|
2017-12-19 17:03:51 +01:00
|
|
|
{% endif %}
|
2019-05-14 19:00:38 +02:00
|
|
|
{% if result.app.testing_pr %}
|
2018-01-30 19:37:27 +01:00
|
|
|
<span class="oi oi-fork text-info"
|
2017-12-19 17:03:51 +01:00
|
|
|
aria-hidden="true"
|
|
|
|
title="An active testing branch exists for this app."></span>
|
|
|
|
{% endif %}
|
|
|
|
</td>
|
2018-01-30 19:37:27 +01:00
|
|
|
<td class="px-0">
|
|
|
|
<a href="{{ result.app.repo }}">
|
|
|
|
<span class="oi oi-external-link text-info"
|
|
|
|
aria-hidden="true"
|
|
|
|
title="To the Git repo!"></span>
|
|
|
|
</a>
|
|
|
|
</td>
|
2017-12-19 17:03:51 +01:00
|
|
|
</tr>
|
|
|
|
{% endfor %}
|
|
|
|
</tbody>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<script src="{{ url_for('static', filename='js/canvasjs.min.js') }}"></script>
|
|
|
|
<script>
|
|
|
|
window.onload = function () {
|
|
|
|
var chart = new CanvasJS.Chart("levelSummary", {
|
|
|
|
animationEnabled: false,
|
|
|
|
data: [{
|
|
|
|
type: "doughnut",
|
|
|
|
startAngle: -90,
|
|
|
|
//innerRadius: 60,
|
|
|
|
indexLabelFontSize: 17,
|
|
|
|
indexLabel: "{label} - #percent%",
|
|
|
|
toolTipContent: "<b>{label}:</b> {y} (#percent%)",
|
|
|
|
dataPoints: [
|
2018-05-22 02:18:14 +02:00
|
|
|
{ y: $(".ci-app-level[value=-1]").length, label: "Unknown", color: "#cccccc" },
|
2017-12-19 17:03:51 +01:00
|
|
|
{ y: $(".ci-app-level[value=0]").length, label: "Level 0", color: "#d9534f" },
|
|
|
|
{ y: $(".ci-app-level[value=1]").length, label: "Level 1", color: "#E26D4F" },
|
|
|
|
{ y: $(".ci-app-level[value=2]").length, label: "Level 2", color: "#E98D4E" },
|
|
|
|
{ y: $(".ci-app-level[value=3]").length, label: "Level 3", color: "#f0ad4e" },
|
|
|
|
{ y: $(".ci-app-level[value=4]").length, label: "Level 4", color: "#CBB052" },
|
|
|
|
{ y: $(".ci-app-level[value=5]").length, label: "Level 5", color: "#A6B255" },
|
|
|
|
{ y: $(".ci-app-level[value=6]").length, label: "Level 6", color: "#7AB659" },
|
2019-04-29 22:29:08 +02:00
|
|
|
{ y: $(".ci-app-level[value=7]").length, label: "Level 7", color: "#5cb85c" },
|
|
|
|
{ y: $(".ci-app-level[value=8]").length, label: "Level 8", color: "#4695d5" }
|
2017-12-19 17:03:51 +01:00
|
|
|
]
|
|
|
|
}]
|
|
|
|
});
|
|
|
|
chart.render();
|
2018-05-22 02:18:14 +02:00
|
|
|
$("input[type='radio']").change(function() { update_filters(); });
|
2018-05-22 00:12:53 +02:00
|
|
|
update_filters();
|
2017-12-19 17:03:51 +01:00
|
|
|
}
|
2018-05-22 00:12:53 +02:00
|
|
|
|
|
|
|
function toggle(e) {
|
2018-05-22 02:18:14 +02:00
|
|
|
$(e).toggleClass("btn-light");
|
2018-05-22 00:12:53 +02:00
|
|
|
$(e).toggleClass("btn-primary");
|
|
|
|
update_filters();
|
|
|
|
}
|
2018-05-22 02:18:14 +02:00
|
|
|
|
2018-05-22 00:12:53 +02:00
|
|
|
function update_filters() {
|
2018-05-22 02:18:14 +02:00
|
|
|
var levelFilter = $("input[type='radio']:checked").attr("level");
|
2018-05-22 00:12:53 +02:00
|
|
|
$(".resultline").show();
|
2018-05-22 02:18:14 +02:00
|
|
|
if (levelFilter != "all") { $(".resultline[level!='"+levelFilter+"']").hide(); }
|
2018-05-22 00:12:53 +02:00
|
|
|
}
|
|
|
|
|
2017-12-19 17:03:51 +01:00
|
|
|
</script>
|
|
|
|
|
|
|
|
{% endblock %}
|