Skip to content

Move container image build to explicit workflow steps#9

Merged
conallob merged 2 commits into
mainfrom
claude/release-container-push
May 6, 2026
Merged

Move container image build to explicit workflow steps#9
conallob merged 2 commits into
mainfrom
claude/release-container-push

Conversation

@conallob
Copy link
Copy Markdown
Owner

@conallob conallob commented May 6, 2026

Summary

  • Removes dockers and docker_manifests from .goreleaser.yaml — goreleaser's podman integration was not reliably pushing images
  • Adds three explicit steps to the release workflow that own the full container image lifecycle independently of goreleaser:
    1. Build Linux binaries — cross-compiles linux/amd64 and linux/arm64 with the tag version stamped via -ldflags
    2. Build and push per-arch imagespodman build --platform=linux/<arch> + podman push for each arch, with OCI annotation labels
    3. Push multi-arch manifestpodman manifest create/push for both :<tag> and :latest

goreleaser continues to handle binaries, archives, checksums, and the Homebrew formula unchanged.


Generated by Claude Code

goreleaser's podman integration proved unreliable for pushing images.
The workflow now owns the full container image lifecycle:

1. goreleaser handles binaries, archives, checksums, and Homebrew as
   before (dockers/docker_manifests sections removed from config)
2. A dedicated go build step cross-compiles linux/amd64 and linux/arm64
   binaries with the correct ldflags version stamp
3. podman build produces per-arch images with OCI labels
4. podman push uploads each arch image to ghcr.io
5. podman manifest create/push assembles and pushes the multi-arch
   manifest for both :<tag> and :latest
Comment thread .goreleaser.yaml Outdated
@conallob conallob merged commit 075651d into main May 6, 2026
2 checks passed
@conallob conallob deleted the claude/release-container-push branch May 6, 2026 11:56
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