{% extends "base.html" %}
{% import "repo_tabs.html" as m %}
{% block title %}{{ report.title }} · Reports · {{ repo.owner }}/{{ repo.name }}{% endblock %}
{% block tabs %}{% call m::tabs(repo, "reports") %}{% endblock %}
{% block content %}
{{ report.summary }}{{ report.title }} {{ report.kind }}
{% for t in timeline %}
This run against {% if let Some(n) = other.run_number %}run #{{ n }}{% else %}an upload{% endif %} stop comparing
{% for c in rows %}
Metric {% if let Some(n) = report.run_number %}run #{{ n }}{% else %}this{% endif %} {% if let Some(n) = other.run_number %}run #{{ n }}{% else %}that{% endif %} Difference
{% endfor %}
{{ c.key }}{{ c.here }}{% if !c.unit.is_empty() %} {{ c.unit }}{% endif %} {{ c.there }} {% if !c.delta.is_empty() %}{{ c.delta }}{% else %}–{% endif %}
{% for v in metrics %}
Metric Value Change Across runs Threshold
{% endfor %}
{{ v.key }}{{ v.value }}{% if !v.unit.is_empty() %} {{ v.unit }}{% endif %}
{% if !v.delta.is_empty() %}{{ v.delta }}{% else %}–{% endif %}
{{ v.spark|safe }}
{% if v.failing %}{{ v.threshold }}: failing{% else %}{{ v.threshold }}{% endif %}
This run's files have expired under retention: its metrics and summary are kept, its page and data are not. Runs on {{ repo.default_bookmark }} keep their files, and the newest {{ crate::reports::KEEP_OTHER_RUNS }} runs on any other bookmark.
{% endif %} {% if let Some(src) = frame %}The report's own page, in a sandbox: its scripts run with no access to your session or this hub. Open it alone.