[pull] main from Comfy-Org:main #64
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
| --- | |
| # 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, synchronize] | |
| 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 for preview labels. | |
| # - labeled: fires when a label is added; check the added label name. | |
| # - synchronize: fires on push; check existing labels on the PR. | |
| if: > | |
| github.repository == 'Comfy-Org/ComfyUI_frontend' && | |
| (github.event_name != 'pull_request' || | |
| (github.event.pull_request.head.repo.fork == false && | |
| ((github.event.action == 'labeled' && | |
| contains(fromJSON('["preview","preview-cpu","preview-gpu"]'), github.event.label.name)) || | |
| (github.event.action == 'synchronize' && | |
| (contains(github.event.pull_request.labels.*.name, 'preview') || | |
| contains(github.event.pull_request.labels.*.name, 'preview-cpu') || | |
| contains(github.event.pull_request.labels.*.name, 'preview-gpu')))))) | |
| 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 }} | |
| PR_NUMBER: ${{ github.event.pull_request.number }} | |
| ACTION: ${{ github.event.action }} | |
| LABEL_NAME: ${{ github.event.label.name }} | |
| PR_LABELS: ${{ toJson(github.event.pull_request.labels.*.name) }} | |
| run: | | |
| if [ "${EVENT_NAME}" = "pull_request" ]; then | |
| REF="${PR_HEAD_SHA}" | |
| BRANCH="${PR_HEAD_REF}" | |
| # Derive variant from all PR labels (default to cpu for frontend-only previews) | |
| VARIANT="cpu" | |
| echo "${PR_LABELS}" | grep -q '"preview-gpu"' && VARIANT="gpu" | |
| else | |
| REF="${GITHUB_SHA}" | |
| BRANCH="${GITHUB_REF_NAME}" | |
| PR_NUMBER="" | |
| VARIANT="" | |
| fi | |
| payload="$(jq -nc \ | |
| --arg ref "${REF}" \ | |
| --arg branch "${BRANCH}" \ | |
| --arg pr_number "${PR_NUMBER}" \ | |
| --arg variant "${VARIANT}" \ | |
| '{ref: $ref, branch: $branch, pr_number: $pr_number, variant: $variant}')" | |
| 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 }} |