OXYGENHUB
# ea839b44cfb6 oxygenhub / templates / flow_runs.html
2.3 KiB · HTML · last changed Turn OxygenFlow on or off per repository in settings 1 month ago source blame history raw
1
{% extends "base.html" %}
2
{% import "repo_tabs.html" as m %}
3
{% block title %}Flow · {{ repo.owner }}/{{ repo.name }}{% endblock %}
4
{% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %}
5
{% block tabs %}{% call m::tabs(repo, "flow") %}{% endblock %}
6
{% block content %}
7
<div class="head"><h1>Flow <small>pipeline runs</small></h1></div>
8
{% if runs.is_empty() %}
9
<section class="panel">
10
  {% if enabled %}
11
  <p>No runs yet. Add <code>.flow/pipeline.kdl</code> to a bookmark and push: every push that moves a bookmark runs it in OxygenFlow microVMs.</p>
12
  {% else %}
13
  <p>OxygenFlow is not enabled for this repository. A site administrator turns it on under <a href="{{ repo.url }}/settings#flow">Settings → OxygenFlow</a>.</p>
14
  {% endif %}
15
<pre class="snippet">schema-version 1
16
17
sandbox "alpine" {
18
    runtime "microvm"
19
    rootfs "cas://blob/…"   // flow rootfs import prints this
20
    memory-limit "512MiB"
21
}
22
23
job "test" {
24
    sandbox "alpine"
25
    exec "sh" "-eu" "test.sh"
26
}</pre>
27
</section>
28
{% else %}
29
<table class="list flow-runs">
30
  <thead><tr><th></th><th>Run</th><th>Jobs</th><th>Bookmark</th><th>State</th><th>By</th><th>When</th><th>Took</th></tr></thead>
31
  <tbody>
32
  {% for row in runs %}
33
  <tr class="st-{{ row.r.status }}">
34
    <td class="st"><span class="flow-glyph st-{{ row.r.status }}" title="{{ row.r.status }}">{{ crate::web::flow::glyph(row.r.status) }}</span></td>
35
    <td><a href="{{ repo.url }}/flow/{{ row.r.id }}"><strong>#{{ row.r.id }}</strong></a> <span class="small mute">{{ row.r.status }}</span></td>
36
    <td class="flow-dots">{% for (n, s) in row.jobs %}<span class="flow-glyph st-{{ s }}" title="{{ n }}: {{ s }}">{{ crate::web::flow::glyph(s) }}</span>{% endfor %}{% if row.r.status == "error" %}<span class="small bad">pipeline invalid</span>{% endif %}</td>
37
    <td><span class="lbl lbl-bm">{{ row.r.bookmark }}</span></td>
38
    <td><a class="px" href="{{ repo.url }}/tree/{{ row.r.heads }}" title="{{ row.r.state }}">{{ row.r.state|short }}</a></td>
39
    <td>{{ row.r.actor }}</td>
40
    <td><time title="{{ row.r.created_ms|when_i }}">{{ row.r.created_ms|ago_i }}</time></td>
41
    <td class="small mute">{{ row.duration }}</td>
42
  </tr>
43
  {% endfor %}
44
  </tbody>
45
</table>
46
{% if let Some(b) = older %}<p class="center"><a class="go small" href="{{ repo.url }}/flow?before={{ b }}">older runs</a></p>{% endif %}
47
{% endif %}
48
{% endblock %}