Add multi-arch image build and push to Quay.io#4
Conversation
Add image-build-push workflow using Quay robot account secrets (QUAY_ROBOT_USERNAME/QUAY_ROBOT_TOKEN), multi-arch builds (amd64+arm64), and standard tagging (SHA, pr-N, version, latest). Update Containerfile with OCI labels and remove hardcoded GOARCH for multi-platform support. Update CI image-build job with OCI label validation. Based on clcollins/dwarfbot image-build-push workflow with PR #11 changes. Created with assistance from Claude 🤖 <claude@anthropic.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Christopher Collins <collins.christopher@gmail.com>
There was a problem hiding this comment.
Pull request overview
Adds automated multi-arch (amd64/arm64) container image build & publish to Quay.io, and standardizes image metadata via OCI labels so the CI pipeline can validate built artifacts.
Changes:
- Add OCI/metadata labels to the runtime image and remove the hardcoded
GOARCHto support multi-platform builds. - Introduce a new GitHub Actions workflow to build amd64+arm64 images and push a multi-arch manifest to Quay on main/tag events.
- Update existing CI container build job to use Podman and validate required OCI labels via
podman inspect.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
Containerfile |
Enables multi-arch builds and adds OCI + project-specific labels via build args. |
.github/workflows/image-build-push.yaml |
New workflow to build amd64/arm64 images, create a manifest list, and push tags to Quay (skips push on PRs). |
.github/workflows/ci.yaml |
Switches CI image build to Podman and adds label validation checks. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Remove quotes from Containerfile ARG defaults to prevent literal quote characters in label values. Update PR build log messages to accurately reflect that only the SHA manifest is created locally. Created with assistance from Claude 🤖 <claude@anthropic.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Christopher Collins <collins.christopher@gmail.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Use quay.io/chcollin/gort in both workflows to match the Makefile IMAGE_REGISTRY default, avoiding mismatch between CI and local builds. Created with assistance from Claude 🤖 <claude@anthropic.com> Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Christopher Collins <collins.christopher@gmail.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@clcollins PR #4 has been fully qualified. Qualification Summary:
Intent validation: The PR still fulfills its original intent. All changes made during qualification (Copilot feedback on ARG quoting, log message accuracy, and registry name consistency) are consistent with the PR's purpose of adding multi-arch image build and push to Quay.io. This PR is ready to merge. Qualified by Claude on behalf of @clcollins |
4c7d59f
into
claude/add-copilot-evaluation-R8OiQ
Summary
image-build-push.yamlworkflow for multi-arch (amd64+arm64) container image builds pushed toquay.io/chcollin/gortQUAY_ROBOT_USERNAME/QUAY_ROBOT_TOKEN) matching dwarfbot PR docs: add setup guide for integrations #11Containerfilewith OCI labels and remove hardcodedGOARCHfor multi-platform supportimage-buildjob to validate OCI labels with podmanTest plan
QUAY_ROBOT_USERNAMEandQUAY_ROBOT_TOKENsecrets are set in repo settingsquay.io/chcollin/gort:latest🤖 Generated with Claude Code