Skip to content

cd: align container build and publish process with the storacha RFC - #403

Merged
frrist merged 2 commits into
mainfrom
frrist/ci/docker-releases
Apr 16, 2026
Merged

cd: align container build and publish process with the storacha RFC#403
frrist merged 2 commits into
mainfrom
frrist/ci/docker-releases

Conversation

@frrist

@frrist frrist commented Apr 16, 2026

Copy link
Copy Markdown
Member
  • Moves container publishing out of goreleaser into a dedicated Container
    workflow. Adds main and sha-<short> tags on push to main, a PR
    build-check, and RFC-aligned Dockerfile (alpine:latest runtime, USER
    nobody, --platform=$BUILDPLATFORM cross-compilation, no RUN in the
    runtime stage so QEMU is not required).

  • Adds ghcr.io/storacha/guppy:main-dev and :sha--dev images so
    developers can pull a guppy container that mirrors prod but ships with
    delve, randdir, and diagnostic tools for debugging. Extends the PR
    build-check to validate Dockerfile.dev too, and fixes a latent
    cross-compile bug where go install placed delve/randdir under
    /go/bin/linux_/ but the COPY targeted /go/bin/ — arm64 builds of
    the dev image would have failed. QEMU is set up only for the dev job
    since the prod runtime stage still has no RUN commands.

frrist added 2 commits April 16, 2026 10:41
Moves container publishing out of goreleaser into a dedicated `Container`
workflow. Adds `main` and `sha-<short>` tags on push to main, a PR
build-check, and RFC-aligned Dockerfile (alpine:latest runtime, USER
nobody, `--platform=$BUILDPLATFORM` cross-compilation, no RUN in the
runtime stage so QEMU is not required).
Adds ghcr.io/storacha/guppy:main-dev and :sha-<short>-dev images so
developers can pull a guppy container that mirrors prod but ships with
delve, randdir, and diagnostic tools for debugging. Extends the PR
build-check to validate Dockerfile.dev too, and fixes a latent
cross-compile bug where `go install` placed delve/randdir under
/go/bin/linux_<arch>/ but the COPY targeted /go/bin/ — arm64 builds of
the dev image would have failed. QEMU is set up only for the dev job
since the prod runtime stage still has no RUN commands.
@frrist frrist self-assigned this Apr 16, 2026
@frrist

frrist commented Apr 16, 2026

Copy link
Copy Markdown
Member Author

Given this is more or less a port of the container release process used by piri, indexing-service, etc. I am going to land without review as I am tired of building containers locally. If this breaks main wil fix ofc.

@frrist
frrist merged commit e87fba3 into main Apr 16, 2026
7 checks passed
@Peeja

Peeja commented Apr 17, 2026

Copy link
Copy Markdown
Member

Awesome! Sorry for the post-facto, but 👍🏻

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