ci(docker): use zstd compression for release images#281
Conversation
📝 WalkthroughWalkthroughThe Docker build-and-push step in the GitHub Actions release workflow now includes Zstd compression (level 3) and force-compression settings in the Buildx outputs configuration, replacing the previous digest-only pushing approach. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR adds zstd compression ( Confidence Score: 5/5This PR is safe to merge — the change is a single-line CI tweak with no logic risk. The only change is appending three well-documented Docker Buildx output options (compression, compression-level, force-compression) to an existing outputs string. All options are valid for the type=image exporter, Docker Hub supports zstd-compressed OCI layers, and the downstream imagetools create promotion step is unaffected. No P0/P1 findings exist. No files require special attention. Important Files Changed
Sequence DiagramsequenceDiagram
participant GHA as GitHub Actions
participant Buildx as Docker Buildx
participant DH as Docker Hub
GHA->>Buildx: Build multi-platform image (amd64, arm64, arm/v7)
Note over Buildx: compression=zstd<br/>compression-level=3<br/>force-compression=true
Buildx->>DH: Push layer blobs (zstd-compressed) by digest
DH-->>Buildx: Digest per platform
Buildx-->>GHA: outputs.digest
GHA->>Buildx: imagetools create (docker-promote)
Note over Buildx: Assemble multi-arch manifest<br/>pointing to existing digests
Buildx->>DH: Push manifest (semver + latest tags)
DH-->>GHA: Tagged release published
Reviews (1): Last reviewed commit: "ci(docker): use zstd compression for rel..." | Re-trigger Greptile |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
.github/workflows/release.yml (1)
17-17: 🧹 Nitpick | 🔵 TrivialStale step name.
The job name still says "Build and push Docker image by digest" which is accurate, but worth noting this step now also dictates the on-wire compression for every published tag (since
docker-promoteusesimagetools createwhich copies blobs as-is). Consider updating the job description/comment to mention zstd so future readers understand why pulls behave differently across runtimes.🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.github/workflows/release.yml at line 17, Update the job name/comment "Build and push Docker image by digest" to reflect that it now also dictates on-wire compression (zstd) for published tags; specifically, change the visible job name or add a clarifying comment in the workflow so it mentions zstd/on-wire compression and that docker-promote uses `imagetools create` which copies blobs as-is, so pulls may differ across runtimes.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In @.github/workflows/release.yml:
- Line 17: Update the job name/comment "Build and push Docker image by digest"
to reflect that it now also dictates on-wire compression (zstd) for published
tags; specifically, change the visible job name or add a clarifying comment in
the workflow so it mentions zstd/on-wire compression and that docker-promote
uses `imagetools create` which copies blobs as-is, so pulls may differ across
runtimes.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 98789765-86c3-4470-8c4c-da0c9146330a
📒 Files selected for processing (1)
.github/workflows/release.yml
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Summary
Validation
git commitpassedSummary by CodeRabbit