{#- The Next region: the dispatch queue as the tick will take it, the merge queue, reviews waiting. -#} {% from "_now1_macros.html" import queue_line with context %} {%- set g = snap.garden -%} {%- set nxt = snap.next -%} {%- set mq = nxt.merge -%}

Next

the order the tick will take {% if g.next_tick_at %}next embedded tick in {{ g.tick_interval }} s{% elif g.scheduler_status.effective %}{{ g.scheduler_status.effective.label }}{% else %}scheduler status unavailable{% endif %}{% if g.free %}{{ g.free }} slot{{ 's' if g.free != 1 }} free{% else %}no slot free: the first line waits for a run to finish{% endif %}
{% if nxt.dispatch %}
    {% for q in nxt.dispatch[:8] %}{{ queue_line(q) }}{% endfor %}
{% if nxt.dispatch | length > 8 %}and {{ nxt.dispatch | length - 8 }} more →{% endif %} {% else %}
Nothing queued. Approve a draft on the Board to add work.
{% endif %}

Merge queue

{% if mq.last_drop %}

last to leave the queue: {{ mq.last_drop.task }} · {{ mq.last_drop.reason }} · {{ mq.last_drop.at[11:16] }}Z

{% endif %}
{% if mq.waiting %} {#- one line per pending review with the gate that holds it, the scheduler's own reason; the overdue line, which nothing explains, is set in the ink colour and sends the person to the log -#}

Reviews waiting

{% endif %}