mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-08-15 13:40:29 +03:00
Remove 'bulldozer' config, try 'kodiak' for auto-merge
see: https://github.com/chdsbd/kodiak The main issue that bit us was not being able to auto update forked branches, also: https://github.com/palantir/bulldozer/issues/66 https://github.com/palantir/bulldozer/issues/145
This commit is contained in:
parent
33d99b994d
commit
b34f6952fc
110
.bulldozer.yml
110
.bulldozer.yml
@ -1,110 +0,0 @@
|
||||
##
|
||||
## This defines how our `hasura-bulldozer-mergebot` behaves on this repository.
|
||||
## See: https://github.com/palantir/bulldozer
|
||||
##
|
||||
## Comments from the original example config are left here as documentation.
|
||||
## "HASURA NOTE:" precedes comments about our choices here.
|
||||
##
|
||||
|
||||
#
|
||||
# "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.
|
||||
#
|
||||
# HASURA NOTE: for now switch on only via opt-in with this label:
|
||||
# CAREFUL!: if untrusted contributors can add labels, this would
|
||||
# effectively give them write permissions so long as CI passed!
|
||||
labels: ["auto-update-auto-merge"]
|
||||
|
||||
################## HASURA CAREFUL!: I think these are all dangerous (see above)
|
||||
# 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"]
|
||||
|
||||
# "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:
|
||||
# HASURA NOTE: some existing semantic tags; not sure how widely in use they are:
|
||||
labels: ["s/do-not-merge", "s/wip"]
|
||||
# comment_substrings: ["==DO_NOT_MERGE=="]
|
||||
|
||||
# "method" defines the merge method. The available options are "merge",
|
||||
# "rebase", "squash", and "ff-only".
|
||||
method: merge
|
||||
|
||||
# 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
|
||||
master: merge
|
||||
|
||||
# "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.
|
||||
#
|
||||
# HASURA NOTE: this is easily undone in the github UI:
|
||||
delete_after_merge: true
|
||||
|
||||
# "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.
|
||||
#
|
||||
# HASURA NOTE: we definitely don't want to always update. auto-update
|
||||
# (without merge) might be convenient and no harm adding it here.
|
||||
trigger:
|
||||
labels: ["auto-update-auto-merge", "auto-update"]
|
||||
|
||||
# "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: ["Do Not Update"]
|
125
.kodiak.toml
Normal file
125
.kodiak.toml
Normal file
@ -0,0 +1,125 @@
|
||||
## Configuration for auto-merge / auto-update bot
|
||||
## See: https://kodiakhq.com/
|
||||
|
||||
# Kodiak's configuration file should be placed at `.kodiak.toml` (repository
|
||||
# root) or `.github/.kodiak.toml`.
|
||||
# docs: https://kodiakhq.com/docs/config-reference
|
||||
|
||||
# version is the only required setting in a kodiak config.
|
||||
# `1` is the only valid setting for this field.
|
||||
version = 1
|
||||
|
||||
[merge]
|
||||
# Label to enable Kodiak to merge a PR.
|
||||
|
||||
# By default, Kodiak will only act on PRs that have this label. You can disable
|
||||
# this requirement via `merge.require_automerge_label`.
|
||||
automerge_label = "auto-update-auto-merge"
|
||||
|
||||
# Require that the automerge label (`merge.automerge_label`) be set for Kodiak
|
||||
# to merge a PR.
|
||||
#
|
||||
# When disabled, Kodiak will immediately attempt to merge any PR that passes all
|
||||
# GitHub branch protection requirements.
|
||||
require_automerge_label = true
|
||||
|
||||
# If a PR's title matches this regex, Kodiak will not merge the PR. This is
|
||||
# useful to prevent merging work-in-progress PRs.
|
||||
#
|
||||
# Setting `merge.blocking_title_regex = ""` disables this option.
|
||||
blocking_title_regex = "" # default: "^WIP:.*", options: "" (disables regex), a regex string (e.g. ".*DONT\s*MERGE.*")
|
||||
|
||||
# Kodiak will not merge a PR with any of these labels.
|
||||
blocking_labels = ["s/do-not-merge", "s/wip"][] # default: []
|
||||
|
||||
# Choose merge method for Kodiak to use.
|
||||
#
|
||||
# Kodiak will report a configuration error if the selected merge method is
|
||||
# disabled for a repository.
|
||||
#
|
||||
# If you're using the "Require signed commits" GitHub Branch Protection setting
|
||||
# to require commit signatures, "merge" or "squash" are the only compatible options. "rebase" will cause Kodiak to raise a configuration error.
|
||||
method = "merge" # default: "merge", options: "merge", "squash", "rebase"
|
||||
|
||||
# Once a PR is merged, delete the branch. This option behaves like the GitHub
|
||||
# repository setting "Automatically delete head branches", which automatically
|
||||
# deletes head branches after pull requests are merged.
|
||||
delete_branch_on_merge = true # default: false
|
||||
|
||||
# If there is a merge conflict, make a comment on the PR and remove the
|
||||
# automerge label. This option only applies when `merge.require_automerge_label`
|
||||
# is enabled.
|
||||
notify_on_conflict = true # default: true
|
||||
|
||||
# Don't wait for in-progress status checks on a PR to finish before updating the
|
||||
# branch.
|
||||
optimistic_updates = true # default: true
|
||||
|
||||
# Don't wait for specified status checks when merging a PR. If a configured
|
||||
# status check is incomplete when a PR is being merged, Kodiak will skip the PR.
|
||||
# Use this option for status checks that run indefinitely, like deploy jobs or
|
||||
# the WIP GitHub App.
|
||||
dont_wait_on_status_checks = [] # default: [], options: list of check names (e.g. ["ci/circleci: lint_api"])
|
||||
|
||||
# If a PR is passing all checks and is able to be merged, merge it without
|
||||
# placing it in the merge queue. This option adds some unfairness where PRs
|
||||
# waiting in the queue the longest are not served first.
|
||||
prioritize_ready_to_merge = true # default: false
|
||||
|
||||
# Never merge a PR. This option can be used with `update.always` to
|
||||
# automatically update a PR without merging.
|
||||
do_not_merge = false # default: false
|
||||
|
||||
[merge.message]
|
||||
# By default (`"github_default"`), GitHub uses the title of a PR's first commit
|
||||
# for the merge commit title. `"pull_request_title"` uses the PR title for the
|
||||
# merge commit.
|
||||
title = "github_default" # default: "github_default", options: "github_default", "pull_request_title"
|
||||
|
||||
# By default (`"github_default"`), GitHub combines the titles of a PR's commits
|
||||
# to create the body text of a merge commit. `"pull_request_body"` uses the
|
||||
# content of the PR to generate the body content while `"empty"` sets an empty
|
||||
# body.
|
||||
body = "github_default" # default: "github_default", options: "github_default", "pull_request_body", "empty"
|
||||
|
||||
# Append the Pull Request URL to the merge message. Makes navigating to the PR
|
||||
# from the commit easier.
|
||||
include_pull_request_url = true # default: false
|
||||
|
||||
# Add the PR number to the merge commit title. This setting replicates GitHub's
|
||||
# behavior of automatically adding the PR number to the title of merges created
|
||||
# through the UI. This option only applies when `merge.message.title` does not
|
||||
# equal `"github_default"`.
|
||||
include_pr_number = true # default: true
|
||||
|
||||
# Control the text used in the merge commit. The GitHub default is markdown, but
|
||||
# `"plain_text"` or `"html"` can be used to render the pull request body as text
|
||||
# or HTML. This option only applies when `merge.message.body = "pull_request_body"`.
|
||||
body_type = "markdown" # default: "markdown", options: "plain_text", "markdown", "html"
|
||||
|
||||
|
||||
# Strip HTML comments (`<!-- some HTML comment -->`) from merge commit body.
|
||||
# This setting is useful for stripping HTML comments created by PR templates.
|
||||
# This option only applies when `merge.message.body_type = "markdown"`.
|
||||
strip_html_comments = false # default: false
|
||||
|
||||
[update]
|
||||
|
||||
# Update a PR whenever out of date with the base branch. The PR will be updated
|
||||
# regardless of merge requirements (e.g. failing status checks, missing reviews,
|
||||
# blacklist labels).
|
||||
#
|
||||
# Kodiak will only update PRs with the `merge.automerge_label` label or if
|
||||
# `update.require_automerge_label = false`.
|
||||
#
|
||||
# When enabled, _Kodiak will not be able to efficiently update PRs._ If you have
|
||||
# multiple PRs against a target like `master`, any time a commit is added to
|
||||
# `master` _all_ of those PRs against `master` will update. For `N` PRs against
|
||||
# a target you will see at least `N(N-1)/2` updates. If this configuration
|
||||
# option was disabled you would only see at least `N-1` updates.
|
||||
always = false # default: false
|
||||
|
||||
# When enabled, Kodiak will only update PRs that have an automerge label
|
||||
# (configured via `merge.automerge_label`). When disable, Kodiak will update any
|
||||
# PR. This option only applies when `update.always = true`.
|
||||
require_automerge_label = true # default: true
|
Loading…
Reference in New Issue
Block a user