fix(ci): Disable provenance/sbom to fix ghcr.io manifest issues#35
fix(ci): Disable provenance/sbom to fix ghcr.io manifest issues#35PenguinzTech merged 3 commits intomainfrom
Conversation
Reviewer's GuideUpdates the Docker CI workflow to use docker/build-push-action v6, disable provenance/SBOM attestation to avoid ghcr.io multi-arch manifest issues, and add a post-push manifest verification step for non-PR builds. Sequence diagram for Docker image build, push, and manifest verificationsequenceDiagram
actor Dev as Developer
participant GH as GitHub_Actions
participant BuildJob as Job_build-and-push
participant Buildx as Docker_buildx
participant GHCR as ghcr_io
Dev->>GH: Push to default branch
GH->>BuildJob: Start workflow docker-build.yml
BuildJob->>BuildJob: Step meta (generate tags, labels)
BuildJob->>Buildx: docker/build-push-action v6<br/>provenance=false, sbom=false
Buildx->>GHCR: Push multi-arch image
Buildx-->>BuildJob: digest, tags
alt Not_pull_request_event
BuildJob->>GHCR: docker manifest inspect IMAGE_TAG
loop Up_to_3_attempts
GHCR-->>BuildJob: manifest available?
end
else Pull_request_event
BuildJob->>BuildJob: Skip manifest verification
end
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- The manifest verification step currently waits at most ~30s with a fixed interval; consider making the retry count and delay configurable (e.g., via environment variables) or using a longer/backoff-based wait to better tolerate slower ghcr.io propagation without raising spurious warnings.
- Disabling provenance and SBOM generation is hard-coded; if this is intended as a temporary workaround, you might want to gate it behind an input or environment flag so it’s easy to re-enable once the upstream issue is resolved.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- The manifest verification step currently waits at most ~30s with a fixed interval; consider making the retry count and delay configurable (e.g., via environment variables) or using a longer/backoff-based wait to better tolerate slower ghcr.io propagation without raising spurious warnings.
- Disabling provenance and SBOM generation is hard-coded; if this is intended as a temporary workaround, you might want to gate it behind an input or environment flag so it’s easy to re-enable once the upstream issue is resolved.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Test SummaryJob Results
Note: Integration tests temporarily disabled during PyDAL migration Commit: 98fdf24 |
241b326 to
e5d5649
Compare
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Test SummaryJob Results
Note: Integration tests temporarily disabled during PyDAL migration Commit: cea2657 |
- Upgrade docker/build-push-action to v6 - Disable provenance and sbom generation for cleaner manifest structure Fixes #34 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
e5d5649 to
a332cf1
Compare
Test SummaryJob Results
Note: Integration tests temporarily disabled during PyDAL migration Commit: cf48dd4 |
Removes [tar](https://github.com/isaacs/node-tar). It's no longer used after updating ancestor dependency [argon2](https://github.com/ranisalt/node-argon2). These dependencies need to be updated together. Removes `tar` Updates `argon2` from 0.31.2 to 0.44.0 - [Release notes](https://github.com/ranisalt/node-argon2/releases) - [Commits](ranisalt/node-argon2@v0.31.2...v0.44.0) --- updated-dependencies: - dependency-name: tar dependency-version: dependency-type: indirect - dependency-name: argon2 dependency-version: 0.44.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
Test SummaryJob Results
Note: Integration tests temporarily disabled during PyDAL migration Commit: e84c4c3 |
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Test SummaryJob Results
Note: Integration tests temporarily disabled during PyDAL migration Commit: a143637 |
Summary
Problem
The multi-arch Docker builds were creating manifest indexes in ghcr.io but the platform-specific images they referenced were missing ("manifest unknown" errors). This is a known issue with buildx attestation manifests and ghcr.io.
See: docker/build-push-action#820
Test plan
Fixes #34
🤖 Generated with Claude Code
Summary by Sourcery
Update Docker image build workflow to address ghcr.io multi-arch manifest issues and add post-push verification.
Build:
CI: