<divclass="head"><h1>Diffusion <small>how changes move between this repository and the ones that pin it</small></h1></div>
9
<pclass="small mute df-key"><spanclass="df-chip df-green">green</span> checked here and passed there · <spanclass="df-chip df-amber">amber</span> passed there, but the upstream has no checks · <spanclass="df-chip df-red">red</span> its run on the bump failed · <spanclass="df-chip df-grey">testing</span> running · <spanclass="df-chip df-current">up to date</span> nothing to bump</p>
10
{% if !used_by.is_empty() %}
11
<h2>Used by <spanclass="count-chip">{{ used_by.len() }}</span></h2>
12
{% if unverified %}<divclass="strip warn">{{ repo.owner }}/{{ repo.name }} has no checks of its own, so its consumers' bumps are amber: only their own pipelines test them. A <code>.flow/pipeline.kdl</code> here that passes turns them green.</div>{% endif %}
<tdclass="small">{% match c.behind %}{% when Some(n) %}{{ n }}{% when None %}<spanclass="mute">?</span>{% endmatch %}</td>
24
<td>{% call d::chip(c) %}</td>
25
<tdclass="small">{% if let Some(n) = c.bump %}<ahref="{{ repo.url }}/proposal/{{ n }}">#{{ n }}</a>{% if let Some((r, st)) = c.run %} · <ahref="{{ repo.url }}/flow/{{ r }}">run #{{ r }}</a><spanclass="mute">{{ st }}</span>{% endif %}{% else %}<spanclass="mute">none</span>{% endif %}</td>
26
<tdclass="small">{% if let Some((n, at)) = c.landed %}<ahref="{{ repo.url }}/proposal/{{ n }}">#{{ n }}</a><timeclass="mute"title="{{ at|when_i }}">{{ at|ago_i }}</time>{% else %}<spanclass="mute">—</span>{% endif %}</td>
27
</tr>
28
{% endfor %}
29
</table></div>
30
{% endif %}
31
{% if used_by.is_empty() && follows.is_empty() %}<pclass="empty">No repository on this hub pins this one, and it pins none that this hub holds.</p>{% endif %}
32
<pclass="small mute">Diffusion opens a proposal in a consumer when its upstream moves, and never lands one itself. How each repository follows is under its Settings › Diffusion. <ahref="/help#diffusion">How it works</a></p>