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 >
2023-06-11 16:14:41 +02:00
< div id = "levelSummary" class = "col-md-3 col-offset-md-3 col-sm-6 offset-sm-3 my-3" style = "height: 270px; display: inline-block;" > < / div >
< div id = "packagingSummary" class = "col-md-3 col-sm-6 my-3" style = "height: 270px; display: inline-block;" > < / 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;" >
2020-11-13 01:46:54 +01:00
< button id = "filter_onlyNeedAttention" type = "button" class = "btn btn-light btn-sm" href = "javascript:void(0)" onclick = "toggle(this)" > Show only app that needs attention< / button >
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 >
2021-03-21 22:07:10 +01:00
{% for test in test_categories %}
< th class = "ci-app-test-title" > < div > < span > {{ test[1] }}< / span > < / div > < / th >
2017-12-19 17:03:51 +01:00
{% 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 %}
2023-06-11 16:14:41 +02:00
< tr app = "{{ result.app.name }}" class = "resultline {% if result.needs_attention %}ci-needs-attention{% endif %}" { % if result . outdated % } style = "opacity: 0.8; background-color: #e9e9e9;" { % endif % } data-packaging = "{{ result.app.packaging_format }}" >
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 %}
2023-06-11 16:14:41 +02:00
{% if result.app.packaging_format and result.app.packaging_format >= 2 %}
< span class = "oi oi-box" title = "Uses packaging v2!" aria-hidden = "true" style = "color: blueviolet; font-size: 0.8em;" > < / 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 >
2020-11-13 00:42:00 +01:00
{% if result.level < result.app.public_level | int % }
2020-11-12 23:58:51 +01:00
< span class = "ml-1 oi oi-arrow-thick-bottom" title = "Regression" aria-hidden = "true" style = "color: crimson;" > < / span >
2020-11-13 00:42:00 +01:00
{% elif result.level > result.app.public_level|int %}
< span class = "ml-1 oi oi-arrow-thick-top" title = "Improvement" aria-hidden = "true" style = "color: limegreen;" > < / span >
2020-11-12 23:58:51 +01:00
{% endif %}
< / div > < / td >
2021-03-21 22:07:10 +01:00
{% for test in test_categories %}
{% set r = result.results[test[0]] %}
2017-12-19 17:03:51 +01:00
< td class = "ci-app-test-result" >
2021-03-21 22:07:10 +01:00
< div title = "{{ test[1] }}" value = "{{ r }}" > < / div >
2017-12-19 17:03:51 +01:00
< / 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 %}
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,
2021-03-21 22:58:04 +01:00
indexLabel: "{label} - {y}",
2021-03-21 22:07:10 +01:00
toolTipContent: "< b > {label}:< / b > {y}",
2017-12-19 17:03:51 +01:00
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" },
2020-12-30 23:34:48 +01:00
{ y: $(".ci-app-level[value=8]").length, label: "Level 8", color: "#4695d5" },
{ y: $(".ci-app-level[value=9]").length, label: "Level 9", color: "#8960b3" }
2017-12-19 17:03:51 +01:00
]
}]
});
chart.render();
2023-06-11 16:14:41 +02:00
var chart2 = new CanvasJS.Chart("packagingSummary", {
animationEnabled: false,
data: [{
type: "doughnut",
startAngle: -90,
//innerRadius: 60,
indexLabelFontSize: 17,
indexLabel: "{label} - {y}",
toolTipContent: "< b > {label}:< / b > {y}",
dataPoints: [
{ y: $(".resultline[data-packaging=2]").length, label: "Packaging v2", color: "#8829df" },
{ y: $(".resultline[data-packaging=1]").length, label: "Packaging v1", color: "#f0f0f0" },
]
}]
});
chart2.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() {
2020-11-13 01:46:54 +01:00
var onlyNeedAttention = $("#filter_onlyNeedAttention").hasClass("btn-primary");
$(".resultline").hide();
$(".ci-needs-attention").show();
if (!onlyNeedAttention) { $(".resultline").show(); }
2018-05-22 00:12:53 +02:00
}
2017-12-19 17:03:51 +01:00
< / script >
{% endblock %}