Skip to content

ci: exclude parser-stack bumps from Dependabot auto-merge#40

Merged
dpezto merged 1 commit into
mainfrom
ci/narrow-automerge
Jul 25, 2026
Merged

ci: exclude parser-stack bumps from Dependabot auto-merge#40
dpezto merged 1 commit into
mainfrom
ci/narrow-automerge

Conversation

@dpezto

@dpezto dpezto commented Jul 25, 2026

Copy link
Copy Markdown
Owner

The tree-sitter CLI regenerates parser.c and tree-sitter-language is linked into every binding, so both change parse behavior — and no CI job here exercises the committed parser against a freshly generated one.

       - name: Enable auto-merge for patch/minor
-        if: steps.meta.outputs.update-type == 'version-update:semver-patch' || steps.meta.outputs.update-type == 'version-update:semver-minor'
+        if: >-
+          (steps.meta.outputs.update-type == 'version-update:semver-patch'
+          || steps.meta.outputs.update-type == 'version-update:semver-minor')
+          && !contains(steps.meta.outputs.dependency-names, 'tree-sitter')

Excluded by dependency name rather than by semver range, because these are 0.x packages where a minor bump is a breaking change in practice.

dependabot.yml already ignores tree-sitter-cli minors, with the reasoning that a bad 0.x bump would auto-merge silently and only surface at the next local tree-sitter generate. That reasoning applies equally to its patches and to tree-sitter-language, so this extends the same hold to both, in the place that governs merging rather than the place that governs opening.

Holding such a bump by intention alone does not work: a Dependabot PR blocked only by a merge conflict auto-merges the moment that conflict clears. The companion change in the LSP repository has the same shape, prompted by a runtime bump there that merged itself three minutes after an unrelated PR unblocked it.

Auto-merge remains enabled for everything else, including CI actions and dev tooling.

The tree-sitter CLI regenerates parser.c and the language shim is linked
into every binding, so both change parse behavior, and no CI job here
exercises the committed parser against a freshly generated one.

Excluded by dependency name rather than by semver range: these are 0.x
packages where a minor bump is a breaking change in practice.
dependabot.yml already holds tree-sitter-cli minors; this covers its
patches too, and covers the shim.

Holding such a bump by intention alone does not work. A Dependabot PR
blocked only by a merge conflict auto-merges the moment the conflict
clears, regardless of any intent to review it first.
Copilot AI review requested due to automatic review settings July 25, 2026 20:38

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added the size/m medium — review label Jul 25, 2026
@codecov

codecov Bot commented Jul 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@dpezto
dpezto merged commit cab7f17 into main Jul 25, 2026
11 checks passed
@dpezto
dpezto deleted the ci/narrow-automerge branch July 25, 2026 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m medium — review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants