ceph-csi/.mergify.yml
Niels de Vos b881ef1eee ci: prevent Mergify from doing merge commits
Merge commits cause the CentOS CI commitlint job to fail. By configuring
Mergify to not do merge commits, but rebases before final testing, we
can use the CentOS CI commitlint job when the GitHub commitlint App does
not work.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-08-17 16:23:12 +05:30

251 lines
7.3 KiB
YAML

---
pull_request_rules:
- name: rebase on request
conditions: []
actions:
rebase:
bot_account: ceph-csi-bot
- name: remove outdated approvals
conditions:
- base=master
actions:
dismiss_reviews:
approved: true
changes_requested: false
- name: ask to resolve conflict
conditions:
- conflict
actions:
comment:
# yamllint disable-line rule:truthy
message: "This pull request now has conflicts with the target branch.
Could you please resolve conflicts and force push the corrected
changes? 🙏"
- name: automatic merge
conditions:
- label!=DNM
- base=master
- "#approved-reviews-by>=2"
- "#changes-requested-reviews-by=0"
- "status-success=continuous-integration/travis-ci/pr"
- "status-success=ci/centos/containerized-tests"
- "status-success=DCO"
- "status-success=commitlint"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: automatic merge PR having ready-to-merge label
conditions:
- label!=DNM
- label=ready-to-merge
- base=master
- "#approved-reviews-by>=1"
- "#changes-requested-reviews-by=0"
- "status-success=continuous-integration/travis-ci/pr"
- "status-success=ci/centos/containerized-tests"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.17.8"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.18.5"
- "status-success=ci/centos/mini-e2e/k8s-1.17.8"
- "status-success=ci/centos/mini-e2e/k8s-1.17.8"
- "status-success=DCO"
- "status-success=commitlint"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: backport patches to release v1.2.0 branch
conditions:
- base=master
- label=backport-to-release-v1.2.0
actions:
backport:
branches:
- release-v1.2.0
# automerge backports if CI successfully ran
- name: automerge backport release-v1.2.0
conditions:
- author=mergify[bot]
- base=release-v1.2.0
- label!=DNM
- "#changes-requested-reviews-by=0"
- "#approved-reviews-by>=1"
- "status-success=continuous-integration/travis-ci/pr"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: backport patches to release-v2.0 branch
conditions:
- base=master
- label=backport-to-release-v2.0
actions:
backport:
branches:
- release-v2.0
# automerge backports if CI successfully ran
- name: automerge backport release-v2.0
conditions:
- author=mergify[bot]
- base=release-v2.0
- label!=DNM
- "#changes-requested-reviews-by=0"
- "#approved-reviews-by>=1"
- "status-success=continuous-integration/travis-ci/pr"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: backport patches to release-v2.1 branch
conditions:
- base=master
- label=backport-to-release-v2.1
actions:
backport:
branches:
- release-v2.1
# automerge backports if CI successfully ran
- name: automerge backport release-v2.1
conditions:
- author=mergify[bot]
- base=release-v2.1
- label!=DNM
- "#changes-requested-reviews-by=0"
- "#approved-reviews-by>=1"
- "status-success=continuous-integration/travis-ci/pr"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: backport patches to release-v3.0 branch
conditions:
- base=master
- label=backport-to-release-v3.0
actions:
backport:
branches:
- release-v3.0
# automerge backports if CI successfully ran
- name: automerge backport release-v3.0
conditions:
- author=mergify[bot]
- base=release-v3.0
- label!=DNM
- "#changes-requested-reviews-by=0"
- "#approved-reviews-by>=1"
- "status-success=continuous-integration/travis-ci/pr"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: backport patches to release-v3.1 branch
conditions:
- base=master
- label=backport-to-release-v3.1
actions:
backport:
branches:
- release-v3.1
# automerge backports if CI successfully ran
- name: automerge backport release-v3.1
conditions:
- author=mergify[bot]
- base=release-v3.1
- label!=DNM
- "#changes-requested-reviews-by=0"
- "#approved-reviews-by>=1"
- "status-success=continuous-integration/travis-ci/pr"
- "status-success=continuous-integration/travis-ci/pr"
- "status-success=ci/centos/containerized-tests"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.17.8"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.18.5"
- "status-success=ci/centos/mini-e2e/k8s-1.17.8"
- "status-success=ci/centos/mini-e2e/k8s-1.17.8"
- "status-success=DCO"
- "status-success=commitlint"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: remove outdated approvals on ci/centos
conditions:
- base=ci/centos
actions:
dismiss_reviews:
approved: true
changes_requested: false
- name: automatic merge on ci/centos
conditions:
- label!=DNM
- base=ci/centos
- "#approved-reviews-by>=2"
- "#changes-requested-reviews-by=0"
- "status-success=ci/centos/job-validation"
- "status-success=ci/centos/jjb-validate"
- "status-success=DCO"
- "status-success=commitlint"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}
- name: automatic merge PR having ready-to-merge label on ci/centos
conditions:
- label!=DNM
- label=ready-to-merge
- base=ci/centos
- "#approved-reviews-by>=1"
- "#changes-requested-reviews-by=0"
- "status-success=ci/centos/job-validation"
- "status-success=ci/centos/jjb-validate"
- "status-success=DCO"
- "status-success=commitlint"
actions:
merge:
method: rebase
rebase_fallback: merge
bot_account: ceph-csi-bot
strict: smart
strict_method: rebase
dismiss_reviews: {}
delete_head_branch: {}