mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
[PR #32] [MERGED] ci(bump-callers): wire cloud-code-bot review identity into flagged callers (BE-1814) #43
Labels
No labels
cursor-review-catalog-drift
groom
groom
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/github-workflows#43
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/Comfy-Org/github-workflows/pull/32
Author: @mattmillerai
Created: 7/16/2026
Status: ✅ Merged
Merged: 7/21/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-1814-wire-bot-identity-callers📝 Commits (3)
4758456ci(bump-callers): wire cloud-code-bot review identity into flagged callers (BE-1814)72b12c1Merge origin/main into matt/be-1814-wire-bot-identity-callerscd1181dfeat(bump-callers): teach the shared bumper the wire_bot field (BE-1814)📊 Changes
5 files changed (+415 additions, -20 deletions)
View changed files
📝
.github/bump-callers/bump-callers.sh(+56 -15)📝
.github/bump-callers/tests/test_bump_callers.sh(+74 -0)➕
.github/cursor-review/tests/test_wire_bot_identity.py(+131 -0)➕
.github/cursor-review/wire-bot-identity.py(+133 -0)📝
.github/workflows/bump-cursor-review-callers.yml(+21 -5)📄 Description
ELI-5
The cursor-review bot can now post its review under a dedicated cloud-code-bot identity instead of the generic
github-actions[bot](that ability landed in Story 1.1, PR #13). Each consumer repo has to opt in by adding two lines to its thin caller: the app id (bot_app_id) and the paired private key secret. Rather than hand-edit every repo, this teaches the existing caller-bump machinery to add those two lines automatically — but only for the repos that actually hold the cloud-code-bot creds. Repos without the creds are untouched and keep posting asgithub-actions[bot].What & why
Story 1.3 of BE-1800, refit to the existing
cloud-code-botcreds (vars.APP_ID= app 2016716 /secrets.CLOUD_CODE_BOT_PRIVATE_KEY). No new secrets to provision — each consumer maps creds it already has..github/cursor-review/wire-bot-identity.py(new) — idempotently injects into a caller:bot_app_id: ${{ vars.APP_ID }}as the first child ofwith:BOT_APP_PRIVATE_KEY: ${{ secrets.CLOUD_CODE_BOT_PRIVATE_KEY }}undersecrets:It edits only those two anchors (line-based, not a PyYAML round-trip) so the fan-out PR diff is exactly the wiring — the callers' comments, folded
diff_excludes, and SHA-pin lines are preserved byte-for-byte. Already-wired callers are a no-op..github/bump-callers/bump-callers.sh— each caller entry in theCURSOR_REVIEW_CALLERSrepo variable gains an optionalwire_botfield. Whentrue, the caller is piped through the helper alongside the SHA bump (viaWIRE_BOT_SCRIPT, set only bybump-cursor-review-callers.yml— the shared script stays fleet-agnostic, sobump-agents-md-callers.ymlnever sets it). Intended only for repos confirmed to hold the creds:cloud+comfy-cloud-mcp-server— already wired by hand ⇒ injection would be a verified no-op (they still get the SHA bump).comfy-inapp-agent+Comfy-iOS— theircursor-review-auto-label.ymlcallers already usevars.APP_ID+secrets.CLOUD_CODE_BOT_PRIVATE_KEY, so the creds are provisioned. These are the repos this is meant to wire.comfy-local-mcp/ComfySwiftSDK/comfy-infra/ the public OSS repos (no cloud-code-bot creds), and notswarmhost(its own caller comment states the app isn't provisioned there yet).CURSOR_REVIEW_CALLERSvariable does not yet flag any entrywire_bot: true— this PR ships the capability; actually wiring the four repos above needs a follow-upgh variable set(see "How it propagates").Added unit tests (
tests/test_wire_bot_identity.py, 8 cases;test_bump_callers.shgains 4wire_botcases) that run under the existing CI.Non-breaking / incremental: both
bot_app_id(input) andBOT_APP_PRIVATE_KEY(secret) are optional in the reusable workflow — a caller without them keeps posting asgithub-actions[bot].How it propagates
This PR gives the bump script the capability; wiring only lands in a consumer repo once its
CURSOR_REVIEW_CALLERSentry is flagged"wire_bot": trueAND the workflow runs — either on the nextcursor-review.ymlpush, or via a manualworkflow_dispatchafter merge. Recommended sequence after merge:gh variable get CURSOR_REVIEW_CALLERS -R Comfy-Org/github-workflows→ add"wire_bot": trueto thecomfy-inapp-agentandComfy-iOSentries (optionallycloud/comfy-cloud-mcp-servertoo, where it's a no-op).gh variable set CURSOR_REVIEW_CALLERS -R Comfy-Org/github-workflows --body '<updated JSON>'.gh workflow run bump-cursor-review-callers.yml -R Comfy-Org/github-workflowsto propagate immediately.Verification
python3 -m unittest discovergreen across.github/cursor-review/testsand.github/agents-md-integrity/tests.shellcheck -x .github/bump-callers/bump-callers.sh .github/bump-callers/tests/test_bump_callers.shclean.bash .github/bump-callers/tests/test_bump_callers.sh— 86 passed, 0 failed (includes the 4 newwire_botcases: wired end-to-end, not-flagged never wires,WIRE_BOT_SCRIPTunset degrades to SHA-only, already-wired+already-current is a clean skip).Judgment calls
NEW_CONTENT == OLD_CONTENT) that gates the SHA bump, so a wiring-only change on an already-SHA-current caller still stages the file instead of being short-circuited — same intent as the originalgrep -qF "$NEW_SHA"early-skip this replaces, generalized.wire_bot: deliberately conservative — flagged only where creds are provably present (existing wiring or an auto-label caller using the same app).swarmhostexcluded per its own caller's note. A repo that references a missing secret would still degrade safely togithub-actions[bot], but flagging one without the app would be misleading, so it's opt-in per caller.WIRE_BOT_SCRIPTkept fleet-specific:bump-callers.shis shared with the agents-md-integrity fleet, which has no use for bot-identity wiring — onlybump-cursor-review-callers.ymlsets the env var, so a straywire_bot: truein the other fleet's variable degrades to a harmless warning instead of an error.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.