{% extends "base.html" %} {% import "repo_tabs.html" as m %} {% block title %}Flow · {{ repo.owner }}/{{ repo.name }}{% endblock %} {% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} {% block tabs %}{% call m::tabs(repo, "flow") %}{% endblock %} {% block content %}

Flow pipeline runs · deployments · run in this tab · charts ↗

{% if can_run %}
{% endif %}
{% if let Some(w) = why_not %}

{{ w }}

{% endif %} {% if let Some(e) = error %}

Could not start a run: {{ e }}

{% endif %} {% if runs.is_empty() %}
{% if enabled %}

No runs yet. Add .flow/pipeline.kdl to a bookmark and push: every push that moves a bookmark runs it in OxygenFlow microVMs. Once it is there, Run pipeline above runs a bookmark's current state without a push, as does the button beside each bookmark and on each change.

{% else %}

OxygenFlow is not enabled for this repository. A site administrator turns it on under Settings › Pipelines.

{% endif %}
schema-version 1

sandbox "alpine" {
    runtime "microvm"
    rootfs "cas://blob/…"   // flow rootfs import prints this
    memory-limit "512MiB"
}

job "test" {
    sandbox "alpine"
    exec "sh" "-eu" "test.sh"
}
{% else %} {% for row in runs %} {% endfor %}
RunJobsBookmarkStateByWhenTook
{{ crate::web::flow::glyph(row.r.status) }} #{{ row.r.number }} {{ row.r.status }}{% if let Some(p) = row.place %}, {{ p }}{% endif %} {% for (n, s) in row.jobs %}{{ crate::web::flow::glyph(s) }}{% endfor %}{% if row.r.status == "error" %}pipeline invalid{% else if row.r.status == "skipped" %}skipped by its push{% endif %} {% if row.r.bookmark.is_empty() %}change{% else %}{{ row.r.bookmark }}{% endif %} {{ row.r.state|short }} {{ row.r.actor }} {{ row.duration }}
{% if let Some(b) = older %}

older runs

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