--- 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."