--- # Dispatches a frontend-asset-build event to the cloud repo on push to # cloud/* branches and main. The cloud repo handles the actual build, # GCS upload, and secret management (Sentry, Algolia, GCS creds). # # This is fire-and-forget — it does NOT wait for the cloud workflow to # complete. Status is visible in the cloud repo's Actions tab. name: Cloud Frontend Build Dispatch on: push: branches: - 'cloud/*' - 'main' pull_request: types: [labeled] workflow_dispatch: permissions: {} concurrency: group: cloud-dispatch-${{ github.ref }} cancel-in-progress: true jobs: dispatch: # Fork guard: prevent forks from dispatching to the cloud repo. # For pull_request events, only dispatch when the 'preview' label is added. if: > github.repository == 'Comfy-Org/ComfyUI_frontend' && (github.event_name != 'pull_request' || github.event.label.name == 'preview') runs-on: ubuntu-latest steps: - name: Build client payload id: payload env: EVENT_NAME: ${{ github.event_name }} PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }} PR_HEAD_REF: ${{ github.event.pull_request.head.ref }} run: | if [ "${EVENT_NAME}" = "pull_request" ]; then REF="${PR_HEAD_SHA}" BRANCH="${PR_HEAD_REF}" else REF="${GITHUB_SHA}" BRANCH="${GITHUB_REF_NAME}" fi payload="$(jq -nc \ --arg ref "${REF}" \ --arg branch "${BRANCH}" \ '{ref: $ref, branch: $branch}')" echo "json=${payload}" >> "${GITHUB_OUTPUT}" - name: Dispatch to cloud repo uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # v4.0.1 with: token: ${{ secrets.CLOUD_DISPATCH_TOKEN }} repository: Comfy-Org/cloud event-type: frontend-asset-build client-payload: ${{ steps.payload.outputs.json }}