# 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: "main-cq"
  gerrit {
    url: "https://boringssl-review.googlesource.com"
    projects {
      name: "boringssl"
      ref_regexp: "refs/heads/.+"
    }
  }
  verifiers {
    gerrit_cq_ability {
      committer_list: "project-boringssl-committers"
      dry_run_access_list: "project-boringssl-tryjob-access"
    }
    tryjob {
      builders {
        name: "boringssl/try/android_aarch64_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_rel_compile"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm_armmode_compile"
      }
      builders {
        name: "boringssl/try/android_arm_armmode_rel_compile"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm_compile"
      }
      builders {
        name: "boringssl/try/android_arm_rel_compile"
        includable_only: true
      }
      builders {
        name: "boringssl/try/docs"
      }
      builders {
        name: "boringssl/try/ios64_compile"
      }
      builders {
        name: "boringssl/try/ios_compile"
      }
      builders {
        name: "boringssl/try/linux"
      }
      builders {
        name: "boringssl/try/linux32"
      }
      builders {
        name: "boringssl/try/linux32_nosse2_noasm"
      }
      builders {
        name: "boringssl/try/linux32_rel"
      }
      builders {
        name: "boringssl/try/linux_clang_cfi"
        includable_only: true
      }
      builders {
        name: "boringssl/try/linux_clang_rel"
      }
      builders {
        name: "boringssl/try/linux_clang_rel_msan"
      }
      builders {
        name: "boringssl/try/linux_clang_rel_tsan"
        includable_only: true
      }
      builders {
        name: "boringssl/try/linux_fips"
      }
      builders {
        name: "boringssl/try/linux_fips_clang"
      }
      builders {
        name: "boringssl/try/linux_fips_clang_rel"
      }
      builders {
        name: "boringssl/try/linux_fips_noasm_asan"
      }
      builders {
        name: "boringssl/try/linux_fips_rel"
      }
      builders {
        name: "boringssl/try/linux_fuzz"
      }
      builders {
        name: "boringssl/try/linux_noasm_asan"
      }
      builders {
        name: "boringssl/try/linux_nosse2_noasm"
      }
      builders {
        name: "boringssl/try/linux_nothreads"
      }
      builders {
        name: "boringssl/try/linux_rel"
      }
      builders {
        name: "boringssl/try/linux_shared"
      }
      builders {
        name: "boringssl/try/linux_small"
      }
      builders {
        name: "boringssl/try/mac"
      }
      builders {
        name: "boringssl/try/mac_rel"
      }
      builders {
        name: "boringssl/try/mac_small"
      }
      builders {
        name: "boringssl/try/win32"
      }
      builders {
        name: "boringssl/try/win32_rel"
      }
      builders {
        name: "boringssl/try/win32_small"
      }
      builders {
        name: "boringssl/try/win32_vs2017_clang_compile"
      }
      builders {
        name: "boringssl/try/win32_vs2017_compile"
      }
      builders {
        name: "boringssl/try/win64"
      }
      builders {
        name: "boringssl/try/win64_rel"
      }
      builders {
        name: "boringssl/try/win64_small"
      }
      builders {
        name: "boringssl/try/win64_vs2017_clang_compile"
      }
      builders {
        name: "boringssl/try/win64_vs2017_compile"
      }
      builders {
        name: "boringssl/try/win_arm64_compile"
        includable_only: true
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 1
        transient_failure_weight: 1
        timeout_weight: 2
      }
    }
  }
}
