Skip to content

ci: let a squashed Dependabot merge pass on main - #41

Merged
vyncint merged 1 commit into
mainfrom
ci/dependabot-squash-coauthor
Sep 1, 2026
Merged

ci: let a squashed Dependabot merge pass on main#41
vyncint merged 1 commit into
mainfrom
ci/dependabot-squash-coauthor

Conversation

@vyncint

@vyncint vyncint commented Sep 1, 2026

Copy link
Copy Markdown
Owner

What & why

Merging a Dependabot pull request turns main red, even though the pull
request itself is green. simt-diff hit this at
52cc142
minutes after the carve-out landed.

GitHub composes the squash-merge message itself and appends a co-author
trailer naming the pull request's author. For a Dependabot pull request that
trailer names dependabot[bot], at
49699333+dependabot[bot]@users.noreply.github.com — and bot is in the
vendor list the message rules match against, so the rule fires.

The identity carve-out did not help: this is the message half, which was left
strict on purpose. The result is the worst shape available — the commit passes
on the branch, fails on main, and main is linear and non-fast-forward, so
it cannot be repaired. Exactly the failure check-dco.sh already carries a
composed-squash exemption for.

A co-author trailer naming an allowlisted dependency bot is now dropped before
the message rules are matched. Every other such trailer is matched exactly as
before, and the rest of the message — watermarks, robot emoji, any other
vendor — is still matched in full, including on the bot's own commits.

Tested

tools/test-policy-scripts.sh gains three cases. Run against the current
script they reproduce the bug; against this one, 17/17:

  • a GitHub-composed squash naming dependabot as co-author — passes (the fix)
  • the same shape naming an AI vendor — still fails
  • the same shape naming an unallowlisted other[bot] — still fails

Also run against the real commit that turned simt-diff's main red: rejected
by the current script, accepted by this one.

What this does not do

  • No CHANGELOG.md entry: not user-facing.
  • Does not repair simt-diff's existing red commit on main; that run stays
    red in history and goes green on the next push.

Checklist

  • No issue linked — follow-up to the Dependabot carve-out
  • Tested, and the tests can fail — they fail against the current script
  • No Rust changed
  • All commits are signed off
  • No AI attribution trailers

GitHub composes a squash-merge message itself and appends a co-author
trailer naming the pull request's author. For a Dependabot pull request
that trailer names dependabot[bot], and "bot" is in the vendor list the
message rules match against — so a commit that passed on the branch
fails on main, where it cannot be repaired.

A co-author trailer naming an allowlisted dependency bot is now dropped
before the message rules are matched. Every other such trailer is
matched as before, and the rest of the message is matched in full.

Signed-off-by: Vyncint Ng <vyncint@icloud.com>
@vyncint vyncint closed this Sep 1, 2026
@vyncint vyncint reopened this Sep 1, 2026
@vyncint
vyncint merged commit 89bbe70 into main Sep 1, 2026
15 of 16 checks passed
@vyncint
vyncint deleted the ci/dependabot-squash-coauthor branch September 1, 2026 15:43
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