From b718e602e3c25f61418016b6c099eb2bece17303 Mon Sep 17 00:00:00 2001 From: Tig Date: Thu, 11 Jun 2026 10:19:16 -0600 Subject: [PATCH] Notify gui-cs/Editor on NuGet publish Dispatches `terminal-gui-published` (payload: the published SemVer) to gui-cs/Editor after each publish. Editor's bump-terminal-gui.yml picks it up, pins the new version, validates with its full test suites, and republishes Editor against it - making Editor a continuous canary for TG API churn (see Editor specs/decisions.md DEC-010). No-op until an EDITOR_DISPATCH_TOKEN secret (PAT with repo scope on gui-cs/Editor) is configured; Editor also polls NuGet on a 6h schedule as a fallback, so nothing breaks without it. Co-Authored-By: Claude Fable 5 --- .github/workflows/publish.yml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 4edca3343e..b1a30a2e12 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -119,4 +119,20 @@ jobs: token: ${{ secrets.TEMPLATE_REPO_TOKEN }} repository: gui-cs/Terminal.Gui.templates event-type: terminal-gui-v2-released - client-payload: ${{ steps.payload.outputs.json }} + client-payload: ${{ steps.payload.outputs.json }} + + # Notify gui-cs/Editor so its bump-terminal-gui.yml workflow can pin the + # just-published version, validate, and republish Editor against it + # (Editor is the continuous canary for TG API churn — see Editor's + # specs/decisions.md DEC-010). Editor also polls NuGet on a schedule, so a + # missing token degrades gracefully. + # Requires EDITOR_DISPATCH_TOKEN: a PAT with `repo` scope on gui-cs/Editor. + - name: Notify gui-cs/Editor of publish + if: ${{ secrets.EDITOR_DISPATCH_TOKEN != '' }} + continue-on-error: true + uses: peter-evans/repository-dispatch@v4 + with: + token: ${{ secrets.EDITOR_DISPATCH_TOKEN }} + repository: gui-cs/Editor + event-type: terminal-gui-published + client-payload: '{"version":"${{ steps.gitversion.outputs.SemVer }}"}'