-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Build multiarch images #1257
Conversation
Signed-off-by: Jose I. Paris <[email protected]>
- dockerfile: app/controlplane/Dockerfile.goreleaser | ||
ids: | ||
- control-plane | ||
- chainloop-plugin-discord-webhook | ||
- chainloop-plugin-smtp | ||
- chainloop-plugin-dependency-track | ||
image_templates: | ||
- "ghcr.io/chainloop-dev/chainloop/control-plane:{{ .Tag }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can this potentially break the images in the charts? Because of the change in the tag basically
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that in the section below we are pushing this tag again, but as multiarch image instead. So basically nothing has changed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nevemind, ignore my comments, I just read https://goreleaser.com/cookbooks/multi-platform-docker-images/#other-things-to-pay-attention-to
It would be useful to help reviewers to show any context of that change, i.e that link. The change is not trivial.
Thanks!
- name_template: "ghcr.io/chainloop-dev/chainloop/control-plane:{{ .Tag }}" | ||
image_templates: | ||
- "ghcr.io/chainloop-dev/chainloop/control-plane:{{ .Tag }}-amd64" | ||
- "ghcr.io/chainloop-dev/chainloop/control-plane:{{ .Tag }}-arm64" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are you sure we are tagging with
"ghcr.io/chainloop-dev/chainloop/control-plane:{{ .Tag }}"?
also, do we need to have a different tag? I thought that it was in the same tag?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tagging is done in docker_manifests
section. Now {{ .Tag }}
and latest
are index manifests.
This PR introduces changes for building multiarch images with goreleaser. Note that it needs
buildx
, which in turn uses qemu binaries (that's the reason for the workflow changes).Basically duplicates all
docker
configurations for both architectures (I've already checked that we use multiarch base images), and adds newdocker_manifests
for the multiarch index manifests.Building locally:
Running (see the warning for AMD in MacOS with Rosetta)
closes #1256