misc: - &source_code_files files~=^(?=.*((\.(go|h|cpp)|go.sum|go.mod|CMakeLists.txt|conanfile\.*))).*$ - &no_source_code_files -files~=^(?=.*((\.(go|h|cpp)|go.sum|go.mod|CMakeLists.txt|conanfile\.*))).*$ - when_build_and_test_status_successs: &Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - 'status-success=Build and test AMD64 Ubuntu 20.04' - 'status-success=Build and test AMD64 Ubuntu 22.04' - when_build_and_test_status_failed: &Build_AND_TEST_STATUS_FAILED_ON_UBUNTU_20_OR_UBUNTU_22 - &failed_on_ubuntu_20 'check-failure=Build and test AMD64 Ubuntu 20.04' - &failed_on_ubuntu_22 'check-failure=Build and test AMD64 Ubuntu 22.04' - when_go_sdk_status_success: &WHEN_GO_SDK_STATUS_SUCCESS - 'status-success=go-sdk' - 'status-success=milvus-sdk-go ' - branch: &BRANCHES # In this pull request, the changes are based on the master branch - &MASTER_BRANCH base=master # In this pull request, the changes are based on the 2.x(or 2.x.x) branch - &2X_BRANCH base~=^2(\.\d+){1,2}$ pull_request_rules: - name: Add needs-dco label when DCO check failed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - -status-success=DCO actions: label: remove: - dco-passed add: - needs-dco comment: message: | @{{author}} Thanks for your contribution. Please submit with DCO, see the contributing guide https://github.com/milvus-io/milvus/blob/master/CONTRIBUTING.md#developer-certificate-of-origin-dco. - name: Add dco-passed label when DCO check passed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - status-success=DCO actions: label: remove: - needs-dco add: - dco-passed - name: Test passed for code changed on master conditions: - *MASTER_BRANCH - or: *Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - or: *WHEN_GO_SDK_STATUS_SUCCESS - 'status-success=UT for Cpp' - 'status-success=UT for Go' - 'status-success=Integration Test' - 'status-success=Code Checker AMD64 Ubuntu 22.04' # - 'status-success=Code Checker MacOS 12' # - 'status-success=Code Checker Amazonlinux 2023' - 'status-success=cpu-e2e' # - 'status-success=codecov/patch' # - 'status-success=codecov/project' actions: label: add: - ci-passed - name: Test passed for code changed on 2.* branch conditions: - *2X_BRANCH - 'status-success=Code Checker AMD64 Ubuntu 22.04' - or: *Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - 'status-success=UT for Cpp' - 'status-success=UT for Go' - 'status-success=Integration Test' # - 'status-success=Code Checker MacOS 12' # - 'status-success=Code Checker CentOS 7' - 'status-success=cpu-e2e' # - 'status-success=codecov/patch' # - 'status-success=codecov/project' actions: label: add: - ci-passed - name: Test passed for tests changed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - -files~=^(?!tests\/python_client).+ - 'status-success=cpu-e2e' actions: label: add: - ci-passed - name: Test passed for docs changed only conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - -files~=^(?!.*\.(md)).*$ actions: label: add: - ci-passed - name: Test passed for non go or c++ code changed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'status-success=cpu-e2e' - *no_source_code_files actions: label: add: - ci-passed - name: Test passed for go unittest code changed-master conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - or: *Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - 'status-success=Code Checker AMD64 Ubuntu 22.04' # - 'status-success=Code Checker MacOS 12' # - 'status-success=Code Checker Amazonlinux 2023' - 'status-success=UT for Go' - or: - -files~=^(?!pkg\/.*_test\.go).*$ - -files~=^(?!internal\/.*_test\.go).*$ actions: label: add: - ci-passed - name: Test passed for go unittest code changed -2.2.* conditions: - *2X_BRANCH - or: *Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - 'status-success=Code Checker AMD64 Ubuntu 22.04' # - 'status-success=Code Checker MacOS 12' - -files~=^(?!internal\/.*_test\.go).*$ actions: label: add: - ci-passed - name: Test passed for mergify changed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - -files~=^(?!\.github\/mergify\.yml).*$ actions: label: add: - ci-passed - name: Test passed for title skip e2e conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - title~=\[skip e2e\] - label=kind/enhancement - *no_source_code_files actions: label: add: - ci-passed - name: Blocking PR if missing a related issue or doesn't have kind/enhancement label conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - and: - -body~=\#[0-9]{1,6}(\s+|$) - -body~=https://github.com/milvus-io/milvus/issues/[0-9]{1,6}(\s+|$) - or: - and: - label=kind/enhancement - or: - label=size/L - label=size/XL - label=size/XXL - label=kind/bug - label=kind/feature - -label=kind/doc - -label=kind/test - -title~=\[automated\] actions: label: add: - do-not-merge/missing-related-issue comment: message: | @{{author}} Please associate the related issue to the body of your Pull Request. (eg. “issue: #”) - name: Dismiss block label if related issue be added into PR conditions: - and: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - or: - body~=\#[0-9]{1,6}(\s+|$) - body~=https://github.com/milvus-io/milvus/issues/[0-9]{1,6}(\s+|$) actions: label: remove: - do-not-merge/missing-related-issue - name: Blocking PR if missing a related master PR or doesn't have kind/branch-feature label conditions: - *2X_BRANCH - and: - -body~=pr\:\ \#[0-9]{1,6}(\s+|$) - -body~=https://github.com/milvus-io/milvus/pull/[0-9]{1,6}(\s+|$) - -label=kind/branch-feature - -title~=\[automated\] actions: label: add: - do-not-merge/missing-related-pr comment: message: | @{{author}} Please associate the related pr of master to the body of your Pull Request. (eg. “pr: #”) - name: Dismiss block label if related pr be added into PR conditions: - *2X_BRANCH - or: - body~=pr\:\ \#[0-9]{1,6}(\s+|$) - body~=https://github.com/milvus-io/milvus/pull/[0-9]{1,6}(\s+|$) - label=kind/branch-feature actions: label: remove: - do-not-merge/missing-related-pr - name: Dismiss block label if automated create PR conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - title~=\[automated\] actions: label: remove: - do-not-merge/missing-related-issue - do-not-merge/missing-related-pr - name: Test passed for skip e2e-master conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - or: *Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - title~=\[skip e2e\] - 'status-success=Code Checker AMD64 Ubuntu 22.04' - 'status-success=UT for Cpp' - 'status-success=UT for Go' - 'status-success=Integration Test' # - 'status-success=Code Checker MacOS 12' # - 'status-success=Code Checker Amazonlinux 2023' - *source_code_files actions: label: add: - ci-passed - name: Test passed for skip e2e - 2.2.* conditions: - *2X_BRANCH - or: *Build_AND_TEST_STATUS_SUCESS_ON_UBUNTU_20_OR_UBUNTU_22 - title~=\[skip e2e\] # - 'status-success=Code Checker AMD64 Ubuntu 20.04' - 'status-success=UT for Cpp' - 'status-success=UT for Go' - 'status-success=Integration Test' # - 'status-success=Code Checker MacOS 12' - *source_code_files actions: label: add: - ci-passed - name: Assign the 'lgtm' and 'approved' labels following the successful testing of the 'Update Knowhere Commit' conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=Update Knowhere Commit' - label=ci-passed actions: label: add: - lgtm - approved - name: Remove ci-passed label when status for code checker or ut is not success-master conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - label!=manual-pass - *source_code_files - or: - *failed_on_ubuntu_20 - *failed_on_ubuntu_22 - 'status-success!=Code Checker AMD64 Ubuntu 22.04' - 'status-success!=UT for Cpp' - 'status-success!=UT for Go' - 'status-success!=Integration Test' # - 'status-success!=Code Checker MacOS 12' # - 'status-success!=Code Checker Amazonlinux 2023' actions: label: remove: - ci-passed - name: Remove ci-passed label when status for code checker or ut is not success-2.2.* conditions: - label!=manual-pass - base~=^2\.2\.\d+$ - *source_code_files - or: - *failed_on_ubuntu_20 - *failed_on_ubuntu_22 # - 'status-success!=Code Checker AMD64 Ubuntu 20.04' - 'status-success!=UT for Cpp' - 'status-success!=UT for Go' - 'status-success!=Integration Test' # - 'status-success!=Code Checker MacOS 12' # - 'status-success!=Code Checker CentOS 7' actions: label: remove: - ci-passed - name: Remove ci-passed label when status for jenkins job is not success conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - label!=manual-pass - -title~=\[skip e2e\] - files~=^(?!(.*_test\.go|.*\.md)).*$ - 'status-success!=cpu-e2e' actions: label: remove: - ci-passed - name: Add comment when jenkins job failed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'check-failure=cpu-e2e' actions: comment: message: | @{{author}} E2e jenkins job failed, comment `/run-cpu-e2e` can trigger the job again. - name: Add comment when go-sdk check failed conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'check-failure=go-sdk' actions: comment: message: | @{{author}} go-sdk check failed, comment `rerun go-sdk` can trigger the job again. - name: Add comment when code checker or ut failed -master conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - or: # - 'check-failure=Code Checker AMD64 Ubuntu 20.04' - 'check-failure=Build and test AMD64 Ubuntu 20.04' actions: comment: message: | @{{author}} ut workflow job failed, comment `rerun ut` can trigger the job again. - name: Add comment when code checker or ut failed -2.2.* conditions: - *2X_BRANCH - or: # - 'check-failure=Code Checker AMD64 Ubuntu 20.04' - 'check-failure=Build and test AMD64 Ubuntu 20.04' actions: comment: message: | @{{author}} ut workflow job failed, comment `rerun ut` can trigger the job again. - name: Add 'do-not-merge/invalid-pr-format' label for invalid PR titles conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - or: - '-title~=^(feat:|enhance:|fix:|test:|doc:|auto:|\[automated\])' - body=^$ actions: label: add: - do-not-merge/invalid-pr-format comment: message: | @{{author}} **Invalid PR Title Format Detected** Your PR submission does not adhere to our required standards. To ensure clarity and consistency, please meet the following criteria: 1. **Title Format:** The PR title must begin with one of these prefixes: - `feat:` for introducing a new feature. - `fix:` for bug fixes. - `enhance:` for improvements to existing functionality. - `test`: for add tests to existing functionality. - `doc`: for modifying documentation. - `auto`: for the pull request from bot. 2. **Description Requirement:** The PR must include a non-empty description, detailing the changes and their impact. **Required Title Structure:** ``` [Type]: [Description of the PR] ``` Where `Type` is one of `feat`, `fix`, `enhance`, `test` or `doc`. **Example:** ``` enhance: improve search performance significantly ``` Please review and update your PR to comply with these guidelines. - name: Remove 'do-not-merge/invalid-pr-format' label for valid PRs conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=^(feat:|enhance:|fix:|test:|doc:|auto:|\[automated\])' - '-body=^$' - 'label=do-not-merge/invalid-pr-format' actions: label: remove: - do-not-merge/invalid-pr-format - name: Label bug fix PRs conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=^fix:' actions: label: add: - kind/bug - name: Label feature PRs conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=^feat:' actions: label: add: - kind/feature - name: Label enhancement PRs conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=^enhance:' actions: label: add: - kind/enhancement - name: Label test PRs conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=^test:' actions: label: add: - kind/test - name: Label doc PRs conditions: # branch condition: in this pull request, the changes are based on any branch referenced by BRANCHES - or: *BRANCHES - 'title~=^doc:' actions: label: add: - kind/doc