mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
[PR #27] [MERGED] ci(bump-callers): move caller list to CURSOR_REVIEW_CALLERS variable + mask repo names #37
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#37
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/27
Author: @mattmillerai
Created: 7/14/2026
Status: ✅ Merged
Merged: 7/18/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-3046-cursor-review-callers-var📝 Commits (1)
a422331ci(bump-callers): move caller list to CURSOR_REVIEW_CALLERS variable + mask repo names (BE-3046)📊 Changes
1 file changed (+45 additions, -14 deletions)
View changed files
📝
.github/workflows/bump-cursor-review-callers.yml(+45 -14)📄 Description
ELI-5
This workflow used to keep a list of every repo that runs cursor-review written right inside the file — and this repo is public, so anyone could read the list of our private repos, both in the file and in the (also public) run logs. This PR moves that list out of the file into a private Actions variable the workflow reads at run time, and blacks out (
***) every repo name in the logs. Same behavior, no more leaks. Adding a repo later is now a variable edit, not a public commit.What changed
CALLERS=( … )array from the workflow.CURSOR_REVIEW_CALLERS— a JSON array of{"repo","file","label"}objects — parsed withjqinto the exact samerepo|file|labeltuples the existingbump_one()loop already consumes (no downstream changes). A variable, not a secret: this is config, and secrets are write-only via the API.::add-mask::ed immediately after parsing, before any loop that echoes it, so all per-repo output ("<repo>: PR opened", per-repo warnings, the final failure summary) shows***in the public logs instead of the repo name.::error::+exit 1) if the variable is missing, empty/whitespace, not a JSON array, empty array, or has any entry lacking a non-emptyrepo/file— a silent no-op dispatcher is not possible.gh variable set CURSOR_REVIEW_CALLERS …) in the header, and noted the canonicalcallers.jsonshould live in a private infra/ops repo as a reviewed source of truth.Verification
python3 yaml.safe_load— YAML valid.shellcheck -S warningon the extracted run script — clean (exit 0).repo, entry with emptyrepo→ all hard-fail withexit 1; valid input → parses, emits an::add-mask::per repo, and produces correct tuples (incl. missing-label→ empty label).CURSOR_REVIEW_CALLERSvariable through the parser: it yields exactly the 12 tuples, byte-for-byte identical to the previous hardcoded list plusComfy-Org/evals(the addition from #25). No behavior change forbump_one().Comfy-Org/github-workflows(this repo) appears anywhere in the file.Judgment calls / notes for the reviewer
evals), so acceptance-criterion 4's seed step is done. No further seeding needed.comfy-infrain the header as the canonical-JSON home, butcomfy-infrais one of the private repos this ticket protects, and AC #1 says no repo name beyondgithub-workflowsmay appear in the file. AC #1 wins (it's the whole point), so the header says "a private infra/ops repo" generically rather than naming it.workflow_dispatchrun with clean logs) is a post-merge human step, not verified here — deliberately.workflow_dispatchruns the workflow version from the default branch, so this logic isn't dispatchable until it's merged; and dispatching the real workflow would open live SHA-bump PRs across all 12 caller repos (a side effect I won't trigger from a test). The masking is proven by inspection: every log statement echoes${REPO}/${FAILED[*]}(the fullComfy-Org/<repo>string), and each such string is::add-mask::ed before the loop. Recommend oneworkflow_dispatchafter merge to confirm the logs render***.evalsto the old hardcoded array, which this PR deletes. Sinceevalsis already in the seeded variable, #25 is effectively superseded — recommend closing it (or merge it first and rebase this, either works; the variable already reflects the intended final state).Comfy-Org/ComfyUIis a substring ofComfy-Org/ComfyUI_frontend, so masking can render the latter as***/***_frontend— both are public repos, and none of the 8 private repos are substrings of one another, so no private name leaks.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.