{% from "filtered-jobs.html" import filtered_jobs with context %} {% extends "layout.html" %} {% block title %}PR {{ number }}{% endblock %} {% block head %} {% endblock %} {% macro batch_state_icon(state) %} {% if state == 'success' %} check_circle {% elif state in ('failure', 'error') %} cancel {% elif state == 'cancelled' %} block {% endif %} {% endmacro %} {% macro batch_history_table(batches) %} {% for batch in batches %} {% endfor %}
id state
{{ batch['id'] }} {% if 'state' in batch and batch['state'] %} {{ batch_state_icon(batch['state']) }} {{ batch['state'] }} {% endif %}
{% endmacro %} {% block content %}

{{ pr.title }} #{{ pr.number }}

PR #{{ pr.number }} status: {% if active_pr %} merge open (live) {% elif pr.merged %} merge merged {% elif pr.merged is none %} question_mark closed {% else %} block closed without merging {% endif %}
{% if active_pr %}

Merge Eligibility

Merge Queue

{% if build_failing or not review_approved %}

Not in the merge queue - {% if build_failing and not review_approved %}needs approval and build is failing. {% elif not review_approved %}needs approval. {% else %}build is failing. {% endif %}

{% else %} {% if prs_ahead_in_queue %}

{{ prs_ahead_in_queue | length }} PR(s) ahead in queue:

{% elif is_mergeable %}

No approved PRs ahead - this PR is next to merge.

{% elif is_merge_candidate %}

This PR is the current merge candidate.

{% else %}

Not yet in the merge queue - awaiting build results.

{% endif %} {% if blocking_deploy_batch_id %}

hourglass_top Deploy batch {{ blocking_deploy_batch_id }} is running - merge blocked until it completes.

{% endif %} {% endif %}
{% endif %} {% if active_pr %}

Current Build

{% if batch is defined %}
batch: {{ batch['id'] }}
artifacts: {{ artifacts_uri }} open_in_new
cost: {{ batch['cost'] }}
{% for name, value in batch['attributes'].items() %}
{{ name }}: {{ value }}
{% endfor %}
labels: {{ pr.labels|join(", ") }}
{% if active_pr %}
{% endif %} {% if logging_queries is not none %}

Logging Queries

{% for name, link in logging_queries.items() %}
{{ name }}
{% endfor %}
{% endif %}

Jobs

{{ filtered_jobs(running, failed, pending, completed) }} {% elif exception is defined %}

Build error:

      {{ exception }}
    
{% else %} {% if pr_authorized %}

No current build — waiting for a build slot (or a retry is being processed). View CI dashboard.

{% else %}

Build blocked: this PR's latest commit is not authorized. It must be reviewed and approved manually by a developer before authorizing.

{% endif %} {% endif %} {% endif %} {% if not active_pr and pr.merged %}

Deploy Batch History

{% if deploy_batches %} {{ batch_history_table(deploy_batches) }} {% else %}

No deploy batch found.

{% endif %} {% endif %}

Build Batch History

{% if history %} {{ batch_history_table(history) }} {% else %} No builds. {% endif %} {% endblock %}