# 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
  }
}
# TODO(beining): WIP. This is going to replace bug_filling_threshold.
bug_filing_thresholds {
  metric_id: "human-cls-failed-presubmit"
  threshold {
    # clusters blocking developers should have bugs filed.
    one_day: 3
  }
}
bug_filing_thresholds {
  metric_id: "test-runs-failed"
  threshold {
    # 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: 38
    value: "Bug"
  }
  priority_field_id: 36
  priorities {
    priority: "0"
    threshold {
      presubmit_runs_failed {
        one_day: 20
      }
    }
    # TODO(beining): WIP. This is going to replace threshold.
    thresholds {
      metric_id: "human-cls-failed-presubmit"
      threshold {
        one_day: 20
      }
    }
  }
  priorities {
    priority: "1"
    threshold {
      presubmit_runs_failed {
        one_day: 10
      }
    }
    # TODO(beining): WIP. This is going to replace threshold.
    thresholds {
      metric_id: "human-cls-failed-presubmit"
      threshold {
        one_day: 10
      }
    }
  }
  priorities {
    priority: "2"
    threshold {
      presubmit_runs_failed {
        one_day: 2
      }
    }
    # TODO(beining): WIP. This is going to replace threshold.
    thresholds {
      metric_id: "human-cls-failed-presubmit"
      threshold {
        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
      }
    }
    # TODO(beining): WIP. This is going to replace threshold.
    # Clusters which fail to meet this threshold will be closed.
    thresholds {
      metric_id: "test-runs-failed"
      threshold {
        one_day: 2
      }
    }
    thresholds {
      metric_id: "human-cls-failed-presubmit"
      threshold {
        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
      }
    }
  }
}
