{% extends "base.html" %} {% block body %}

Recent activity · local and CI together

{% if activity %} {% for a in activity %} {% endfor %}
originwhatstatewherewhen
{{ 'local' if a.is_local else 'GitHub CI' }} {% if a.is_local %}{{ a.label }} {%- else %}{{ a.label }}{% endif %} {{ a.state }} {{ a.detail }} {{ a.when_text }}

A local row ran on this machine through ./inv or this board; a GitHub CI row ran on GitHub Actions, triggered by anyone.

{% else %}

No activity yet.

{% endif %}

Start a CI run

{% if workflows %}

Runs on GitHub, not here. Workflows marked ⚠ publish to PyPI or cut release artifacts and need their exact name typed to confirm.

{% else %}

Workflow list unavailable (needs an authenticated gh).

{% endif %}

Version drift

{% for v in versions %} {% endfor %}
serverworking treelatest tagstate
{{ v.target }} {{ v.local or "—" }} {{ v.latest_tag or "—" }} {{ v.drift }}

Read from the working tree and local tags — git fetch first if another session may have pushed a tag.

Recent workflow runs · {{ repo }}

{% if gh_error %}

GitHub Actions data unavailable: {{ gh_error }}
The gh CLI must be installed and authenticated (gh auth login) for this panel.

{% elif not runs %}

No recent runs.

{% else %} {% for run in runs %} {% endfor %}
workflowbrancheventstatestarted
{% if run.url %}{{ run.name }}{% else %}{{ run.name }}{% endif %} {{ run.branch }} {{ run.event }} {{ run.conclusion or run.status }} {{ run.created_at[:16].replace("T", " ") }}

Showing the {{ limit }} most recent runs, cached briefly.

{% endif %}
{% endblock %}