Skip to content

fix(ansible): document the attestation verify command correctly - #127

Merged
patrick-hermann-sva merged 1 commit into
mainfrom
fix/attestation-verify-command
Jul 29, 2026
Merged

fix(ansible): document the attestation verify command correctly#127
patrick-hermann-sva merged 1 commit into
mainfrom
fix/attestation-verify-command

Conversation

@patrick-hermann-sva

Copy link
Copy Markdown
Contributor

Found while verifying the first real release, sthings-baseos-26.729.1165.

The documented command does not work

#125 added this comment:

gh attestation verify <file> --repo <owner>/<repo>

Running it against the published artifact:

Error: verifying with issuer "sigstore.dev"

The signing identity in the certificate is this reusable workflow, which lives in a different repository from the artifact. Without --signer-repo, gh looks for a signer in the artifact's own repo, finds none, and emits that bare error — which reads like a bad artifact rather than a bad command. A consumer following the documented steps would reasonably conclude the release was not trustworthy.

The working command:

gh attestation verify sthings-baseos-26.729.1165.tar.gz \
  --repo stuttgart-things/ansible \
  --signer-repo stuttgart-things/github-workflow-templates

The attestation itself is fine

Verified against the published artifact:

subject   : sthings-baseos-26.729.1165.tar.gz
digest    : b3a61def7ef036d588ed8a999b524e1b3949b328ba51d1b58fd13a63c685400f
predicate : https://slsa.dev/provenance/v1
builder   : .../call-release-artifact.yaml@1814f1e
sourceRepo: https://github.com/stuttgart-things/ansible
commit    : eb52831
runner    : github-hosted

sha256sum -c on the published .sha256 also passes.

Also in the release notes

A workflow comment is not where anyone looks when checking a download, so the command now goes into the release body next to the digest.

Note the notes string uses verify with -- rather than verify:. A ': ' inside that unquoted YAML scalar is a mapping indicator and breaks the file — caught by check-jsonschema before pushing.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FDecVMyhtUtixsLmT4oLwY

The comment added in #125 told consumers to run

  gh attestation verify <file> --repo <owner>/<repo>

which fails. The signing identity in the certificate is this reusable workflow,
which lives in a different repository from the artifact, so gh looks for a
signer in the artifact's own repo, finds none, and reports

  Error: verifying with issuer "sigstore.dev"

That reads like a bad artifact rather than a bad command - a consumer following
the documented steps would reasonably conclude the release was not trustworthy.

Verified against the published sthings-baseos-26.729.1165.tar.gz: with
--signer-repo the bundle resolves to slsa provenance v1, subject digest
b3a61def..., source commit eb52831, runner github-hosted.

Also put the command in the release notes. The workflow comment is not where
anyone looks when checking a download.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FDecVMyhtUtixsLmT4oLwY
@patrick-hermann-sva
patrick-hermann-sva merged commit 3c127b5 into main Jul 29, 2026
2 checks passed
@patrick-hermann-sva
patrick-hermann-sva deleted the fix/attestation-verify-command branch July 29, 2026 13:14
patrick-hermann-sva added a commit that referenced this pull request Jul 29, 2026
…#129)

The pin still referenced 1814f1e, which predates #127 and #128. Left alone the
release path would keep calling the old workflow, so the corrected attestation
verify command would never reach the release notes.


Claude-Session: https://claude.ai/code/session_01FDecVMyhtUtixsLmT4oLwY

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant