Skip to content

🏗️🔧:leave bot commit messages to the bots - #1812

Merged
DerekNonGeneric merged 1 commit into
livefrom
fix/exempt-bot-commits
Aug 13, 2026
Merged

🏗️🔧:leave bot commit messages to the bots#1812
DerekNonGeneric merged 1 commit into
livefrom
fix/exempt-bot-commits

Conversation

@DerekNonGeneric

Copy link
Copy Markdown
Member

A consequence of #1810, found immediately after it landed and before it could bite.

verify.commits now runs on every pull request. Renovate writes chore(deps): bump cssnano to v8.0.4 and Dependabot writes Bump cssnano from 8.0.3 to 8.0.4 — neither is this project's format, and neither is ours to change. So every dependency update would have failed its checks, and since Renovate merges itself only on green, none of them would ever have landed. Quietly.

Confirmed against the real thing before fixing: all four bot message shapes are rejected by the rules as they stand.

dependabot            subject needs an emoji prefix and “:” (U+FF1A) …
renovate (deps)       subject needs an emoji prefix and “:” (U+FF1A) …
renovate (dev)        subject needs an emoji prefix and “:” (U+FF1A) …
renovate (lockfile)   subject needs an emoji prefix and “:” (U+FF1A) …

The match

A GitHub app commits as <id>+<name>[bot]@users.noreply.github.com, and [bot] is a reserved suffix no account can take, so that is what this matches on.

My first attempt matched ^(dependabot|renovate)\[bot\]@ and would have caught nothing — the real address begins with the app's numeric id, 49699333+dependabot[bot]@…. Checked against actual commits in this repository's history rather than assumed.

Verification

Built a bot-authored commit and a human-authored one with the same non-conforming subject:

commit result
Bump cssnano from 8.0.3 to 8.0.4, authored by dependabot[bot] left alone, exit 0, reported as leaving 1 written by a bot
same shape, authored by a human rejected, exit 1

nps test — 15/15 tasks, 45/45 tests.

Note

This exempts bot messages rather than making them conform. Making Renovate produce this format is possible — commitMessagePrefix can carry the emoji — but it needs an action emoji for a dependency bump, which the vocabulary does not have, and Renovate joins its message parts with a space where this format wants none after the colon. Worth doing deliberately if you want dependency commits to read like the rest; exempting them is what keeps the repository working today.

Renovate writes `chore(deps): …` and dependabot writes `Bump x from y to
z`. Neither is this format and neither is theirs to change, so the check
that landed an hour ago would have failed every dependency update -- and
since they merge themselves on green, none of them would ever land.

Matched on the `[bot]@users.noreply.github.com` an app commits as, which
is a form no account can take. A human writing the same subject is still
held to the format.

Assisted-by: Claude-Code:claude-opus-5
@netlify

netlify Bot commented Aug 13, 2026

Copy link
Copy Markdown

Deploy Preview for gh-pages-openinf ready!

Name Link
🔨 Latest commit 98d09d5
🔍 Latest deploy log https://app.netlify.com/projects/gh-pages-openinf/deploys/6a7d3c4c3266ef0008990167
😎 Deploy Preview https://deploy-preview-1812--gh-pages-openinf.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@DerekNonGeneric
DerekNonGeneric merged commit 2db35c5 into live Aug 13, 2026
13 checks passed
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