From b7d1dab68fbc589fd2c4ee7c34a13c189af7917c Mon Sep 17 00:00:00 2001 From: Karl Rister Date: Tue, 14 Apr 2026 12:35:44 -0500 Subject: [PATCH] feat: switch controller-build to repository_dispatch Replace the reusable workflow call with a repository_dispatch to crucible so all controller builds run in crucible's context with working cross-repo concurrency. Co-Authored-By: Claude Opus 4.6 (1M context) --- .github/workflows/controller-build.yaml | 28 +++++++++++++++++-------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/.github/workflows/controller-build.yaml b/.github/workflows/controller-build.yaml index 3af499a..230eef2 100644 --- a/.github/workflows/controller-build.yaml +++ b/.github/workflows/controller-build.yaml @@ -9,14 +9,24 @@ on: - .github/workflows/controller-build.yaml workflow_dispatch: -concurrency: - group: build-publish-controller - cancel-in-progress: true - jobs: - call-build-publish-controller: + dispatch: if: github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true - uses: perftool-incubator/crucible/.github/workflows/build-publish-controller.yaml@master - with: - ci_target: "multiplex" - secrets: inherit + runs-on: ubuntu-latest + steps: + - name: Generate app token + id: app-token + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ vars.APP_ID__CRUCIBLE_WORKFLOW_DISPATCH }} + private-key: ${{ secrets.PRIVATE_KEY__CRUCIBLE_WORKFLOW_DISPATCH }} + owner: perftool-incubator + repositories: crucible + + - name: Dispatch controller build + run: | + curl -s -X POST \ + -H "Authorization: Bearer ${{ steps.app-token.outputs.token }}" \ + -H "Accept: application/vnd.github+json" \ + "https://api.github.com/repos/perftool-incubator/crucible/dispatches" \ + -d '{"event_type":"controller-build","client_payload":{"ci_target":"multiplex"}}'