ceph-csi/.mergify.yml
Niels de Vos c452b56285 ci: prevent always removing ok-to-test label
The check for a rebase always hits, but the actions for that inspect the
event for a real rebase. Removing the `ok-to-test` label is not suitable
in the Mergify check, as the label action does not inspect the event.
This caused the `ok-to-test` label to be removed on every Mergify
validation of the PR.

Fixes: ba68ce6 (ci: drop `ok-to-test` label when a PR is rebased)
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2023-02-08 14:09:33 +01:00

346 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
# 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
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
- 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