ceph-csi/.mergify.yml
Niels de Vos 62ec2171e7 ci: use ceph-csi-bot for Mergify actions
The `bot_account` option was not part of the Open Source plan, but now
it is. When Mergify rebases PRs, it sometimes leaves the following
message:

```
This pull request got rebased on behalf of a random user of the
organization. This behavior will change on the 1st February 2023,
Mergify will pick the author of the pull request instead.

To get the future behavior now, you can configure bot_account options
(e.g.: bot_account: { author } or update_bot_account: { author }.

Or you can create a dedicated github account for squash and rebase
operations, and use it in different bot_account options.
```

It is clearer for everyone when the Ceph-CSI Bot is used for automated
actions. Contributers might get confused why the PR was updated in their
name, without them doing anything.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2023-02-01 13:52:33 +01:00

345 lines
10 KiB
YAML

---
defaults:
actions:
queue:
# merge_bot_account: ceph-csi-bot #mergify[bot] will be merging prs.
# update_bot_account: ceph-csi-bot #mergify will randomly pick and use
# credentials of users with write access to repo to rebase prs.
name: default
method: rebase
rebase_fallback: merge
update_method: rebase
rebase:
# Use ceph-csi-bot for rebasing, not the account of the PR owner.
bot_account: ceph-csi-bot
queue_rules:
- name: default
conditions:
# Conditions to get out of the queue (= merged)
- or:
- and:
- base~=^(devel)|(release-.+)$
- "status-success=codespell"
- "status-success=multi-arch-build"
- "status-success=go-test"
- "status-success=golangci-lint"
- "status-success=mod-check"
- "status-success=lint-extras"
- "status-success=ci/centos/k8s-e2e-external-storage/1.23"
- "status-success=ci/centos/k8s-e2e-external-storage/1.24"
- "status-success=ci/centos/k8s-e2e-external-storage/1.25"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.23"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.24"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.25"
- "status-success=ci/centos/mini-e2e/k8s-1.23"
- "status-success=ci/centos/mini-e2e/k8s-1.24"
- "status-success=ci/centos/mini-e2e/k8s-1.25"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- and:
- base=ci/centos
- "status-success=ci/centos/job-validation"
- "status-success=ci/centos/jjb-validate"
pull_request_rules:
- name: start CI jobs for queued PR
conditions:
- base~=^(devel)|(release-.+)$
- "check-pending=Queue: Embarked in merge train"
actions:
label:
add:
- ok-to-test
- name: remove outdated approvals
conditions:
- base~=^(devel)|(release-.+)$
actions:
dismiss_reviews:
approved: true
changes_requested: false
label:
remove:
- ok-to-test
- name: ask to resolve conflict
conditions:
- conflict
- author!=dependabot[bot]
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? 🙏"
label:
remove:
- ok-to-test
- name: update dependencies by dependabot (skip commitlint)
conditions:
- author=dependabot[bot]
- label!=DNM
- base~=^(devel)|(release-.+)$
- "#approved-reviews-by>=2"
- "#changes-requested-reviews-by=0"
- "approved-reviews-by=@ceph/ceph-csi-contributors"
- "approved-reviews-by=@ceph/ceph-csi-maintainers"
- "status-success=codespell"
- "status-success=multi-arch-build"
- "status-success=go-test"
- "status-success=golangci-lint"
- "status-success=mod-check"
- "status-success=lint-extras"
- "status-success=ci/centos/k8s-e2e-external-storage/1.23"
- "status-success=ci/centos/k8s-e2e-external-storage/1.24"
- "status-success=ci/centos/k8s-e2e-external-storage/1.25"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.23"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.24"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.25"
- "status-success=ci/centos/mini-e2e/k8s-1.23"
- "status-success=ci/centos/mini-e2e/k8s-1.24"
- "status-success=ci/centos/mini-e2e/k8s-1.25"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
label:
remove:
- ok-to-test
- name: dismiss review of merged pull request
conditions:
- base~=^(devel)|(release-.+)$
- merged
actions:
dismiss_reviews: {}
label:
remove:
- ok-to-test
- name: automatic merge
conditions:
- label!=DNM
- base~=^(devel)|(release-.+)$
- "#approved-reviews-by>=2"
- "#changes-requested-reviews-by=0"
- "approved-reviews-by=@ceph/ceph-csi-contributors"
- "approved-reviews-by=@ceph/ceph-csi-maintainers"
- "status-success=codespell"
- "status-success=multi-arch-build"
- "status-success=go-test"
- "status-success=golangci-lint"
- "status-success=commitlint"
- "status-success=mod-check"
- "status-success=lint-extras"
- "status-success=ci/centos/k8s-e2e-external-storage/1.23"
- "status-success=ci/centos/k8s-e2e-external-storage/1.24"
- "status-success=ci/centos/k8s-e2e-external-storage/1.25"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.23"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.24"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.25"
- "status-success=ci/centos/mini-e2e/k8s-1.23"
- "status-success=ci/centos/mini-e2e/k8s-1.24"
- "status-success=ci/centos/mini-e2e/k8s-1.25"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
label:
remove:
- ok-to-test
- name: automatic merge PR having ready-to-merge label
conditions:
- label!=DNM
- label=ready-to-merge
- base~=^(devel)|(release-.+)$
- "approved-reviews-by=@ceph/ceph-csi-maintainers"
- "status-success=codespell"
- "status-success=multi-arch-build"
- "status-success=go-test"
- "status-success=golangci-lint"
- "status-success=commitlint"
- "status-success=mod-check"
- "status-success=lint-extras"
- "#changes-requested-reviews-by=0"
- "status-success=ci/centos/k8s-e2e-external-storage/1.23"
- "status-success=ci/centos/k8s-e2e-external-storage/1.24"
- "status-success=ci/centos/k8s-e2e-external-storage/1.25"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.23"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.24"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.25"
- "status-success=ci/centos/mini-e2e/k8s-1.23"
- "status-success=ci/centos/mini-e2e/k8s-1.24"
- "status-success=ci/centos/mini-e2e/k8s-1.25"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
label:
remove:
- ok-to-test
- name: backport patches to release-v3.6 branch
conditions:
- base=devel
- label=backport-to-release-v3.6
actions:
backport:
branches:
- release-v3.6
- name: backport patches to release-v3.7 branch
conditions:
- base=devel
- label=backport-to-release-v3.7
actions:
backport:
branches:
- release-v3.7
- 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"
- "approved-reviews-by=@ceph/ceph-csi-contributors"
- "approved-reviews-by=@ceph/ceph-csi-maintainers"
- "#changes-requested-reviews-by=0"
- "status-success=ci/centos/job-validation"
- "status-success=ci/centos/jjb-validate"
- "status-success=DCO"
actions:
queue:
name: default
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=@ceph/ceph-csi-maintainers"
- "#changes-requested-reviews-by=0"
- "status-success=ci/centos/job-validation"
- "status-success=ci/centos/jjb-validate"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
label:
remove:
- ok-to-test
##
## Automatically set/remove labels
##
- name: title contains DNM
conditions:
- title~=DNM
actions:
label:
add:
- DNM
- name: title contains CephFS
conditions:
- "title~=cephfs: "
actions:
label:
add:
- component/cephfs
- name: title contains NFS
conditions:
- "title~=nfs: "
actions:
label:
add:
- component/nfs
- name: title contains RBD
conditions:
- "title~=rbd: "
actions:
label:
add:
- component/rbd
- name: title contains CI, testing or e2e
conditions:
- "title~=(ci: )|(testing: )|(e2e)"
actions:
label:
add:
- component/testing
- name: title contains Helm
conditions:
- title~=helm
actions:
label:
add:
- component/deployment
- name: title contains rebase
conditions:
- "title~=rebase: "
actions:
label:
add:
- rebase
- name: title contains build
conditions:
- "title~=build: "
actions:
label:
add:
- component/build
- name: title indicates a bug fix
conditions:
- title~=(bug)|(fix)
actions:
label:
add:
- bug
- name: title contains cleanup
conditions:
- "title~=cleanup: "
actions:
label:
add:
- cleanup
- name: title contains doc
conditions:
- "title~=doc: "
actions:
label:
add:
- component/docs
- ci/skip/e2e
- ci/skip/multi-arch-build
- name: title contains Mergify
conditions:
- "title~=(?i)mergify"
actions:
label:
add:
- Repo activity
- ci/skip/e2e
- ci/skip/multi-arch-build