# "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: # "trigger" defines the set of pull requests considered by bulldozer. If # the section is missing, bulldozer considers all pull requests not excluded # by the ignore conditions. trigger: # Pull requests with any of these labels (case-insensitive) are added to # the trigger. labels: ["status5-mergeready", "status6-bulldozer"] # Pull requests where the body or any comment contains any of these # substrings are added to the trigger. #comment_substrings: ["==MERGE_WHEN_READY=="] # Pull requests where any comment matches one of these exact strings are # added to the trigger. #comments: ["Please merge this pull request!"] # Pull requests where the body contains any of these substrings are added # to the trigger. #pr_body_substrings: ["==MERGE_WHEN_READY=="] # Pull requests targeting any of these branches are added to the trigger. #branches: ["develop"] # Pull requests targeting branches matching any of these regular expressions are added to the trigger. #branch_patterns: ["feature/.*"] # "ignore" defines the set of pull request ignored by bulldozer. If the # section is missing, bulldozer considers all pull requests. It takes the # same keys as the "trigger" section. ignore: labels: ["status0-blocked", "status1-donotmerge", "status2-onice"] # "method" defines the merge method. The available options are "merge", # "rebase", "squash", and "ff-only". method: squash # Allows the merge method that is used when auto-merging a PR to be different based on the # target branch. The keys of the hash are the target branch name, and the values are the merge method that # will be used for PRs targeting that branch. The valid values are the same as for the "method" key. # Note: If the target branch does not match any of the specified keys, the "method" key is used instead. branch_method: develop: squash unstable: squash # "options" defines additional options for the individual merge methods. #options: # "squash" options are only used when the merge method is "squash" #squash: # "title" defines how the title of the commit message is created when # generating a squash commit. The options are "pull_request_title", # "first_commit_title", and "github_default_title". The default is # "pull_request_title". #title: "pull_request_title" # "body" defines how the body of the commit message is created when # generating a squash commit. The options are "pull_request_body", # "summarize_commits", and "empty_body". The default is "empty_body". #body: "empty_body" # If "body" is "pull_request_body", then the commit message will be the # part of the pull request body surrounded by "message_delimiter" # strings. This is disabled (empty string) by default. #message_delimiter: ==COMMIT_MSG== # "required_statuses" is a list of additional status contexts that must pass # before bulldozer can merge a pull request. This is useful if you want to # require extra testing for automated merges, but not for manual merges. #required_statuses: #- "ci/circleci: ete-tests" # If true, bulldozer will delete branches after their pull requests merge. delete_after_merge: true # If true, bulldozer will merge pull requests with no required checks. This # helps to protect against merging branches which inadvertently do not have # required status checks. allow_merge_with_no_checks: false # "update" defines how and when to update pull request branches. Unlike with # merges, if this section is missing, bulldozer will not update any pull requests. update: # "trigger" defines the set of pull requests that should be updated by # bulldozer. It accepts the same keys as the trigger in the "merge" block. trigger: labels: ["status3-needsreview", "status4-needschanges", "status9-workinprogress"] # "ignore" defines the set of pull requests that should not be updated by # bulldozer. It accepts the same keys as the ignore in the "merge" block. ignore: labels: ["status5-mergeready", "status6-bulldozer"] # If true, bulldozer will ignore updating draft pull requests, unless they # explicitly match a configured trigger condition. ignore_drafts: true