pull_request_rules:
  - name: Test passed for code changed
    conditions:
      - base=master
      - "status-success=Code Checker AMD64 Ubuntu 18.04"
      - "status-success=Build and test AMD64 Ubuntu 18.04"
      - "status-success=continuous-integration/jenkins/pr-merge"
      - "status-success=codecov/patch"
      - "status-success=codecov/project"
    actions:
      label:
        add:
          - ci-passed

  - name: Test passed for tests changed
    conditions:
      - base=master
      - -files~=^(?!tests\/python_client).+
      - "status-success=continuous-integration/jenkins/pr-merge"
    actions:
      label:
        add:
          - ci-passed

  - name: Test passed for go unittest code changed
    conditions:
      - base=master
      - "status-success=Code Checker AMD64 Ubuntu 18.04"
      - "status-success=Build and test AMD64 Ubuntu 18.04"
      - -files~=^(?!internal\/.*_test\.go).*$
    actions:
      label:
        add:
          - ci-passed

  - name: Test passed for mergify changed
    conditions:
      - base=master
      - -files~=^(?!\.github\/mergify\.yml).*$
    actions:
      label:
        add:
          - ci-passed

  - name: Test passed for title skip ci
    conditions:
      - base=master
      - title~=\[skip ci\]
      - label=kind/improvement
    actions:
      label:
        add:
          - ci-passed

  - name: Remove ci-passed when code check failed
    conditions:
      - base=master
      - "check-failure=Code Checker AMD64 Ubuntu 18.04"
    actions:
      label:
        remove:
          - ci-passed

  - name: Remove ci-passed when unittest failed
    conditions:
      - base=master
      - -title~=\[skip ci\]
      - "check-failure=Build and test AMD64 Ubuntu 18.04"
    actions:
      label:
        remove:
          - ci-passed

  - name: Blocking PR if missing a related issue or PR doesn't have kind/improvement label
    conditions:
      - base=master
      - -body~=\#[0-9]{1,6}(\s+|$)
      - -label=kind/improvement
      - -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: #6534”)


  - name: Dismiss block label if related issue be added into PR
    conditions:
      - or:
        - and:
          - base=master
          - body~=\#[0-9]{1,6}(\s+|$)
        - and:
          - base=master
          - label=kind/improvement
    actions:
      label:
        remove:
          - do-not-merge/missing-related-issue

  - name: Dismiss block label if automated create PR
    conditions:
      - base=master
      - title~=\[automated\]
    actions:
      label:
        remove:
          - do-not-merge/missing-related-issue