Skip to content

Debug image signing workflow failure#51

Merged
JoshuaAFerguson merged 2 commits into
mainfrom
claude/debug-image-signing-01ShznobyPik4Ds5SFHbYT7B
Nov 16, 2025
Merged

Debug image signing workflow failure#51
JoshuaAFerguson merged 2 commits into
mainfrom
claude/debug-image-signing-01ShznobyPik4Ds5SFHbYT7B

Conversation

@JoshuaAFerguson

Copy link
Copy Markdown
Member

No description provided.

Resolves timing issues when signing images in consolidated workflow. The
registry needs time to propagate multi-platform manifests after push.

Changes:
- Add retry logic (5 attempts with exponential backoff) to all signing steps
- Add retry logic to all SBOM attestation steps
- Improved error handling and debugging output
- Initial delay: 2s, doubles each retry (2s, 4s, 8s, 16s, 32s)

Root cause: When build/sign run in same workflow without delays, the
manifest may not be immediately available for inspection via imagetools.
Separate workflows had natural timing gaps that allowed propagation.

This fix addresses failures like:
- 'docker buildx imagetools inspect' returning incomplete/truncated digests
- Cosign unable to reference images with malformed digest strings
Use docker manifest inspect with jq as primary method, fallback to
grep-based extraction from imagetools output. This resolves the issue
where --format template returned the full manifest instead of digest.

Changes:
- Use 'docker manifest inspect | jq .digest' for reliable extraction
- Fallback to grep pattern matching on imagetools output
- Keep retry logic with exponential backoff for manifest propagation
- Applied to all 6 digest extraction points (3 sign + 3 attest steps)

Fixes error: 'ERROR: unexpected digest format: Name: ghcr.io/...'

Root cause: The --format '{{.Manifest.Digest}}' template doesn't work
reliably with docker buildx imagetools for multi-platform manifests.
Using manifest inspect with JSON parsing is more reliable.
@JoshuaAFerguson JoshuaAFerguson merged commit cc6428d into main Nov 16, 2025
7 of 23 checks passed
@JoshuaAFerguson JoshuaAFerguson deleted the claude/debug-image-signing-01ShznobyPik4Ds5SFHbYT7B branch November 16, 2025 17:41
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.

2 participants