Skip to content

ci: dispatch tag push to Comfy Cloud#13541

Open
MillerMedia wants to merge 2 commits intomasterfrom
cloud-tag-dispatch
Open

ci: dispatch tag push to Comfy Cloud#13541
MillerMedia wants to merge 2 commits intomasterfrom
cloud-tag-dispatch

Conversation

@MillerMedia
Copy link
Copy Markdown
Contributor

Summary

  • Adds .github/workflows/tag-dispatch-cloud.yml that fires on v* tag push and triggers a repository_dispatch (event_type: comfyui_tag_pushed) on Comfy-Org/cloud.
  • Uses tag push rather than release.published so cloud gets the signal immediately — release object creation can lag the tag.
  • Legacy Comfy-Org/desktop dispatch in release-webhook.yml is intentionally left alone.

Prereqs before merging

  • Add repo secret CLOUD_REPO_DISPATCH_TOKEN — PAT/fine-grained token with repository_dispatch write on Comfy-Org/cloud.
  • Add matching repository_dispatch listener in Comfy-Org/cloud for types: [comfyui_tag_pushed].

Payload

{
  "event_type": "comfyui_tag_pushed",
  "client_payload": {
    "release_tag": "v0.19.6",
    "release_url": "https://github.com/Comfy-Org/ComfyUI/releases/tag/v0.19.6"
  }
}

release_url is constructed from the tag — GitHub serves that URL even before a release is cut.

Test plan

  • Confirm CLOUD_REPO_DISPATCH_TOKEN secret exists in repo settings.
  • Push a throwaway v0.0.0-test tag (or wait for next real release) and confirm workflow run succeeds.
  • Confirm Comfy-Org/cloud receives the dispatch and its listener fires.

🤖 Generated with Claude Code

@socket-security
Copy link
Copy Markdown

socket-security Bot commented Apr 24, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addedyarl@​1.23.0100100100100100

View full report

@MillerMedia MillerMedia marked this pull request as ready for review April 24, 2026 03:06
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 24, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 214c211e-692f-460f-85a0-7d1b216e5a85

📥 Commits

Reviewing files that changed from the base of the PR and between 8e9675c and c77ab1c.

📒 Files selected for processing (1)
  • .github/workflows/tag-dispatch-cloud.yml
✅ Files skipped from review due to trivial changes (1)
  • .github/workflows/tag-dispatch-cloud.yml

📝 Walkthrough

Walkthrough

Adds a new GitHub Actions workflow triggered on tag pushes matching v*. The workflow runs a single Ubuntu job that checks CLOUD_REPO_DISPATCH_TOKEN is set, derives RELEASE_TAG from github.ref_name, builds a release_url, assembles a JSON payload with event_type: "comfyui_tag_pushed" and client_payload containing release_tag and release_url, and sends this payload to a remote repository via the repository dispatch API using a Bearer token. A success message is logged after dispatch.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely describes the main change: adding a CI workflow that dispatches tag pushes to the Comfy Cloud repository.
Description check ✅ Passed The description is comprehensive and directly related to the changeset, covering the workflow's purpose, design rationale, prerequisites, payload structure, and testing instructions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
.github/workflows/tag-dispatch-cloud.yml (1)

37-43: Harden the dispatch call for transient GitHub API/network failures.

Line 37 uses a single-shot curl; a brief 5xx/timeout can drop the tag signal. Add bounded retries + timeouts to improve delivery reliability.

Suggested diff
-          curl -fsSL \
+          curl -fsSL \
+            --retry 5 \
+            --retry-delay 2 \
+            --retry-all-errors \
+            --connect-timeout 10 \
+            --max-time 60 \
             -X POST \
             -H "Accept: application/vnd.github+json" \
             -H "Content-Type: application/json" \
             -H "Authorization: Bearer ${DISPATCH_TOKEN}" \
             https://api.github.com/repos/Comfy-Org/cloud/dispatches \
             -d "$PAYLOAD"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/tag-dispatch-cloud.yml around lines 37 - 43, The
single-shot curl POST to https://api.github.com/repos/Comfy-Org/cloud/dispatches
using DISPATCH_TOKEN and PAYLOAD is fragile; replace it with a bounded retry +
timeout strategy so transient 5xx/timeouts won't drop the dispatch. Implement a
retry loop around the curl invocation (referencing the existing curl command,
DISPATCH_TOKEN and PAYLOAD) that uses a per-request timeout (e.g., curl
--max-time or equivalent), retries a limited number of times (e.g., 3–5
attempts) with a small backoff between attempts, treats non-2xx responses as
failures to retry, and exits non-zero after exhausting attempts so the workflow
fails visibly. Ensure the final failure logs the last HTTP status/body for
debugging.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In @.github/workflows/tag-dispatch-cloud.yml:
- Around line 37-43: The single-shot curl POST to
https://api.github.com/repos/Comfy-Org/cloud/dispatches using DISPATCH_TOKEN and
PAYLOAD is fragile; replace it with a bounded retry + timeout strategy so
transient 5xx/timeouts won't drop the dispatch. Implement a retry loop around
the curl invocation (referencing the existing curl command, DISPATCH_TOKEN and
PAYLOAD) that uses a per-request timeout (e.g., curl --max-time or equivalent),
retries a limited number of times (e.g., 3–5 attempts) with a small backoff
between attempts, treats non-2xx responses as failures to retry, and exits
non-zero after exhausting attempts so the workflow fails visibly. Ensure the
final failure logs the last HTTP status/body for debugging.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: b76f7713-1b3c-47d3-b350-d632ffb96efd

📥 Commits

Reviewing files that changed from the base of the PR and between c5d9eda and 8e9675c.

📒 Files selected for processing (1)
  • .github/workflows/tag-dispatch-cloud.yml

@MillerMedia MillerMedia changed the title ci: dispatch tag push to Comfy-Org/cloud ci: dispatch tag push to Comfy Cloud Apr 24, 2026
Fires on v* tag push (earlier than release.published, which can lag)
and triggers a repository_dispatch on Comfy-Org/cloud with event_type
comfyui_tag_pushed. Legacy desktop dispatch in release-webhook.yml
is left untouched.
@MillerMedia MillerMedia self-assigned this Apr 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant