--- 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 update_method: rebase # For rebasing Mergify uses the author of the PR. Ideally we use the # ceph-csi-bot for that, but this is a feature that needs a paid # subscription. # # rebase: # Use ceph-csi-bot for rebasing, not the account of the PR owner. # bot_account: ceph-csi-bot # by default Mergify requires manual merging of PRs that modify its own # configuration (this file), allowing this makes it easier to prepare for # releases (new branches added here) allow_merging_configuration_change: true queue_rules: - name: default 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=ci/centos/k8s-e2e-external-storage/1.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "status-success=ci/centos/upgrade-tests-cephfs" - "status-success=ci/centos/upgrade-tests-rbd" - and: - base=release-v3.10 - "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.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/upgrade-tests-cephfs" - "status-success=ci/centos/upgrade-tests-rbd" - and: - base=release-v3.11 - "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.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "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=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "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 PRs in the merge queue conditions: - base~=^(devel)|(release-.+)$ - 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 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: - or: - and: - author=dependabot[bot] - 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=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.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/upgrade-tests-cephfs" - "status-success=ci/centos/upgrade-tests-rbd" - "status-success=DCO" - and: - 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.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "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=ci/centos/k8s-e2e-external-storage/1.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "status-success=ci/centos/upgrade-tests-cephfs" - "status-success=ci/centos/upgrade-tests-rbd" - and: - label!=DNM - base=release-v3.11 - "#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=ci/centos/k8s-e2e-external-storage/1.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "status-success=ci/centos/upgrade-tests-cephfs" - "status-success=ci/centos/upgrade-tests-rbd" - and: - label!=DNM - base=release-v3.10 - "#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.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "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.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "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=ci/centos/k8s-e2e-external-storage/1.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/k8s-e2e-external-storage/1.29" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.29" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.29" - "status-success=ci/centos/upgrade-tests-cephfs" - "status-success=ci/centos/upgrade-tests-rbd" - "status-success=DCO" - and: - base=release-v3.10 - 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.26" - "status-success=ci/centos/k8s-e2e-external-storage/1.27" - "status-success=ci/centos/k8s-e2e-external-storage/1.28" - "status-success=ci/centos/mini-e2e-helm/k8s-1.26" - "status-success=ci/centos/mini-e2e-helm/k8s-1.27" - "status-success=ci/centos/mini-e2e-helm/k8s-1.28" - "status-success=ci/centos/mini-e2e/k8s-1.26" - "status-success=ci/centos/mini-e2e/k8s-1.27" - "status-success=ci/centos/mini-e2e/k8s-1.28" - "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.10 branch conditions: - base=devel - label=backport-to-release-v3.10 actions: backport: branches: - release-v3.10 - name: backport patches to release-v3.11 branch conditions: - base=devel - label=backport-to-release-v3.11 actions: backport: branches: - release-v3.11 - 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