Skip to content

feat(dependabot): require a named sanity check before any merge - #208

Merged
twistedmelonman merged 2 commits into
mainfrom
claude/feat-sanity-checks-3638fd83
Oct 29, 2026
Merged

twistedmelonman merged 2 commits into
mainfrom
claude/feat-sanity-checks-3638fd83

Conversation

@twistedmelonman

Copy link
Copy Markdown
Member

What

dependabot-auto-merge.yml gets a sanity_checks input: the checks that build or run the code. Lint alone is not enough.

  • Policy step: an empty value blocks at once, reason no-sanity-check.
  • Gate step: each named check must pass (exact name, or a matrix name (). A missing check keeps the gate polling; at the deadline the PR gets dependabot-blocked:no-sanity-check.
  • The value may be comma-separated or one name per line.
  • README: "Sanity checks (required)" section, input table row, caller example.

Why

All checks green is not proof a bump works when the only checks are lint. Every caller must name a real test or build job before v3 is tagged.

Tests

tests/test-dependabot-auto-merge.sh: 41 pass (10 new). actionlint, shellcheck, markdownlint clean.

Advances #203. Advances smartwatermelon/dev-env#229.

Claude Code Bot added 2 commits October 29, 2026 12:23
"Every check green" is not enough where the only check is lint:
standards-check never builds or runs code, so a breaking update would
merge (dev-env#229). Callers now name their sanity checks, the checks
that build or run the code. The gate merges only when each named check
ran and passed; a matrix job "test (3.12)" matches "test".

No names: the PR is blocked at once, with no runner wait, and labeled
dependabot-blocked:no-sanity-check. A named check that never passes
keeps the gate polling until the deadline, since checks can register
late, then gets the same label.

Advances #203
A YAML block scalar gives one check name per line. jq -R read each
line as its own input and passed two arrays to --argjson, so the gate
failed as cannot-evaluate. Read the whole value with -s and split on
commas and newlines.

Advances #203
@twistedmelonman
twistedmelonman merged commit 0a036d2 into main Oct 29, 2026
7 checks passed
@twistedmelonman
twistedmelonman deleted the claude/feat-sanity-checks-3638fd83 branch October 29, 2026 19:32
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