# Schema for this config file: ProjectConfig in:
# https://luci-config.appspot.com/schemas/projects:luci-analysis.cfg
bug_filing_threshold {
  presubmit_runs_failed {
    # clusters blocking developers should have bugs filed.
    one_day: 3
  }
  test_runs_failed {
    # clusters that aren't blocking developers but are failing a significant
    # amount of tasks should have bugs filed to look into optimizing machine
    # resource usage.
    one_day: 500
  }
}
clustering {
  test_name_rules {
    name: "Google Test (Type-parameterized)"
    pattern: "^ninja:(?P<target>[\\w/]+:\\w+)/(\\w+/)?(?P<suite>\\w+)/\\w+\\.(?P<case>\\w+)$"
    like_template: "ninja:${target}/%${suite}/%.${case}"
  }
  test_name_rules {
    name: "Google Test (Value-parameterized)"
    pattern: "^ninja:(?P<target>[\\w/]+:\\w+)/(\\w+/)?(?P<suite>\\w+)\\.(?P<case>\\w+)/[\\w.]+$"
    like_template: "ninja:${target}/%${suite}.${case}%"
  }
}
monorail {
  project: "webrtc"
  default_field_values {
    # Type field.
    field_id: 10
    value: "Bug"
  }
  priority_field_id: 11
  priorities {
    priority: "0"
    threshold {
      presubmit_runs_failed {
        one_day: 20
      }
    }
  }
  priorities {
    priority: "1"
    threshold {
      presubmit_runs_failed {
        one_day: 10
      }
    }
  }
  priorities {
    priority: "2"
    threshold {
      presubmit_runs_failed {
        one_day: 2
      }
    }
  }
  priorities {
    priority: "3"
    threshold {
      # Clusters which fail to meet this threshold will be closed.
      test_runs_failed {
        one_day: 2
      }
      presubmit_runs_failed {
        one_day: 1
        seven_day: 1
      }
    }
  }
  priority_hysteresis_percent: 50
  monorail_hostname: "bugs.chromium.org"
  display_prefix: "bugs.webrtc.org"
}

realms {
  name: "ci"
  test_variant_analysis {
    update_test_variant_task {
      update_test_variant_task_interval {
        seconds: 3600 # 1 hour
      }
      test_variant_status_update_duration {
        seconds: 86400 # 24 hours
      }
    }
    bq_exports {
      table {
        cloud_project: "webrtc-ci"
        dataset: "weetbix"
        table: "ci_flaky_test_variants"
      }
      predicate {
        status: FLAKY
      }
    }
  }
}

realms {
  name: "try"
  test_variant_analysis {
    update_test_variant_task {
      update_test_variant_task_interval {
        seconds: 3600 # 1 hour
      }
      test_variant_status_update_duration {
        seconds: 86400 # 24 hours
      }
    }
    bq_exports {
      table {
        cloud_project: "webrtc-ci"
        dataset: "weetbix"
        table: "try_flaky_test_variants"
      }
      predicate {
        status: FLAKY
      }
    }
  }
}
