[PR #54] [MERGED] ci(bump-callers): add bump-assign-reviewers-callers.yml dispatch flow (BE-3924) #62

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

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/github-workflows/pull/54
Author: @mattmillerai
Created: 7/21/2026
Status: ✅ Merged
Merged: 7/21/2026
Merged by: @mattmillerai

Base: main ← Head: matt/be-3924-bump-assign-reviewers-callers


📝 Commits (1)

  • 2be88b2 ci(bump-callers): add bump-assign-reviewers-callers.yml dispatch flow (BE-3924)

📊 Changes

4 files changed (+99 additions, -3 deletions)

View changed files

📝 .github/bump-callers/README.md (+1 -0)
➕ .github/workflows/bump-assign-reviewers-callers.yml (+92 -0)
📝 .github/workflows/test-bump-callers.yml (+4 -1)
📝 AGENTS.md (+2 -2)

📄 Description

ELI-5

Three of our reusable workflows (pr-size, cursor-review, agents-md) have a little robot that, whenever the workflow changes, goes around to every repo that "pins" it and opens a PR to update the pin. assign-reviewers was the odd one out — it had pinned users but no robot, so those repos silently fell behind. This adds the missing robot for assign-reviewers.

What & why

assign-reviewers.yml is a reusable workflow that downstream repos SHA-pin (today only Comfy-Org/cloud). Unlike pr-size / cursor-review / agents-md, it had no bump-*-callers dispatch flow, so when it changed on main, pinned callers drifted onto stale behavior and had to be re-pinned by hand.

This adds .github/workflows/bump-assign-reviewers-callers.yml, a thin entrypoint over the shared .github/bump-callers/bump-callers.sh (the same one-implementation script every other fleet uses — no forked logic). It mirrors the ALLOW_EMPTY siblings (bump-pr-size / bump-agents-md):

  • Triggers: push to main touching .github/workflows/assign-reviewers.yml, plus workflow_dispatch for manual re-bumps.
  • Caller list: the new repo-level Actions variable ASSIGN_REVIEWERS_CALLERS — a JSON array of {repo,file,label}, same shape as CURSOR_REVIEW_CALLERS / PR_SIZE_CALLERS. ALLOW_EMPTY: "true" makes an empty or unset variable a clean no-op (run stays green, dispatches to nobody).
  • Behavior: mints the Cloud Code Bot token, then opens/refreshes one sticky bump PR per caller re-pinning that repo's assign-reviewers.yml uses: SHA to the new main tip; pushes to the stable ci/bump-assign-reviewers branch; serialized via concurrency: bump-assign-reviewers-callers.

Judgment call: paths trigger is the workflow file only

The siblings also watch an asset dir (cursor-review/**, scripts/check-pr-size/**, agents-md-integrity/**). assign-reviewers.yml runs its entire selection logic inline via actions/github-script with no external prompt/script directory (confirmed: git ls-tree shows no assign-reviewers/ asset dir; the only scripts are inline script: blocks). So the workflow file itself is the only path whose change can alter behavior — documented in a comment on the trigger.

Out of scope (per ticket)

  • Seeding ASSIGN_REVIEWERS_CALLERS — a manual admin op (Actions variables aren't committed), done after this lands. Initial seed is cloud-only. Until then the flow is a documented clean no-op.
  • Rolling assign-reviewers out to more repos (per-repo caller work, tracked separately).

Tests

  • Registered the new entrypoint in the test-bump-callers.yml path filters (both pull_request and push) so a change to it runs the shared-script suite — analogous to the coverage the sibling bumpers already have.
  • Ran locally in the worktree: shellcheck clean; bash .github/bump-callers/tests/test_bump_callers.sh → 88 passed, 0 failed; both edited/new workflows parse as valid YAML; AGENTS.md integrity checker passes (123 lines, under the 200 gate).
  • Also updated the bump-callers README fleet table and the AGENTS.md catalog to keep docs in sync.

BE-3924


🔄 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/54 **Author:** [@mattmillerai](https://github.com/mattmillerai) **Created:** 7/21/2026 **Status:** ✅ Merged **Merged:** 7/21/2026 **Merged by:** [@mattmillerai](https://github.com/mattmillerai) **Base:** `main` ← **Head:** `matt/be-3924-bump-assign-reviewers-callers` --- ### 📝 Commits (1) - [`2be88b2`](https://github.com/Comfy-Org/github-workflows/commit/2be88b26e708f697ecd4a374a53a028b935fe305) ci(bump-callers): add bump-assign-reviewers-callers.yml dispatch flow (BE-3924) ### 📊 Changes **4 files changed** (+99 additions, -3 deletions) <details> <summary>View changed files</summary> 📝 `.github/bump-callers/README.md` (+1 -0) ➕ `.github/workflows/bump-assign-reviewers-callers.yml` (+92 -0) 📝 `.github/workflows/test-bump-callers.yml` (+4 -1) 📝 `AGENTS.md` (+2 -2) </details> ### 📄 Description ## ELI-5 Three of our reusable workflows (`pr-size`, `cursor-review`, `agents-md`) have a little robot that, whenever the workflow changes, goes around to every repo that "pins" it and opens a PR to update the pin. `assign-reviewers` was the odd one out — it had pinned users but **no robot**, so those repos silently fell behind. This adds the missing robot for `assign-reviewers`. ## What & why `assign-reviewers.yml` is a reusable workflow that downstream repos SHA-pin (today only `Comfy-Org/cloud`). Unlike `pr-size` / `cursor-review` / `agents-md`, it had no `bump-*-callers` dispatch flow, so when it changed on `main`, pinned callers drifted onto stale behavior and had to be re-pinned by hand. This adds `.github/workflows/bump-assign-reviewers-callers.yml`, a **thin entrypoint** over the shared `.github/bump-callers/bump-callers.sh` (the same one-implementation script every other fleet uses — no forked logic). It mirrors the `ALLOW_EMPTY` siblings (`bump-pr-size` / `bump-agents-md`): - **Triggers:** `push` to `main` touching `.github/workflows/assign-reviewers.yml`, plus `workflow_dispatch` for manual re-bumps. - **Caller list:** the new repo-level Actions variable `ASSIGN_REVIEWERS_CALLERS` — a JSON array of `{repo,file,label}`, same shape as `CURSOR_REVIEW_CALLERS` / `PR_SIZE_CALLERS`. `ALLOW_EMPTY: "true"` makes an empty **or unset** variable a clean no-op (run stays green, dispatches to nobody). - **Behavior:** mints the Cloud Code Bot token, then opens/refreshes one sticky bump PR per caller re-pinning that repo's `assign-reviewers.yml` `uses:` SHA to the new main tip; pushes to the stable `ci/bump-assign-reviewers` branch; serialized via `concurrency: bump-assign-reviewers-callers`. ### Judgment call: paths trigger is the workflow file only The siblings also watch an asset dir (`cursor-review/**`, `scripts/check-pr-size/**`, `agents-md-integrity/**`). `assign-reviewers.yml` runs its entire selection logic **inline via `actions/github-script`** with no external prompt/script directory (confirmed: `git ls-tree` shows no `assign-reviewers/` asset dir; the only scripts are inline `script:` blocks). So the workflow file itself is the only path whose change can alter behavior — documented in a comment on the trigger. ## Out of scope (per ticket) - **Seeding `ASSIGN_REVIEWERS_CALLERS`** — a manual admin op (Actions variables aren't committed), done after this lands. Initial seed is cloud-only. Until then the flow is a documented clean no-op. - Rolling `assign-reviewers` out to more repos (per-repo caller work, tracked separately). ## Tests - Registered the new entrypoint in the `test-bump-callers.yml` path filters (both `pull_request` and `push`) so a change to it runs the shared-script suite — analogous to the coverage the sibling bumpers already have. - Ran locally in the worktree: `shellcheck` clean; `bash .github/bump-callers/tests/test_bump_callers.sh` → **88 passed, 0 failed**; both edited/new workflows parse as valid YAML; AGENTS.md integrity checker passes (123 lines, under the 200 gate). - Also updated the `bump-callers` README fleet table and the AGENTS.md catalog to keep docs in sync. BE-3924 --- <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:51 +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#62
No description provided.