cd: align container build and publish process with the storacha RFC - #403
Merged
Conversation
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.
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. |
Member
|
Awesome! Sorry for the post-facto, but 👍🏻 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves container publishing out of goreleaser into a dedicated
Containerworkflow. Adds
mainandsha-<short>tags on push to main, a PRbuild-check, and RFC-aligned Dockerfile (alpine:latest runtime, USER
nobody,
--platform=$BUILDPLATFORMcross-compilation, no RUN in theruntime 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 installplaced 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.