Skip to content

Mirror operator image to Gamewarden registry on tag push#458

Merged
esarafianou merged 1 commit into
masterfrom
gamewarden
May 5, 2026
Merged

Mirror operator image to Gamewarden registry on tag push#458
esarafianou merged 1 commit into
masterfrom
gamewarden

Conversation

@esarafianou

Copy link
Copy Markdown
Contributor

Summary

After pushing the operator image to Docker Hub, also publish it to the Gamewarden Harbor registry.

Ticket Link

N/A

Release Note

NONE

After pushing the operator image to Docker Hub, also publish it to the
Gamewarden Harbor registry. Uses `docker buildx imagetools create` to
copy the manifest server-side, preserving the source digest and any
multi-arch manifests without pulling layers to the runner.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mm-cloud-bot mm-cloud-bot added the release-note-none Denotes a PR that doesn't merit a release note. label May 4, 2026
@esarafianou esarafianou requested review from NARSimoes and dgwhited May 4, 2026 18:12
@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The continuous delivery workflow adds authentication to the Gamewarden Harbor registry and mirrors the built operator Docker image from the Mattermost registry to the Gamewarden registry on every tag push.

Changes

Image Mirroring to Gamewarden Registry

Layer / File(s) Summary
Workflow Configuration
.github/workflows/cd.yml
Two new steps added to the build job: (1) authenticate to registry.gamewarden.io using Gamewarden registry credentials; (2) copy the operator image from mattermost/mattermost-operator:${{ github.ref_name }} to registry.gamewarden.io/mattermost/mattermost-operator:${{ github.ref_name }} via docker buildx imagetools create.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and specifically describes the main change: mirroring the operator image to Gamewarden registry on tag push.
Description check ✅ Passed The description is directly related to the changeset, clearly explaining the purpose of publishing the operator image to Gamewarden Harbor registry.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch gamewarden

Review rate limit: 4/5 reviews remaining, refill in 12 minutes.

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/cd.yml:
- Around line 47-52: The workflow currently mirrors a mutable tag (in job
cd/push-operator-to-gamewarden) which can drift; resolve the source image digest
first using docker buildx imagetools inspect and the correct template field
.Manifest.Digest (capture into a variable like SRC_DIGEST), then mirror using
the stable repo@sha256:... reference instead of the tag so the push to
registry.gamewarden.io/mattermost/mattermost-operator uses the resolved digest;
ensure the inspect command uses --format '{{.Manifest.Digest}}' (not
'{{.Digest}}') and replace the source argument in the imagetools create step
with the repo@${SRC_DIGEST} form.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fc6affad-1f46-4426-8a00-a7841b688d79

📥 Commits

Reviewing files that changed from the base of the PR and between 95f6b8a and 29041f0.

📒 Files selected for processing (1)
  • .github/workflows/cd.yml

Comment thread .github/workflows/cd.yml
@esarafianou

Copy link
Copy Markdown
Contributor Author

@coderabbitai resolve

@coderabbitai

coderabbitai Bot commented May 4, 2026

Copy link
Copy Markdown
✅ Actions performed

Comments resolved and changes approved.

@esarafianou esarafianou merged commit f890db6 into master May 5, 2026
14 checks passed
@esarafianou esarafianou deleted the gamewarden branch May 5, 2026 07:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-note-none Denotes a PR that doesn't merit a release note.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants