{% extends "base.html.jinja" %} {% from "components/timestamp.html.jinja" import timeago as ts %} {% block content %}
{# ── Breadcrumb + heading ──────────────────────────────────── #}
{# Status dot #} {% if summary_status == "RUNNING" %} {% elif summary_status == "QUEUED" %} {% elif summary_status == "FAILED" %} {% elif summary_status == "SUCCEEDED" %} {% elif summary_status == "TIMED_OUT" %} {% elif summary_status == "CANCELLED" %} {% else %} {% endif %}

{% if artifact.commit_message %}{{ artifact.commit_message }}{% else %}{{ artifact.title }}{% endif %}

{% if artifact.version %} {{ artifact.version }} {% endif %}

{{ artifact.slug }}

{# ── Metadata pills ────────────────────────────────────── #}
{% if artifact.branch %} {{ artifact.branch }} {% endif %} {% if artifact.commit_sha %} {{ artifact.commit_sha[:8] }} {% endif %} {% if artifact.source_type %} {% if 'github' in artifact.source_type %} {% elif 'gitlab' in artifact.source_type %} {% else %} {% endif %} {{ artifact.source_type | replace("_", " ") | replace("-", " ") }} {% endif %} {% if artifact.source_user %} {{ artifact.source_user }} {% endif %} {{ ts(artifact.created_at) }}
{% if artifact.description and not artifact.description is startingwith("Branch:") %}

{{ artifact.description }}

{% endif %} {# ── Pipeline stages ───────────────────────────────────────── #} {% if has_pipeline and pipeline_stages | length > 0 %}

Pipeline

{% for stage in pipeline_stages %}
{# Status icon #} {% if stage.status == "SUCCEEDED" %} {% elif stage.status == "RUNNING" %} {% elif stage.status == "QUEUED" %} {% elif stage.status == "FAILED" %} {% else %} {% endif %} {# Stage label #} {% if stage.stage_type == "deploy" %} {% if stage.status == "SUCCEEDED" %}Deployed to{% elif stage.status == "RUNNING" %}Deploying to{% elif stage.status == "QUEUED" %}Queued for{% elif stage.status == "FAILED" %}Failed on{% elif stage.status == "TIMED_OUT" %}Timed out on{% elif stage.status == "CANCELLED" %}Cancelled{% else %}Deploy to{% endif %} {{ stage.environment }} {% elif stage.stage_type == "wait" %} {% if stage.status == "SUCCEEDED" %}Waited{% elif stage.status == "RUNNING" %}Waiting{% elif stage.status == "FAILED" %}Wait failed{% elif stage.status == "CANCELLED" %}Wait cancelled{% else %}Wait{% endif %} {% if stage.duration_seconds %}{{ stage.duration_seconds }}s{% endif %} {% endif %} {# Elapsed time #} {% if stage.started_at %} {{ ts(stage.started_at) }} {% endif %} {# Error message #} {% if stage.error_message %} {{ stage.error_message }} {% endif %}
{% endfor %}
{# Pipeline progress #} {% set ns = namespace(done=0, total=0) %} {% for stage in pipeline_stages %} {% set ns.total = ns.total + 1 %} {% if stage.status == "SUCCEEDED" %}{% set ns.done = ns.done + 1 %}{% endif %} {% endfor %}

{{ ns.done }}/{{ ns.total }} stages complete

{% elif has_pipeline %}

Pipeline

Pipeline configured — waiting for release to be triggered.
{% endif %} {# ── Destinations with status ──────────────────────────────── #} {% if destinations | length > 0 or configured_destinations | length > 0 %}

Destinations

{% for dest in destinations %}
{# Status icon #} {% if dest.status == "SUCCEEDED" %} {% elif dest.status == "RUNNING" or dest.status == "ASSIGNED" %} {% elif dest.status == "QUEUED" %} {% elif dest.status == "FAILED" %} {% else %} {% endif %} {# Environment badge #} {{ dest.environment }} {{ dest.name }} {# Status label #} {% if dest.status == "SUCCEEDED" %} Deployed {% elif dest.status == "RUNNING" %} Deploying {% elif dest.status == "QUEUED" %} Queued{% if dest.queue_position %} #{{ dest.queue_position }}{% endif %} {% elif dest.status == "FAILED" %} Failed {% elif dest.status == "TIMED_OUT" %} Timed out {% elif dest.status == "CANCELLED" %} Cancelled {% endif %} {# Error message #} {% if dest.error_message %} {{ dest.error_message }} {% endif %} {# Timestamp #} {% if dest.completed_at %} {% elif dest.started_at %} {% endif %}
{% endfor %}
{# Show configured destinations that don't have live state yet #} {% if configured_destinations | length > 0 and destinations | length == 0 %}
{% for cd in configured_destinations %}
{{ cd.environment }} {{ cd.name }} Not deployed
{% endfor %}
{% endif %}
{% endif %} {# ── Logs ──────────────────────────────────────────────────── #} {% if has_release_intents %}

Logs

{% endif %} {# ── Details ───────────────────────────────────────────────── #} {% if artifact.commit_message or artifact.repo_url or artifact.source_email or artifact.run_url %}

Details

{% if artifact.commit_message %}
{{ artifact.commit_message }}
{% endif %} {% if artifact.repo_url %} {% endif %} {% if artifact.source_email %}
{{ artifact.source_email }}
{% endif %} {% if artifact.run_url %} {% endif %}
{% endif %} {# ── Links ─────────────────────────────────────────────────── #} {% if artifact.web or artifact.pr %}

Links

{% if artifact.web %} Web {% endif %} {% if artifact.pr %} Pull request {% endif %}
{% endif %}

Created {{ ts(artifact.created_at) }}

{% endblock %}