Skip to content

merge queue: embarking main (fbfeeb8) and #43 together#44

Closed
mergify[bot] wants to merge 7 commits intomainfrom
mergify/merge-queue/f009f24b87
Closed

merge queue: embarking main (fbfeeb8) and #43 together#44
mergify[bot] wants to merge 7 commits intomainfrom
mergify/merge-queue/f009f24b87

Conversation

@mergify
Copy link
Copy Markdown
Contributor

@mergify mergify bot commented Mar 7, 2026

🎉 This pull request has been checked successfully and will be merged soon. 🎉

Branch main (fbfeeb8) and #43 are embarked together for merge.

This pull request has been created by Mergify to speculatively check the mergeability of #43.
You don't need to do anything. Mergify will close this pull request automatically when it is complete.

Required conditions of queue default for merge:

  • #changes-requested-reviews-by=0
  • base=main
  • check-success=DCO
  • check-success=build-initramfs (amd64)
  • check-success=build-initramfs (arm64)
  • check-success=build-iso (amd64)
  • check-success=build-iso (arm64)
  • check-success=build-kernel (amd64)
  • check-success=build-kernel (arm64)
  • check-success=download-tools (amd64)
  • check-success=download-tools (arm64)
  • label!=do-not-merge
  • label=ready-to-merge
  • queue-position>=0
  • any of:
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = build-initramfs (amd64)
    • check-neutral = build-initramfs (amd64)
    • check-skipped = build-initramfs (amd64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = build-initramfs (arm64)
    • check-neutral = build-initramfs (arm64)
    • check-skipped = build-initramfs (arm64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = build-kernel (amd64)
    • check-neutral = build-kernel (amd64)
    • check-skipped = build-kernel (amd64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = build-kernel (arm64)
    • check-neutral = build-kernel (arm64)
    • check-skipped = build-kernel (arm64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = download-tools (amd64)
    • check-neutral = download-tools (amd64)
    • check-skipped = download-tools (amd64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = download-tools (arm64)
    • check-neutral = download-tools (arm64)
    • check-skipped = download-tools (arm64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = build-iso (amd64)
    • check-neutral = build-iso (amd64)
    • check-skipped = build-iso (amd64)
  • any of [🛡 GitHub repository ruleset rule main]:
    • check-success = build-iso (arm64)
    • check-neutral = build-iso (arm64)
    • check-skipped = build-iso (arm64)

Required conditions to stay in the queue:

---
checking_base_sha: fbfeeb884d6a0f75d76fabb6e1d84e2223d48aee
previous_failed_batches: []
pull_requests:
  - number: 43
...

jacobweinstock and others added 7 commits March 6, 2026 18:13
crane operates directly on the registry for every mutation — each
append, mutate, or edit-config call creates a new manifest, leaving
the previous one as an untagged image. Over time this accumulated
significant registry garbage that GHCR's permission model made
impossible to clean up automatically.

buildah builds images locally and pushes the finished manifest in a
single operation, producing zero intermediate untagged manifests.
skopeo handles read-side operations (inspect, copy/retag, export).

Split the CI publish job into per-arch and combined stages so the
combined image can depend on per-arch images already in the registry.
Add --force flag to allow overwriting existing images when needed.

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
Documents the progression from ORAS to crane to buildah+skopeo and
the specific problems that motivated each migration.

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
- Remove unused fuse-overlayfs from Dockerfile.release (vfs driver)
- Drop tar from release dependency check (no longer used)
- Raise error on missing layer blob instead of warn+continue
- Replace _safe_tar_extract with safe_extractall (rejects symlinks/devices)
- Make checksum writing idempotent (skip write if content unchanged)
- Rename --target 'both' to 'combined' across CLI, OCI, CI, and release

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
- Fix _build_platform_image docstring (timestamp applies to all commits)
- Remove unused arch param from _publish_single_arch
- Skip publish recap when combined image already exists
- Fix copy() docstring: refs don't include docker:// prefix
- Fix blob lookup order: try verbatim digest first
- Forward registry auth env vars into release container
- Update README: replace crane references with buildah/skopeo

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
Use a temporary local manifest name to avoid collisions on repeated
publishes, and remove local manifests and intermediate images in a
finally block after push completes.

Signed-off-by: Jacob Weinstock <jakobweinstock@gmail.com>
@mergify mergify bot mentioned this pull request Mar 7, 2026
3 tasks
@mergify mergify bot closed this Mar 7, 2026
@mergify mergify bot deleted the mergify/merge-queue/f009f24b87 branch March 7, 2026 05:16
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