Create bulldozer.yml - #2
Conversation
Signed-off-by: Phuong Nguyen <7949163+phuongfi91@users.noreply.github.com>
PR Summary by QodoConfigure Bulldozer pull request automation
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
Code Review by Qodo
1. Branch target bypasses opt-in
|
| pr_body_substrings: ["==MERGE_WHEN_READY=="] | ||
|
|
||
| # Pull requests targeting any of these branches are added to the trigger. | ||
| branches: ["dev", "main", "develop", "master"] |
There was a problem hiding this comment.
1. Branch target bypasses opt-in 🐞 Bug ≡ Correctness
Because merge trigger criteria use ANY-match semantics, `branches: ["dev", "main", "develop", "master"]` makes every pull request to those branches eligible for Bulldozer, even without the merge label, command, body marker, or GitHub auto-merge enabled. Once checks pass, ordinary PRs can therefore be merged automatically rather than only explicitly opted-in PRs.
Agent Prompt
## Issue description
The merge trigger uses ANY-match semantics, so listing the primary branches causes all pull requests targeting them to enter Bulldozer's merge flow without an explicit merge signal.
## Issue Context
Keep the label, comment/body marker, or auto-merge triggers as the opt-in mechanism. Branch-specific merge methods can remain under `merge_method`, where they select a method after a PR has been triggered.
## Fix Focus Areas
- profile/bulldozer.yml[27-28]
- profile/bulldozer.yml[58-81]
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
There was a problem hiding this comment.
Pull request overview
Adds a Bulldozer configuration file intended to control automated merging and branch updating behavior for pull requests.
Changes:
- Introduces a
bulldozer.ymlconfig with merge triggers/ignores and merge-method overrides by target branch. - Configures optional PR branch update triggers/ignores (label-based) and draft-handling behavior.
Suppressed comments (2)
profile/bulldozer.yml:63
- Remove trailing whitespace at the end of these comment lines to avoid whitespace-only diffs / lint failures.
# be used. Otherwise, the method specified previously in "merge.method" will
# be used.
# - ALL trigger criteria must match, unlike merge/trigger where ANY match
# will trigger bulldozer.
profile/bulldozer.yml:79
- This blank line contains whitespace; prefer an actually empty line to avoid trailing-whitespace checks failing.
# Pull requests which a number of commits less than or equal to this value are added to the trigger.
# max_commits: 3
- method: merge
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| # "version" is the configuration version, currently "1". | ||
| version: 1 | ||
|
|
||
| # "merge" defines how and when pull requests are merged. If the section is | ||
| # missing, bulldozer will consider all pull requests and use default settings. | ||
| merge: |
| # Pull requests with auto merge enabled are added to the trigger. | ||
| auto_merge: true | ||
|
|
||
| # "ignore" defines the set of pull request ignored by bulldozer. If the |
| method: squash | ||
|
|
||
| ##### branch_method has been DEPRECATED in favor of merge_method ##### | ||
| # |
No description provided.