[PR #5] [MERGED] feat(cursor-review): add reusable auto-label workflow #13

Closed
opened 2026-10-26 22:35:25 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/github-workflows/pull/5
Author: @mattmillerai
Created: 6/2/2026
Status: ✅ Merged
Merged: 6/2/2026
Merged by: @mattmillerai

Base: main ← Head: feat/cursor-review-auto-label-reusable


📝 Commits (1)

  • c84f75d feat(cursor-review): add reusable auto-label workflow

📊 Changes

2 files changed (+123 additions, -0 deletions)

View changed files

➕ .github/workflows/cursor-review-auto-label.yml (+122 -0)
📝 README.md (+1 -0)

📄 Description

What

Adds cursor-review-auto-label.yml, a reusable (workflow_call) companion to cursor-review.yml. On PR assignment of an opted-in reviewer, it applies the review label — which is what cursor-review.yml actually triggers on — so people can opt into review-on-assignment without manually clicking the label.

Why

Today each consumer repo carries its own copy of the auto-label workflow with the opt-in login list hardcoded in the YAML (e.g. OPTED_IN_LOGINS: 'mattmillerai'). That means:

  • adding/removing a reviewer is a PR per repo, and
  • the list drifts (one repo still had a since-renamed handle).

This centralizes the logic and moves the roster into the caller's vars.CURSOR_REVIEW_OPTED_IN_LOGINS (whitespace-separated logins) — exactly the pattern cursor-review.yml already uses for vars.CURSOR_REVIEW_DM_EMAIL_MAP. Opt-in becomes "edit the variable," not "edit each repo's workflow."

Notes

  • App token, not GITHUB_TOKEN: the label is applied via the CLOUD_CODE_BOT app (caller sets vars.APP_ID, passes secrets.CLOUD_CODE_BOT_PRIVATE_KEY). A GITHUB_TOKEN-applied label does not create a new workflow run, so the review would never fire — same constraint the existing local workflow documents.
  • No assets needed — pure inline bash, so no workflows_ref input (unlike cursor-review.yml).
  • review_label / skip_label are inputs (defaults cursor-review / skip-cursor-review) so the trigger label stays in lock-step with the review workflow's own review_label.
  • Empty/unset roster is a clean no-op, not a failure — repos that haven't set the variable simply don't auto-label.
  • README workflow table updated. Version tag move left to the maintainer per the repo's "Adding a new reusable workflow" step 3 (after review).

Follow-up (separate PRs)

  • comfy-cloud-mcp-server: swap its local cursor-review-auto-label.yml to a thin caller pinned to this PR's merge SHA + set vars.CURSOR_REVIEW_OPTED_IN_LOGINS (already seeded to mattmillerai).
  • cloud (#4038 consumer): same swap.

🤖 Generated with Claude Code


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/github-workflows/pull/5 **Author:** [@mattmillerai](https://github.com/mattmillerai) **Created:** 6/2/2026 **Status:** ✅ Merged **Merged:** 6/2/2026 **Merged by:** [@mattmillerai](https://github.com/mattmillerai) **Base:** `main` ← **Head:** `feat/cursor-review-auto-label-reusable` --- ### 📝 Commits (1) - [`c84f75d`](https://github.com/Comfy-Org/github-workflows/commit/c84f75df08e36019c42d380f0321ae5b47b7b16f) feat(cursor-review): add reusable auto-label workflow ### 📊 Changes **2 files changed** (+123 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `.github/workflows/cursor-review-auto-label.yml` (+122 -0) 📝 `README.md` (+1 -0) </details> ### 📄 Description ## What Adds `cursor-review-auto-label.yml`, a reusable (`workflow_call`) companion to `cursor-review.yml`. On PR **assignment** of an opted-in reviewer, it applies the review label — which is what `cursor-review.yml` actually triggers on — so people can opt into review-on-assignment without manually clicking the label. ## Why Today each consumer repo carries its own copy of the auto-label workflow with the opt-in login list **hardcoded in the YAML** (e.g. `OPTED_IN_LOGINS: 'mattmillerai'`). That means: - adding/removing a reviewer is a PR per repo, and - the list drifts (one repo still had a since-renamed handle). This centralizes the logic and moves the roster into the caller's `vars.CURSOR_REVIEW_OPTED_IN_LOGINS` (whitespace-separated logins) — exactly the pattern `cursor-review.yml` already uses for `vars.CURSOR_REVIEW_DM_EMAIL_MAP`. Opt-in becomes "edit the variable," not "edit each repo's workflow." ## Notes - **App token, not GITHUB_TOKEN**: the label is applied via the CLOUD_CODE_BOT app (caller sets `vars.APP_ID`, passes `secrets.CLOUD_CODE_BOT_PRIVATE_KEY`). A GITHUB_TOKEN-applied label does not create a new workflow run, so the review would never fire — same constraint the existing local workflow documents. - No assets needed — pure inline bash, so no `workflows_ref` input (unlike `cursor-review.yml`). - `review_label` / `skip_label` are inputs (defaults `cursor-review` / `skip-cursor-review`) so the trigger label stays in lock-step with the review workflow's own `review_label`. - Empty/unset roster is a clean no-op, not a failure — repos that haven't set the variable simply don't auto-label. - README workflow table updated. Version tag move left to the maintainer per the repo's "Adding a new reusable workflow" step 3 (after review). ## Follow-up (separate PRs) - `comfy-cloud-mcp-server`: swap its local `cursor-review-auto-label.yml` to a thin caller pinned to this PR's merge SHA + set `vars.CURSOR_REVIEW_OPTED_IN_LOGINS` (already seeded to `mattmillerai`). - `cloud` (#4038 consumer): same swap. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:35:25 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/github-workflows#13
No description provided.