mirror of
https://github.com/Comfy-Org/github-workflows.git
synced 2026-11-05 00:17:37 +00:00
[PR #107] [MERGED] fix(groom): pin ci-groom.yml by SHA and stop the bumper reporting unpinnable callers as converged (BE-6015) #118
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#118
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/107
Author: @mattmillerai
Created: 8/2/2026
Status: ✅ Merged
Merged: 8/11/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-6015-groom-caller-registration📝 Commits (6)
80219aafix(groom): pin ci-groom.yml by real SHA so the caller starts and the fleet can bump it (BE-6015)5ad406bci(bump-callers): warn instead of reporting "already at" for an unpinnable caller (BE-6015)963557fci(bump-callers): check pin integrity before the no-op test, and fail the run (BE-6015)5d55309Merge branch 'main' into matt/be-6015-groom-caller-registration026e3a9docs(bump-callers): correct un-bumpable claim now that BE-4662 self-heals pin shape (BE-6015)e367d08fix(bump-callers): stop staging a sibling-only roster entry's workflows_ref (BE-6015)📊 Changes
4 files changed (+168 additions, -3 deletions)
View changed files
📝
.github/bump-callers/README.md(+25 -0)📝
.github/bump-callers/bump-callers.sh(+74 -1)📝
.github/bump-callers/tests/test_bump_callers.sh(+56 -0)📝
AGENTS.md(+13 -2)📄 Description
ELI-5
The groom workflow lives here, and other repos "call" it by pointing at a specific commit of this repo. A robot keeps those pointers up to date, but it only knows about repos listed in a config list. Four repos were calling groom without being on that list, so their pointers had gone stale — and this repo's own caller had a leftover
REPLACE_MEplaceholder instead of a real pointer, so it had been crashing on startup every single day while the robot cheerfully logged it as "already up to date." This fixes our own pointer, and makes the robot say "I can't move this one" instead of pretending it's fine.What this does
Two changes, both from the same root cause — a caller that is registered with the fleet but that the fleet cannot actually move.
1.
ci-groom.ymlis pinned by a real SHA. BE-4004 (#56) landed the interval gate behind a deliberate fail-loudREPLACE_AT_MERGE_WITH_THIS_PRS_SQUASH_SHAplaceholder in bothuses:andworkflows_ref:, to be hand-bumped to that PR's squash SHA after merge. The hand-bump never happened. Every scheduledci-groomrun since has failed at startup on an unresolvable ref — six consecutive schedule failures, each with zero jobs. Both refs now pinbcde90f4, the same SHA the other groom callers carry, which puts this caller back underbump-groom-callers.ymlso future bumps move it automatically.2.
bump-callers.shno longer reports an unpinnable caller as converged. The skip branch treats a no-op rewrite as "already atNEW_SHA", but a no-op rewrite only means that when the file carries a 40-hex pin the pass could have moved. A caller that names the reusable and pins it with a placeholder, tag or branch produces a byte-identical no-op — so the log saidalready at <short> — skippingfor a file that had been crashing for weeks. It now emits a::warning::naming the file instead. Control flow is unchanged: the entry is still skipped, still a warning rather than a failure, so one unpinnable caller cannot abort the fan-out. It stays silent when the reusable-name probe (GW_USES, the same probe the rewrite address uses) cannot identify auses:spelling, so a converged caller never warns spuriously.Out-of-repo work this PR completes (no commit — it is an Actions variable)
The bulk of BE-6015 is a
GROOM_CALLERSedit, already applied and verified: four live callers that were never registered are now on the roster, and the stale pre-rename repo name was corrected in the same edit. Dispatchingbump-groom-callers.ymlthen opened bump PRs against exactly those four, each movinguses:andworkflows_ref:in lock-step and touching nothing else. An independent sweep of all 196Comfy-Orgrepos confirms nine live groom callers exist and all nine are now registered — no tenth was missed. Consumer names are deliberately not listed here; this repo is public and most callers are private.Merging this PR is what gets the ninth caller onto the same SHA as the other eight.
Verification
shellcheck -xclean;bash .github/bump-callers/tests/test_bump_callers.sh→ 128 passed, 0 failed; the cursor-review (40), agents-md-integrity (18) and groom (170) unittest suites all pass;check_agents_md.py --root .passes (its one warning, no CODEOWNERS, is pre-existing onmain). The new bump-callers test is a genuine red→green regression test: reverting onlybump-callers.shdrops it to 126 passed / 2 failed.Judgment calls and things a reviewer should weigh
main. Flagging rather than assuming: if you would rather split thebump-callers.shwarning into its own PR, it is the second commit and drops cleanly.groom.ymlatbcde90f4; both secrets it forwards resolve (ANTHROPIC_API_KEYfrom the org,CLOUD_CODE_BOT_PRIVATE_KEYfrom the repo);builderis unset so it defaults tofalse— issues only, no auto-PRs; andinterval_daysfalls back to 7, so weekly. Reasonable toworkflow_dispatchit once withdry_run: trueafter merge before letting the schedule take it.@v1fails the consumer-side pin validation — but it is a behavior change visible in every fleet's run summary, not just groom's..supervisor-state/BE-6015-groom-callers/{before,after}.json.CURSOR_REVIEW_CALLERSandAGENTS_MD_CALLERSstill carry the same stale pre-rename repo name. BE-5921 owns that class across every*_CALLERSvariable, and the ticket says to fix it in one place, not two.env:block prints before masking) now exposes four more names. Pre-existing and fleet-wide, but this edit widened it.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.