ceph-csi/.mergify.yml

453 lines
17 KiB
YAML
Raw Permalink Normal View History

---
queue_rules:
- name: default
merge_conditions:
# Conditions to get out of the queue (= merged)
- or:
- and:
- base~=^(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=uncommitted-code-check"
- "status-success=ci/centos/k8s-e2e-external-storage/1.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- and:
- base=release-v3.12
- "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.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- and:
- base=devel
- "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=uncommitted-code-check"
- "status-success=ci/centos/k8s-e2e-external-storage/1.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "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"
merge_method: rebase
update_method: rebase
pull_request_rules:
- name: start CI jobs for PRs in the merge queue
conditions:
- base~=^(devel)|(release-.+)$
- label!=conflicts
- not:
check-pending~=^ci/centos
- not:
status-success~=^ci/centos
- or:
- "check-pending=Queue: Embarked in merge train"
- author=mergify[bot]
actions:
label:
add:
- ok-to-test
- name: remove outdated approvals
conditions:
- base~=^(devel)|(release-.+)$
actions:
dismiss_reviews:
approved: true
changes_requested: false
- name: ask to resolve conflict
conditions:
- conflict
- author!=dependabot[bot]
actions:
comment:
# yamllint disable-line rule:truthy rule:line-length
message: "This pull request now has conflicts with the target branch. Could you please resolve conflicts and force push the corrected changes? 🙏"
- name: update dependencies by dependabot (skip commitlint)
conditions:
- author=dependabot[bot]
- label!=DNM
- base=devel
- "#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.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
- name: dismiss review of merged pull request
conditions:
- base~=^(devel)|(release-.+)$
- merged
actions:
dismiss_reviews: {}
- name: automatic merge
conditions:
- or:
- and:
- label!=DNM
- base~=^(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=DCO"
- "status-success=codespell"
- "status-success=commitlint"
- "status-success=go-test"
- "status-success=golangci-lint"
- "status-success=lint-extras"
- "status-success=mod-check"
- "status-success=multi-arch-build"
- "status-success=uncommitted-code-check"
- "status-success=ci/centos/k8s-e2e-external-storage/1.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- and:
- label!=DNM
- base=release-v3.12
- "#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.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
- and:
- label!=DNM
- base=devel
- "#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.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
- name: automatic merge PR having ready-to-merge label
conditions:
- or:
- and:
- base~=^(release-.+)$
- label!=DNM
- label=ready-to-merge
- "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=uncommitted-code-check"
- "status-success=ci/centos/k8s-e2e-external-storage/1.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
- and:
- base=release-v3.12
- label!=DNM
- label=ready-to-merge
- "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.29"
- "status-success=ci/centos/k8s-e2e-external-storage/1.30"
- "status-success=ci/centos/k8s-e2e-external-storage/1.31"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.29"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.30"
- "status-success=ci/centos/mini-e2e-helm/k8s-1.31"
- "status-success=ci/centos/mini-e2e/k8s-1.29"
- "status-success=ci/centos/mini-e2e/k8s-1.30"
- "status-success=ci/centos/mini-e2e/k8s-1.31"
- "status-success=ci/centos/upgrade-tests-cephfs"
- "status-success=ci/centos/upgrade-tests-rbd"
- "status-success=DCO"
actions:
queue:
name: default
delete_head_branch: {}
- name: backport patches to release-v3.12 branch
conditions:
- base=devel
- label=backport-to-release-v3.12
actions:
backport:
branches:
- release-v3.12
- name: backport patches to release-v3.13 branch
conditions:
- base=devel
- label=backport-to-release-v3.13
actions:
backport:
branches:
- release-v3.13
- 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: {}
##
## 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
# A [skip ci] in the PR description prevents Jenkins jobs from running, mark
# the PR as Draft so that CI jobs do not automatically run anymore.
- name: detect [skip ci] in the PR description
conditions:
# this should be \[skip\W+ci\], but Mergify does not accept that
- "body-raw~=skip ci"
actions:
edit:
draft: true
comment:
# yamllint disable-line rule:truthy rule:line-length
message: "The PR description contains the unsupported `[skip ci]` command, please update the description and mark the PR ready for review again."