fix: Stop the manual release from publishing a gateway image - #186
Conversation
The manual release still built this repository's Dockerfile and pushed it to ghcr.io/datum-cloud/iroh-gateway, tagged with the app version. The gateway moved to datum-cloud/iroh-gateway in April (0729523), which also removed the gateway subcommand from datum-connect, so the image this job built could never start a gateway. The edge tracks ghcr.io/datum-cloud/iroh-gateway with a semver image policy. App v0.1.4 outranked the gateway's own v0.1.0, Flux rolled the app-built image out, and every pod exited with "unexpected argument '--port' found". Remove the publish_docker input, the publish-docker job, the Dockerfile and .dockerignore. datum-cloud/iroh-gateway stays the only publisher of that image. Closes #185 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mcy6SZHB23ewuDivM6uAUi
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Mcy6SZHB23ewuDivM6uAUi
|
Second-pass verdicts: pr-rereviewer returned VERDICT merge, with all four applied findings (three body blockers, one title nit) confirmed fixed at this head. pr-conventions-reviewer returned VERDICT merge, calling the change a deletion-only CI config edit with no dangling references and no collision with an open PR. pr-rereviewer ran actionlint against .github/workflows/manual-release.yml, finding only pre-existing shellcheck info notes, then resolved ghcr.io/datum-cloud/iroh-gateway:v0.1.4 and v0.1.0 directly against the registry and confirmed infra's edge and edge-beta overlays stay pinned to v0.1.0. The fix diff was empty going into this pass, since the head was unchanged from the first pass's fixes. pr-conventions-reviewer checked the workflow deletion for dangling references and for collisions with other open pull requests, and found neither. The body and title findings from the first pass landed in commit 6662afd (the workflow removal and the body rewrite) and commit 254aef9 (dropping a stray worktree file). Ahead of this ready phase, one remaining nit from pr-conventions-reviewer's second pass went in: the Summary now reads as two paragraphs, problem and symptom in the first, the fix in the second, posted as a PR body edit rather than a commit. The other two nits, lowercasing a commit subject and adding a Closes trailer, were left as is, since fixing them needs a commit rewrite and force-push the author declined. CI is green: ci (macos-latest), ci (ubuntu-latest), ci (windows-2022), and license/cla all pass. Auto-merge is on, set to merge. The branch's organization ruleset requires one approving review, a code owner review, and approval of the last push, and dismisses stale reviews on every push, so auto-merge here waits for a human to approve this head before it can complete. |
kevwilliams
left a comment
There was a problem hiding this comment.
Confirms the fix: removes the publish-docker job, its publish_docker input, and the now-unused Dockerfile/.dockerignore from manual-release.yml, leaving the gateway's own repo as the only publisher of that image. No other workflow in this repo references these files, so this doesn't affect any other release path. Clean, correctly scoped removal.
Summary
Desktop app releases published a broken image to the gateway's container registry, and the edge rolled it out. The image ran a gateway subcommand this repository dropped months ago, so the edge started the container with flags it doesn't recognize, and it exited immediately.
This change removes the job that built and published that image, leaving the gateway's own repository as the sole publisher.
Note
The app-built
v0.1.4tag is still in the registry. While it exists, the semver policy still resolves to it, so the edge must stay pinned until someone deletes the tag or tightens the policy in infra.Test plan
actionlintreports no errors on the workflow, only pre-existing shellcheck info notesgit grepfinds no other reference to the removed filesFixes #185
🤖 Generated with Claude Code
https://claude.ai/code/session_01Mcy6SZHB23ewuDivM6uAUi