# 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"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_fips"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_static"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_static_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_rel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_rel_compile"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm_armmode_rel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm_armmode_rel_compile"
      }
      builders {
        name: "boringssl/try/android_arm_compile"
      }
      builders {
        name: "boringssl/try/android_arm_fips"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm_fips_compile"
      }
      builders {
        name: "boringssl/try/android_arm_rel"
        includable_only: true
      }
      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_clang_ubsan"
      }
      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_arm64"
      }
      builders {
        name: "boringssl/try/mac_rel"
      }
      builders {
        name: "boringssl/try/mac_small"
      }
      builders {
        name: "boringssl/try/win32"
      }
      builders {
        name: "boringssl/try/win32_clang"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win32_clang_compile"
      }
      builders {
        name: "boringssl/try/win32_rel"
      }
      builders {
        name: "boringssl/try/win32_small"
      }
      builders {
        name: "boringssl/try/win32_vs2019"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win32_vs2019_compile"
      }
      builders {
        name: "boringssl/try/win64"
      }
      builders {
        name: "boringssl/try/win64_clang"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win64_clang_compile"
      }
      builders {
        name: "boringssl/try/win64_rel"
      }
      builders {
        name: "boringssl/try/win64_small"
      }
      builders {
        name: "boringssl/try/win64_vs2019"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win64_vs2019_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
      }
    }
  }
}
