{% extends "base.html" %} {% import "repo_tabs.html" as m %} {% block title %}Trust · {{ t.tag }} · {{ repo.owner }}/{{ repo.name }}{% endblock %} {% block bodyattrs %} data-repo="{{ repo.url }}"{% endblock %} {% block tabs %}{% call m::tabs(repo, "releases") %}{% endblock %} {% block mainclass %} class="wide"{% endblock %} {% block content %}
Who wrote what this release holds, how it is authenticated, what built each asset and from what, with every claim audited below.{% if let Some(p) = t.since %} Changes are counted since the previous release, {{ p }}.{% endif %} The export carries the signed receipts: check each with oxy receipt verify.
Authors → the tagged state → the jobs that built the assets → the assets. A dashed line is a build from another state than the tag's.
{{ k.key|short }}{% endif %}| Author | Key | Changes | Signed | Sealed | Unsigned | Problems |
|---|---|---|---|---|---|---|
| {% if let Some(acc) = a.who.account %}{{ a.who.name }}{% else %}{{ a.who.name }}{% endif %} | {{ a.who.key|short }} | {{ a.changes }} | {{ a.signed }} | {{ a.sealed }} | {% if a.unsigned > 0 %}{{ a.unsigned }}{% else %}0{% endif %} | {% if a.invalid + a.revoked > 0 %}{{ a.invalid }} invalid, {{ a.revoked }} revoked{% else %}none{% endif %} |
This release has no assets.
{% endif %} {% for a in t.assets %}{{ a.blake3|short }}{{ r.key|short }}{% if b.runner_known %} runner key of this hub{% endif %}{% if b.runner_revoked %} revoked{% endif %}{% else %}no signed receipt{% endif %}{{ b.rootfs|short }} · environment {{ b.environment|short }}{{ b.pipeline_hash|short }} · scope {{ b.scope_tree_hash|short }}No passed OxygenFlow job of this repository produced these bytes: uploaded by hand.
{% endif %} {% endfor %}