ci: notify cloud when master gains code it builds against - #6926
Merged
Conversation
Cloud consumes this repository through the replace directives in its go.mod, and two workflows already tell it when something changes: notify-cloud.yml on every pull request, and notify-cloud-deps.yml when go.mod or go.sum move. Neither covers a master push that only changes Go source. That gap reddened cloud master on 2026-08-18. The cloud half of session recording retention merged at 18:14:19 and this repository's half at 18:14:40, so cloud's QA run started between the two and failed on symbols that had not landed yet. Nothing told cloud when they did, so master stayed red for about fifteen hours, until an unrelated push happened to re-run it. This dispatches shellhub-master after a master push that touches pkg/ or server/, the two modules cloud replaces; its QA accepts that event. The second merge of a pair now repairs the first, and a commit here that breaks cloud surfaces when it lands rather than whenever cloud next pushes. Needs the matching trigger in shellhub-io/cloud. Until that merges the dispatch is simply ignored, so the two can land in either order.
Code Review CompleteThe automated review ran but did not post an updated summary — this usually means no new issues were found since the previous review. If you've pushed changes and want a fresh pass, comment |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
Dispatches a
shellhub-masterevent to shellhub-io/cloud after a master push that touches theGo trees cloud builds against, so cloud can re-validate its own master.
Why
Cloud consumes this repository through the replace directives in its
go.mod. Two workflowsalready notify it:
notify-cloud.ymlon every pull request, andnotify-cloud-deps.ymlwhengo.modorgo.summove. Neither covers a master push that only changes Go source.That gap turned a merge-order race into a lasting red. Cloud master QA resolves the shellhub ref
by branch name and falls back to
master, so a change spanning both repositories lands as twomerges and the first one builds against a sibling missing the other half.
On 2026-08-18 the cloud half of session recording retention merged at 18:14:19 and this
repository's half at 18:14:40. Cloud's QA run started three seconds after the first merge and
eighteen seconds before the second, and failed on symbols that had not landed yet. Nothing told
cloud when they did, so its master stayed red for about fifteen hours, until an unrelated push
happened to re-run QA.
Changes
notify-cloud-master.yml: on a master push touchingpkg/**,server/**,go.modorgo.sum, dispatchshellhub-masterto cloud. Path-filtered to the two modules cloud replaces;the ui, docs, gateway and agent trees are not on its build path.
CLOUD_DISPATCH_APP_IDapp token and the pinned action SHAs the twosibling workflows already use.
permissions: {}— the job needs none of its own.Beyond repairing the race, this also surfaces the other direction: a commit here that removes a
symbol cloud uses now reddens cloud master when it lands, instead of whenever cloud next pushes.
Testing
Cannot be exercised before merge — the trigger only fires from the default branch.
actionlintreports no findings on the new file.
Pairs with shellhub-io/cloud#2503, which adds the matching
repository_dispatchtrigger.Until that merges the dispatch is simply ignored, so the two can land in either order.