You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opened on behalf of Matt Rubens. Follow up by mentioning @openmote, in the web UI, or in Slack.
What changed
After each successful GHCR publish on main, the notify-ops job now sends a repository_dispatch of type roomote-main-build to the ops repo named by ROOMOTE_OPS_REPO, with the same image_tag / sha / ref client payload shape as develop (image_tag is the immutable main-<short-sha> published for that build). Develop continues to fire roomote-develop-build.
Why this change was made
The main-channel ops receiver stays inert until the public Roomote publish workflow emits roomote-main-build. Wire the publisher side so main merges and image publishes can drive production autoship the same way develop already does for preview.
Impact
No user-facing product change. Opener of the production autoship path: successful main image publishes notify the configured ops repository when the dispatch token and ROOMOTE_OPS_REPO are set (still skipped for forks with the variable unset). Treat main merges as production releases; autoship does not pause for Postgres backups.
Reviewed the notify-ops change in .github/workflows/publish-ghcr.yml. The if gate now allows both develop and main pushes, and the case "$GITHUB_REF" block selects roomote-main-build / main-<short-sha> for main and keeps roomote-develop-build / develop-<short-sha> for develop. The image_tag matches the immutable tag the prepare job already publishes for each branch (main was already a build/publish trigger before this PR), so the dispatched tag points at a real image. The defensive *) branch is unreachable given the job if, but harmless. needs: publish keeps the dispatch gated on a successful publish, and docs-only pushes stay skipped through the needs chain.
Non-blocking note: the main-/develop-image_tag string is recomputed here rather than consumed from needs.prepare.outputs.version, so the two definitions could drift if the tag format changes. This mirrors the pre-existing develop pattern, so no change required.
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
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.
What changed
After each successful GHCR publish on
main, thenotify-opsjob now sends arepository_dispatchof typeroomote-main-buildto the ops repo named byROOMOTE_OPS_REPO, with the sameimage_tag/sha/refclient payload shape as develop (image_tagis the immutablemain-<short-sha>published for that build). Develop continues to fireroomote-develop-build.Why this change was made
The main-channel ops receiver stays inert until the public Roomote publish workflow emits
roomote-main-build. Wire the publisher side so main merges and image publishes can drive production autoship the same way develop already does for preview.Impact
No user-facing product change. Opener of the production autoship path: successful
mainimage publishes notify the configured ops repository when the dispatch token andROOMOTE_OPS_REPOare set (still skipped for forks with the variable unset). Treat main merges as production releases; autoship does not pause for Postgres backups.