{% extends "base.html" %} {% block title %}{{ r.name }} · Runners{% endblock %} {% block mainclass %} class="wide"{% endblock %} {% block content %}

{{ r.name }} {{ r.status() }} · Runners

Signing key
{% if r.key.is_empty() %}bound on its first signed receipt{% else %}{{ r.key }} {{ r.key_name }}{% endif %}
Machine
{% if r.arch.is_empty() %}not reported yet{% else %}{{ r.arch }} · {{ r.os }} · flow {{ r.version }}{% endif %}
Labels
{% for l in r.label_list() %}{{ l }} {% endfor %}{% if r.label_list().is_empty() %}none{% endif %}
Capacity
{{ r.max_jobs|plural("job", "jobs") }} at once{% if let Some(m) = r.memory_mib %}, {{ m }} MiB{% endif %}{% if let Some(c) = r.cpus %}, {{ c }} vCPU{% endif %}
Running now
{{ running|plural("job", "jobs") }}
Ran
{{ jobs|plural("job", "jobs") }}, {{ passed }} passed{% if jobs > 0 %} ({{ passed * 100 / jobs }}%){% endif %}, busy {{ self.busy() }}
Registered
{% if r.source == "config" %}configured in hub.toml{% else %}by {{ r.created_by }}{% endif %},
Last seen
{% if let Some(t) = r.last_seen_ms %}{% else %}never{% endif %}

Jobs

{% if history.is_empty() %}

No jobs yet.

{% else %}
{% for j in history %}{% endfor %}
RepositoryRunJobStatusDurationStartedReceipt
{{ j.owner }}/{{ j.repo }} #{{ j.run_number }} {{ j.job }} {{ crate::web::flow::glyph(j.status) }} {{ j.status }} {{ crate::web::runners::duration(j) }} {% if let Some(t) = j.started_ms %}{% endif %} {% if !j.receipt_attest.is_empty() %}signed{% endif %}
{% if let Some(b) = older %}

Older jobs

{% endif %} {% endif %}
{% endblock %}