Skip to content

ci(deps): auto-merge dependabot bumps via the org reusable workflow - #57

Merged
forkwright merged 1 commit into
mainfrom
chore/adopt-org-auto-merge
Aug 24, 2026
Merged

ci(deps): auto-merge dependabot bumps via the org reusable workflow#57
forkwright merged 1 commit into
mainfrom
chore/adopt-org-auto-merge

Conversation

@forkwright

Copy link
Copy Markdown
Owner

sphragis received its first dependabot config today (#45) and immediately had six update PRs open. Nothing merges them. This adds the auto-merger.

A caller, not a copy

Sixteen lines delegating to forkwright/.github, the same way theatron already consumes it. The logic worth not duplicating is real — the reusable workflow polls for check groups to appear rather than calling gh pr checks --watch, because --watch returns as soon as the fast checks report and would approve a PR whose gate had not started building yet.

Why this is NOT being copied into the other five repos

koinon, epitelesis, logismos, dioptron and typikon all gained dependabot configs today too. They are deliberately excluded, and this is the part worth reading.

The reusable workflow waits on four check groups — gate, cargo deny, cargo audit, osv — and fails when a group never reports. That is intentional: a verification check that silently goes missing is precisely the case it exists to catch.

Measured against live PRs in each repo, not inferred from workflow filenames:

repo gate cargo deny cargo audit osv adoptable
sphragis gate / gate osv scanner / osv-scan yes
epitelesis gate / gate-attestation no
logismos gate / gate no
koinon gate / gate no
dioptron gate-attestation only no
typikon gate-attestation only no

Copying this file into those five would not give them auto-merge. It would give them a job that times out and reports failure on every dependabot PR — worse than having no auto-merger, because it turns a green PR red.

The gap to close there is security scanning, not this workflow. koinon has neither cargo audit nor osv; dioptron and typikon have no security.yml at all. Tracked separately.

Pin choice

Pinned at d5685976, the current tip of forkwright/.github.

Deliberately not theatron's 54f1af7c. That revision predates the normalised check-name matching: it compared exact suffixes, so endswith("osv-scan") could not match a check actually named osv scanner / osv-scan. sphragis reports both spellings, and the current revision strips non-alphanumerics from both sides before testing containment, which matches the whole spelling class rather than the two spellings seen so far.

theatron pinning a pre-fix revision is its own small drift, noted and not fixed here.

sphragis received its first dependabot config today and immediately had six
update PRs open, none of which merge themselves. This adds the auto-merger.

A sixteen-line caller rather than a copy of the workflow body. forkwright/.github
owns the implementation, theatron already consumes it this way, and the logic
worth not duplicating is substantial: it polls for check GROUPS to appear rather
than calling `gh pr checks --watch`, because --watch returns as soon as the fast
checks report and would approve a PR whose gate had not started.

Adopted here and NOT in koinon, epitelesis, logismos, dioptron or typikon, which
also gained dependabot configs today. The workflow waits on four check groups --
gate, cargo deny, cargo audit, osv -- and FAILS when a group never reports,
which is deliberate: a verification check that goes missing is the case it
exists to catch. Measured against live PRs, sphragis is the only one of the six
that reports all four. koinon has neither cargo audit nor osv; epitelesis and
logismos have no osv; dioptron and typikon have no security workflow at all.

Copying this file into those repos would not give them auto-merge, it would give
them a job that times out and reports failure on every dependabot PR. The gap
to close there is security scanning, not this workflow.

Pinned at d5685976, the current tip. Deliberately NOT theatron's 54f1af7c, which
predates the normalised check-name matching -- that older revision compared
exact suffixes and could not match `osv scanner / osv-scan` against `osv-scan`
in several repos.
@forkwright
forkwright merged commit 69881e8 into main Aug 24, 2026
13 checks passed
@forkwright
forkwright deleted the chore/adopt-org-auto-merge branch August 24, 2026 16:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant