{% 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.title }} {{ report.kind }}

{% if bookmarks.len() > 1 %}
{% else %}on {{ report.bookmark }}{% endif %} {% if let Some(n) = report.run_number %}· run #{{ n }}{% endif %} · job {{ report.job }} · · {{ report.files }} files, {{ report.bytes|bytes }} · report.toml
{% if !report.summary.is_empty() %}

{{ report.summary }}

{% endif %}
{% if timeline.len() > 1 %}
← → step through runs
    {% for t in timeline %}
  1. {{ t.label }}
  2. {% endfor %}
{% if let Some(f) = timeline.first() %}{{ f.label }}{% endif %}{% if let Some(l) = timeline.last() %}{{ l.label }}{% endif %}
{% endif %} {% if let Some((other, rows, _)) = compare %}

This run against {% if let Some(n) = other.run_number %}run #{{ n }}{% else %}an upload{% endif %} stop comparing

{% for c in rows %} {% endfor %}
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
{{ c.key }}{{ c.here }}{% if !c.unit.is_empty() %} {{ c.unit }}{% endif %}{{ c.there }}{% if !c.delta.is_empty() %}{{ c.delta }}{% else %}–{% endif %}
{% endif %} {% if !metrics.is_empty() && compare.is_none() %}
{% for v in metrics %} {% endfor %}
MetricValueChangeAcross runsThreshold
{{ 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 %}
{% endif %} {% if report.files_expired_ms.is_some() %}

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 %}
{% if let Some((other, _, Some(osrc))) = compare %}{% endif %}

The report's own page, in a sandbox: its scripts run with no access to your session or this hub. Open it alone.

{% endif %}
{% if !context.is_empty() %}

Context

{% for (k, v) in context %}
{{ k }}
{{ v }}
{% endfor %}
{% endif %}

Runs on {{ report.bookmark }}

{% endblock %}