mirror of
https://github.com/Comfy-Org/comfy-python-sdk.git
synced 2026-11-04 23:37:47 +00:00
[PR #161] [MERGED] ci(cursor-review): re-sync workflows_ref to the pinned uses: SHA and stop Dependabot splitting the pair #160
Labels
No labels
audit:ai-readiness
audit:community
audit:github
audit:health-scoring
audit:policy
audit:release
audit:supply-chain
effort:medium
effort:small
effort:small
effort:trivial
priority:nice-to-have
priority:nice-to-have
priority:recommended
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/comfy-python-sdk#160
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/comfy-python-sdk/pull/161
Author: @mattmillerai
Created: 9/18/2026
Status: ✅ Merged
Merged: 10/3/2026
Merged by: @mattmillerai
Base:
main← Head:matt/be-15269-resync-cursor-review-pins📝 Commits (2)
683f66cci(cursor-review): re-sync workflows_ref to the pinned uses: SHA7a2b8eaMerge origin/main into matt/be-15269-resync-cursor-review-pins📊 Changes
1 file changed (+10 additions, -0 deletions)
View changed files
📝
.github/dependabot.yml(+10 -0)📄 Description
ELI-5
This repo's Cursor-review job pins the shared reusable workflow in two places:
uses:picks which workflow definition runs, and theworkflows_ref:input picks which prompts/scripts that workflow downloads at run time. Dependabot only ever rewritesuses:, so it splits the pair — twice already. This tells Dependabot to stop touching that pair and leave it to the bumper fleet that moves both halves together.What changed
.github/dependabot.yml— the existinggithub-actionsentry gains a two-entryignorefor theComfy-Org/github-workflowsreusables. Nothing else in the file changes: thepipentry, and thegithub-actionsentry'sschedule,open-pull-requests-limit,commit-message,labelsandgroups, are untouched.That is now the whole diff — 10 lines in one file. See Superseded half below for what left it.
Both entries are load-bearing and must not be collapsed to a single
Comfy-Org/github-workflows*. Dependabot names a reusable-workflow dependency by its full path (PR #146's own title readsComfy-Org/github-workflows/.github/workflows/cursor-review.yml), and adependency-namewithout a wildcard is an exact match — so the exact form covers theowner/reposhape and the/*form covers the per-file shape, while a single trailing star would expand unanchored and also swallow any future sibling repo whose name merely starts withgithub-workflows. This follows the precedent documented at length inComfy-Org/cloud's own.github/dependabot.yml, which I read directly rather than copying from the work item.Superseded half — the workflow edit is gone, on purpose
This PR originally also re-synced
.github/workflows/ci-cursor-review.yml, movingworkflows_ref:fromffcc3f5up to425c154(the SHAuses:already held). While it sat open,mainlanded #164 — opened byapp/cloud-code-botwith the body "Opened by thebump-cursor-review-callersworkflow", merged 2026-09-18T23:33Z — which moved both pins together to the newerf22ad8f. That is the same fix at a later SHA, produced by the fleet this PR'signorehands the job to.The two therefore conflicted, and the conflict was resolved in main's favour: its pair is already aligned and strictly newer, so the hand re-sync here was redundant.
ci-cursor-review.ymlon the merged tree contains exactly one distinct 40-hex SHA,f22ad8f888fdef6f0a50bfdfa96bb20f74f651a0, so the two pins agree — which is the outcome this PR was after; it just arrived from upstream first.Worth stating plainly, because it is the load-bearing evidence for the
ignore: #164 is a live demonstration that the compensating control works. This repo is not merely eligible for the bumper fleet's roster — the fleet fired on it and moved both halves correctly.How the split happened
uses:andworkflows_ref:were in lock-step until two Dependabot PRs rewroteuses:alone — #136 (merged 2026-09-09) and #146 (merged 2026-09-14) — leaving the job running a September-12 workflow definition against August-28 assets for roughly nine days. The caller-fleet bot's own PR #125, which correctly moved both pins to425c154, was closed unmerged on 2026-09-14 at 21:15Z — 33 minutes after #146 merged over it. That is the loop thisignorebreaks.Verification
Run on the merged tree (this branch merged with
main), not on the pre-merge branch:python3 -c "import yaml; yaml.safe_load(open('.github/dependabot.yml'))"parses; thegithub-actionsentry'signorereads back as exactly the twodependency-nameentries and itsgroups(actions-minor-and-patch) is intact..github/workflows/ci-cursor-review.ymlalso parses as YAML.grep -oE '[0-9a-f]{40}' .github/workflows/ci-cursor-review.yml | sort -u→ exactly one line,f22ad8f888fdef6f0a50bfdfa96bb20f74f651a0. The two pins agree.git diff origin/main --stat→.github/dependabot.yml | 10 ++++++++++, one file. No stray carry-over from the conflict resolution.ruff check .(all checks passed),ruff format --check .(57 files already formatted),mypy src(no issues, 21 files),pytest -q(975 passed, 9 skipped), andpython3 scripts/check_public_repo_hygiene.py(no internal-only references — this one matters because the diff adds aComfy-Org/<repo>reference to a world-readable file).Falsification of the capability this diff denies
An
ignoreentry removes a capability — automatic bumping of these reusables — so before shipping it the replacement path was checked rather than asserted from the comment text. Read-only checks againstComfy-Org/github-workflows:.github/workflows/bump-cursor-review-callers.ymlexists and drives.github/bump-callers/bump-callers.sh, which carries an explicitINPUT_PIN_REforworkflows_ref:alongside theuses:rewrite and an assertion that the two halves move together. Since then the path has been confirmed empirically rather than by inspection: PR #125 and PR #164 in this repo were both opened by that workflow, and #164 merged. So the pin keeps a working owner after this change; it does not become orphaned.Scope swept, including the half this does not fix
All 5 workflow files and all 16
uses:pins in.github/workflows/were swept. Exactly 1 is aComfy-Org/github-workflowsreusable and it is the repo's onlyworkflows_ref:— so there is no second split pin here. The other 15 pins cover 6 distinct third-party/marketplace actions (actions/checkout,actions/setup-python,actions/upload-artifact,actions/download-artifact,pypa/gh-action-pypi-publish,contributor-assistant/github-action) and are deliberately left under Dependabot's management — theignoreis scoped to the two reusable-workflow name forms precisely so those keep getting bumped.Residual
Require a pinned workflows_refstep only checks that the input is a non-empty 40-hex string; verified atf22ad8f, nothing compares it to the caller'suses:SHA. This PR removes the automated cause of a split but not a human edit or partial revert. Deferred to a follow-up rather than fixed here: the clean lever is upstream (job.workflow_shais by definition theuses:SHA and the workflow already reads it), and the warn-vs-fail-closed rollout across the caller set is a human call. Tracked from this thread.ignorehas noupdate-types:/versions:qualifier, so it suppresses Dependabot security advisories for these reusables as well as version updates. That is the upstream precedent's deliberate trade-off (a first-party org repo pinned to reviewed SHAs is not a public-registry package, so an advisory-driven bump is not its update path), and this PR adopts it as-is rather than re-litigating it. Naming it because it is a real reduction in coverage that the diff does not make visible on its own.mainis clean, not as evidence about theignore.Provenance
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.