42fa9554 Andy McCall 1 month ago ↶
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 %}
9008bf6c Andy McCall 1 month ago ↶
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 >
42fa9554 Andy McCall 1 month ago ↶
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 >
a0d4bbfb Andy McCall 1 month ago ↶
35
< td > < a href = " {{ repo.url }}/flow/{{ row.r.number }}" > < strong > #{{ row.r.number }}</ strong > </ a > < span class = " small mute " > {{ row.r.status }}</ span > </ td >
42fa9554 Andy McCall 1 month ago ↶
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 >
af9c6ca1 Andy McCall 1 month ago ↶
38
< td > < a href = " {{ repo.url }}/tree/{{ row.r.heads }}" title = " state {{ row.r.state }}" > < code > {{ row.r.state|short }}</ code > </ a > </ td >
42fa9554 Andy McCall 1 month ago ↶
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 %}