@@ -91,9 +91,10 @@ Run the following command to verify the installation
9191Verifying release integrity
9292---------------------------
9393
94- Every dfetch release carries cryptographic attestations signed by GitHub Actions
95- and anchored in `Sigstore <https://www.sigstore.dev/ >`_. There are two
96- complementary kinds:
94+ Every dfetch release has cryptographic attestations signed by GitHub Actions
95+ and anchored in `Sigstore <https://www.sigstore.dev/ >`_, all published in the
96+ `attestation registry <https://github.com/dfetch-org/dfetch/attestations >`_.
97+ There are four complementary kinds:
9798
9899- **SLSA build provenance ** — answers *"where did this come from?" *: proves the
99100 artifact was produced from the official source commit by the official CI
@@ -104,11 +105,15 @@ complementary kinds:
104105 independently verified?" *: records that the source archive for this commit was
105106 attested and verified before the binary was produced, linking source-level
106107 trust to the binary package.
108+ - **Test result attestation ** (in-toto) — answers *"did the source pass its tests?" *:
109+ records that the full CI test suite ran against this exact source archive and every
110+ check passed, before any binary was produced.
107111
108- Binary installers carry **all three ** kinds of attestation when source
112+ Binary installers have **build provenance, SBOM, and VSA ** attestations when source
109113provenance verification passes (signed by ``build.yml ``).
110- Python packages installed from PyPI carry an **SBOM attestation only ** (signed by
114+ Python packages installed from PyPI have an **SBOM attestation only ** (signed by
111115``python-publish.yml ``).
116+ The source archive has a **test result attestation ** (signed by ``test.yml ``).
112117
113118To verify, use the `GitHub CLI <https://cli.github.com/ >`_. Pass
114119``--predicate-type `` to target one kind specifically; omit it to accept either.
@@ -241,6 +246,21 @@ To verify, use the `GitHub CLI <https://cli.github.com/>`_. Pass
241246 -- cert- identity https:// github.com / dfetch- org/ dfetch/ .github/ workflows/ python- publish.yml@refs / tags/ v< version> `
242247 -- cert- oidc- issuer https:// token.actions.githubusercontent.com
243248
249+ **Source archive — verify test results: **
250+
251+ The test result attestation proves the full CI suite passed on that exact source
252+ before any binary was produced.
253+ To verify locally, download ``source.tar.gz `` from the *Artifacts * section of the
254+ release CI run, then run:
255+
256+ .. code-block :: bash
257+
258+ $ gh attestation verify source.tar.gz \
259+ --repo dfetch-org/dfetch \
260+ --predicate-type https://in-toto.io/attestation/test-result/v0.1 \
261+ --cert-identity https://github.com/dfetch-org/dfetch/.github/workflows/test.yml@refs/tags/v< version> \
262+ --cert-oidc-issuer https://token.actions.githubusercontent.com
263+
244264 See `GitHub artifact attestations `_ for details.
245265
246266.. note ::
0 commit comments