# 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_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_arm64_rel" }
      builders { name: "android_compile_rel" }
      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_compile_rel" }
      builders { name: "linux_libfuzzer_rel" }
      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
      #   }
      # }
    }
  }
}
