# Commit Queue configuration file. The documentation of the format can be found
# at http://luci-config.appspot.com/schemas/projects/refs:cq.cfg.

version: 1
cq_name: "webrtc"
cq_status_url: "https://chromium-cq-status.appspot.com"
git_repo_url: "https://webrtc.googlesource.com/src"
commit_burst_delay: 60
max_commit_burst: 1

gerrit {}

verifiers {
  gerrit_cq_ability {
    committer_list: "project-webrtc-committers"
    dry_run_access_list: "project-webrtc-tryjob-access"
  }

  tree_status {
    tree_status_url: "https://webrtc-status.appspot.com"
  }

  try_job {
    buckets {
      name: "luci.webrtc.try"
      builders { name: "android_dbg" }
      builders { name: "android_rel" }
      builders { name: "android_arm64_rel" }
      builders { name: "android_chromium_compile" }
      builders { name: "android_compile_x86_dbg" }
      builders { name: "android_compile_x86_rel" }
      builders { name: "android_compile_x64_dbg" }
      builders { name: "android_more_configs" }
      builders { name: "ios_arm64_dbg" }
      builders { name: "ios_arm64_rel" }
      builders { name: "ios_dbg" }
      builders { name: "ios_rel" }
      builders { name: "ios32_sim_ios9_dbg" }
      builders { name: "ios64_sim_ios9_dbg" }
      builders { name: "ios64_sim_ios10_dbg" }
      builders { name: "ios_api_framework" }
      # TODO(kjellander): Re-enable when https://bugs.webrtc.org/7413 is fixed.
      #builders { name: "linux32_rel" }
      builders { name: "linux32_dbg" }
      builders { name: "linux32_arm_dbg" }
      builders { name: "linux32_arm_rel" }
      builders { name: "linux_arm64_dbg" }
      builders { name: "linux_arm64_rel" }
      builders { name: "linux_asan" }
      builders { name: "linux_chromium_compile" }
      builders { name: "linux_compile_dbg" }
      builders { name: "linux_libfuzzer_rel" }
      # TODO(bugs.webrtc.org/8356): Investigate fixing and re-enabling.
      #builders { name: "linux_memcheck" }
      builders { name: "linux_msan" }
      builders { name: "linux_rel" }
      builders { name: "linux_tsan2" }
      builders { name: "linux_ubsan" }
      builders { name: "linux_ubsan_vptr" }
      builders { name: "linux_gcc_rel" }
      builders { name: "linux_more_configs" }
      builders { name: "mac_asan" }
      builders { name: "mac_chromium_compile" }
      builders { name: "mac_compile_dbg" }
      builders { name: "mac_rel" }
      builders { name: "presubmit" }
      builders { name: "win_asan" }
      builders { name: "win_chromium_compile" }
      builders { name: "win_clang_dbg" }
      builders { name: "win_clang_rel" }
      builders { name: "win_dbg" }
      builders { name: "win_rel" }
      builders { name: "win_x64_clang_dbg" }
      builders { name: "win_x64_clang_rel" }
      builders { name: "win_x64_dbg" }
      builders { name: "win_x64_rel" }
      builders { name: "win_more_configs" }
      builders {
        name: "noop"
        equivalent_to {
          bucket: "master.internal.tryserver.corp.webrtc"
          builder: "linux_internal_compile_lite"
          owner_whitelist_group: "project-webrtc-internal-tryjob-access"
          percentage: 100
        }
      }
    }
  }
}
