# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see Config message:
#   https://luci-config.appspot.com/schemas/projects:commit-queue.cfg

cq_status_host: "chromium-cq-status.appspot.com"
submit_options {
  max_burst: 4
  burst_delay {
    seconds: 480
  }
}
config_groups {
  name: "Dawn-CQ"
  gerrit {
    url: "https://dawn-review.googlesource.com"
    projects {
      name: "dawn"
      ref_regexp: "refs/heads/.+"
      ref_regexp_exclude: "refs/heads/chromium/5615"
      ref_regexp_exclude: "refs/heads/chromium/5672"
      ref_regexp_exclude: "refs/heads/chromium/5735"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-dawn-committers"
      dry_run_access_list: "project-dawn-tryjob-access"
    }
    tryjob {
      builders {
        name: "chromium/try/android-dawn-arm-rel"
      }
      builders {
        name: "chromium/try/android-dawn-arm64-rel"
      }
      builders {
        name: "chromium/try/dawn-try-win10-x86-rel"
        includable_only: true
      }
      builders {
        name: "chromium/try/linux-dawn-rel"
      }
      builders {
        name: "chromium/try/mac-dawn-rel"
      }
      builders {
        name: "chromium/try/win-dawn-rel"
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x64"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x86"
      }
      builders {
        name: "dawn/try/mac-dbg"
      }
      builders {
        name: "dawn/try/mac-rel"
      }
      builders {
        name: "dawn/try/presubmit"
        disable_reuse: true
      }
      builders {
        name: "dawn/try/win-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/win-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/win-clang-rel-x64"
      }
      builders {
        name: "dawn/try/win-clang-rel-x86"
      }
      builders {
        name: "dawn/try/win-msvc-dbg-x64"
      }
      builders {
        name: "dawn/try/win-msvc-rel-x64"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 1
        transient_failure_weight: 1
        timeout_weight: 2
      }
    }
  }
}
config_groups {
  name: "Dawn-CQ-m112"
  gerrit {
    url: "https://dawn-review.googlesource.com"
    projects {
      name: "dawn"
      ref_regexp: "refs/heads/chromium/5615"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-dawn-committers"
      dry_run_access_list: "project-dawn-tryjob-access"
    }
    tryjob {
      builders {
        name: "chromium-m112/try/dawn-android-arm-deps-rel"
      }
      builders {
        name: "chromium-m112/try/dawn-mac-x64-deps-rel"
      }
      builders {
        name: "chromium-m112/try/dawn-win10-x64-deps-rel"
      }
      builders {
        name: "chromium-m112/try/dawn-win10-x86-deps-rel"
        includable_only: true
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x64"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x86"
      }
      builders {
        name: "dawn/try/mac-dbg"
      }
      builders {
        name: "dawn/try/mac-rel"
      }
      builders {
        name: "dawn/try/presubmit"
        disable_reuse: true
      }
      builders {
        name: "dawn/try/win-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/win-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/win-clang-rel-x64"
      }
      builders {
        name: "dawn/try/win-clang-rel-x86"
      }
      builders {
        name: "dawn/try/win-msvc-dbg-x64"
      }
      builders {
        name: "dawn/try/win-msvc-rel-x64"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 1
        transient_failure_weight: 1
        timeout_weight: 2
      }
    }
  }
}
config_groups {
  name: "Dawn-CQ-m113"
  gerrit {
    url: "https://dawn-review.googlesource.com"
    projects {
      name: "dawn"
      ref_regexp: "refs/heads/chromium/5672"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-dawn-committers"
      dry_run_access_list: "project-dawn-tryjob-access"
    }
    tryjob {
      builders {
        name: "chromium-m113/try/dawn-android-arm-deps-rel"
      }
      builders {
        name: "chromium-m113/try/dawn-linux-x64-deps-rel"
      }
      builders {
        name: "chromium-m113/try/dawn-mac-x64-deps-rel"
      }
      builders {
        name: "chromium-m113/try/dawn-win10-x64-deps-rel"
      }
      builders {
        name: "chromium-m113/try/dawn-win10-x86-deps-rel"
        includable_only: true
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x64"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x86"
      }
      builders {
        name: "dawn/try/mac-dbg"
      }
      builders {
        name: "dawn/try/mac-rel"
      }
      builders {
        name: "dawn/try/presubmit"
        disable_reuse: true
      }
      builders {
        name: "dawn/try/win-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/win-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/win-clang-rel-x64"
      }
      builders {
        name: "dawn/try/win-clang-rel-x86"
      }
      builders {
        name: "dawn/try/win-msvc-dbg-x64"
      }
      builders {
        name: "dawn/try/win-msvc-rel-x64"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 1
        transient_failure_weight: 1
        timeout_weight: 2
      }
    }
  }
}
config_groups {
  name: "Dawn-CQ-m114"
  gerrit {
    url: "https://dawn-review.googlesource.com"
    projects {
      name: "dawn"
      ref_regexp: "refs/heads/chromium/5735"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-dawn-committers"
      dry_run_access_list: "project-dawn-tryjob-access"
    }
    tryjob {
      builders {
        name: "chromium-m114/try/dawn-android-arm-deps-rel"
      }
      builders {
        name: "chromium-m114/try/dawn-linux-x64-deps-rel"
      }
      builders {
        name: "chromium-m114/try/dawn-mac-x64-deps-rel"
      }
      builders {
        name: "chromium-m114/try/dawn-win10-x64-deps-rel"
      }
      builders {
        name: "chromium-m114/try/dawn-win10-x86-deps-rel"
        includable_only: true
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/linux-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x64"
      }
      builders {
        name: "dawn/try/linux-clang-rel-x86"
      }
      builders {
        name: "dawn/try/mac-dbg"
      }
      builders {
        name: "dawn/try/mac-rel"
      }
      builders {
        name: "dawn/try/presubmit"
        disable_reuse: true
      }
      builders {
        name: "dawn/try/win-clang-dbg-x64"
      }
      builders {
        name: "dawn/try/win-clang-dbg-x86"
      }
      builders {
        name: "dawn/try/win-clang-rel-x64"
      }
      builders {
        name: "dawn/try/win-clang-rel-x86"
      }
      builders {
        name: "dawn/try/win-msvc-dbg-x64"
      }
      builders {
        name: "dawn/try/win-msvc-rel-x64"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 1
        transient_failure_weight: 1
        timeout_weight: 2
      }
    }
  }
}
