Skip to content

feat: Add initial configuration for bulldozer - #4

Merged
phuongfi91 merged 1 commit into
mainfrom
feat/phuongfi91/bulldozer-config
Aug 25, 2026
Merged

phuongfi91 merged 1 commit into
mainfrom
feat/phuongfi91/bulldozer-config

Conversation

@phuongfi91

Copy link
Copy Markdown
Contributor

No description provided.

Signed-off-by: Phuong Nguyen <7949163+phuongfi91@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings August 25, 2026 13:09
@phuongfi91
phuongfi91 merged commit dbb5e33 into main Aug 25, 2026
1 check passed
@phuongfi91
phuongfi91 deleted the feat/phuongfi91/bulldozer-config branch August 25, 2026 13:09
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Configure Bulldozer merge and branch update automation

⚙️ Configuration changes ✨ Enhancement 🕐 10-20 Minutes

Grey Divider

AI Description

• Configure label, comment, branch, and auto-merge triggers for Bulldozer.
• Select squash for development branches and merge commits for primary branches.
• Enforce checks, branch cleanup, ignore controls, and labeled branch updates.
Diagram

graph TD
  A["Pull Request"] --> B{"Trigger matched?"} -->|Yes| C{"Ignored?"} -->|No| D["Select method"] --> E["Required checks"] --> F["Merge branch"]
  B -->|Update label| G["Update branch"]
  B -->|No| H["No action"]
  C -->|Yes| H
Loading
High-Level Assessment

The following are alternative approaches to this PR:

1. GitHub-native auto-merge and rulesets
  • ➕ Avoids an additional bot dependency
  • ➕ Centralizes checks and merge restrictions in GitHub
  • ➖ Does not provide the same comment and body trigger vocabulary
  • ➖ Offers less flexible automated branch-update behavior

Recommendation: Keep the Bulldozer configuration when custom label, comment, body, and branch-update triggers are required. GitHub-native controls would be simpler operationally, but they do not fully replace this workflow; reviewers should specifically confirm that branch triggers intentionally make every pull request targeting the listed branches eligible.

Files changed (1) +139 / -0

Other (1) +139 / -0
bulldozer.ymlDefine Bulldozer merge and update policies +139/-0

Define Bulldozer merge and update policies

• Adds the initial Bulldozer v1 configuration with merge triggers, ignore signals, branch-specific methods, squash message options, branch deletion, and required-check safeguards. It also enables label-driven branch updates while excluding drafts and explicitly ignored pull requests.

bulldozer.yml

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.

Pull request overview

Adds an initial bulldozer.yml configuration to define when Bulldozer should auto-merge and auto-update pull requests, and how merges should be performed across common target branches.

Changes:

  • Introduces a Bulldozer config with merge triggers/ignores (labels, comments, substrings, branches, auto-merge).
  • Configures merge strategy defaults (squash) plus branch-based overrides via merge_method.
  • Enables branch deletion after merge and defines update triggers/ignores for automated branch updates.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (1) 📘 Rule violations (0) 📜 Skill insights (0)

Grey Divider


Action required

1. All branch PRs auto-merge 🐞 Bug ≡ Correctness
Description
Adding the primary branches to merge.trigger.branches makes every PR targeting any of them
eligible for Bulldozer, because this file explicitly documents merge triggers as OR conditions. As a
result, the label, comment, body, and GitHub auto-merge opt-ins are unnecessary for PRs to these
branches, and any such PR will be automatically merged once required checks and protections permit
it.
Code

bulldozer.yml[28]

+    branches: ["dev", "main", "develop", "master"]
Evidence
The trigger section says it selects PRs considered by Bulldozer, and line 28 selects every PR
targeting four primary branches. The configuration itself contrasts merge_method's ALL matching
with merge/trigger, where ANY criterion triggers Bulldozer; the ignore block only excludes two
explicit opt-out conditions.

bulldozer.yml[7-13]
bulldozer.yml[27-34]
bulldozer.yml[36-42]
bulldozer.yml[58-65]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The configured branch trigger opts every PR targeting a listed primary branch into automated merging, bypassing the intended explicit label, comment, body, or auto-merge triggers.

## Issue Context
`merge.trigger` criteria are OR-based, while branch-specific merge methods can still be selected separately through `merge_method`.

## Fix Focus Areas
- bulldozer.yml[27-28]
- bulldozer.yml[67-81]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

Context sources
Review mode: ⚖️ Balanced: This adds a behavioral bulldozer configuration that controls automated merges, branch deletion, and update triggers; despite one file and one hunk, it warrants a careful single-pass review.

Grey Divider

Tip of the day
💡 Did you know, you can hide the parts of a finding you never read, like the evidence or the agent prompt

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Comment thread bulldozer.yml
pr_body_substrings: ["==MERGE_WHEN_READY=="]

# Pull requests targeting any of these branches are added to the trigger.
branches: ["dev", "main", "develop", "master"]

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Action required

1. All branch prs auto-merge 🐞 Bug ≡ Correctness

Adding the primary branches to merge.trigger.branches makes every PR targeting any of them
eligible for Bulldozer, because this file explicitly documents merge triggers as OR conditions. As a
result, the label, comment, body, and GitHub auto-merge opt-ins are unnecessary for PRs to these
branches, and any such PR will be automatically merged once required checks and protections permit
it.
Agent Prompt
## Issue description
The configured branch trigger opts every PR targeting a listed primary branch into automated merging, bypassing the intended explicit label, comment, body, or auto-merge triggers.

## Issue Context
`merge.trigger` criteria are OR-based, while branch-specific merge methods can still be selected separately through `merge_method`.

## Fix Focus Areas
- bulldozer.yml[27-28]
- bulldozer.yml[67-81]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

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.

2 participants