{% import "_macros.html" as m %} {% if runs %} {% for run in runs %} {% endfor %}
#StartedScopeTriggerResultSizeDuration
#{{ run.id }} {{ run.started_at | datetime }} {{ m.scope_link(run.scope_kind, run.scope_value) }}{% if run.version_change %} {{ run.version_change }}{% endif %}{% if run.dry_run %} dry-run{% endif %} {{ run.trigger }} {% if run.status == 'running' %}running {% elif run.status == 'error' %}error {% elif run.failed and run.failed > 0 %}{{ run.success }}/{{ run.total }} {% else %}{{ run.success }}/{{ run.total }}{% endif %} {% if run.dry_run %}{% else %}{{ run.total_bytes | filesize }}{% endif %} {{ run.duration_s | duration }}
{{ m.pager(pg, '/ui/runs/rows', '#runs-result', '/runs', '#hist-filters') }} {% else %}

No runs yet.

{% endif %} {# Poll regardless of current contents so the first run appears without a refresh. #} {{ m.live_poll('/ui/runs/rows?page=' ~ pg.page ~ '&per=' ~ pg.per, '#runs-result') }}