From 84379f3042da6710553debc0e93aafe189926b15 Mon Sep 17 00:00:00 2001 From: Joseph Mearman Date: Thu, 3 Sep 2026 12:28:47 +0100 Subject: [PATCH] feat(ci): notify novus-power/hive on release via repository_dispatch hive depends on trilean directly and currently only picks up a new release through Dependabot's weekly scan plus its own cooldown, even though hive's own pnpm/Dependabot config already exempts trilean from that cooldown as an ExaDev-owned package. Firing sibling-released the moment a release actually publishes, the same pattern the documents.js family already uses for its own sibling packages, closes that gap instead of waiting on the next scheduled scan. Authenticates as the ExaSpot App rather than the org-wide 'exadev' App used for the release push above, since ExaSpot is the one installed on novus-power/hive specifically -- a different org from ExaDev, where the org-wide App was never installed. --- .github/workflows/ci.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3071149..c04ca87 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -233,6 +233,34 @@ jobs: id: after run: echo "version=$(node -p "require('./package.json').version")" >> "$GITHUB_OUTPUT" + notify-hive: + name: Notify novus-power/hive + needs: release + if: needs.release.outputs.published == 'true' + runs-on: ubuntu-latest + timeout-minutes: 5 + permissions: + contents: read + steps: + # ExaSpot, unlike the org-wide 'exadev' App used for the release push above, is installed specifically on novus-power/hive (a different org from ExaDev) rather than org-wide -- owner has to be given explicitly since the App's own installation context otherwise defaults to this workflow's own repository owner (ExaDev), not novus-power. + - name: Generate a token for cross-org dispatch to novus-power/hive + id: app-token + uses: actions/create-github-app-token@v2 + with: + app-id: "4816274" + private-key: ${{ secrets.HIVE_DISPATCH_APP_PRIVATE_KEY }} + owner: novus-power + repositories: | + hive + - name: Dispatch sibling-released event to novus-power/hive + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + run: | + gh api "repos/novus-power/hive/dispatches" \ + -f event_type=sibling-released \ + -F "client_payload[package]=trilean" \ + -F "client_payload[version]=${{ needs.release.outputs.version }}" + publish-github-packages: name: Publish mirror to GitHub Packages needs: release