# Auto-generated by lucicfg.
# Do not modify manually.
#
# For the schema of this file, see Config message:
#   https://config.luci.app/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"
      new_patchset_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_noasm_rel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_noasm_rel_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_rel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_rel_compile"
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_static_rel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_aarch64_fips_static_rel_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_rel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/android_arm_fips_rel_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/android_riscv64_compile_only"
      }
      builders {
        name: "boringssl/try/docs"
      }
      builders {
        name: "boringssl/try/ios64_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/linux32_sde"
        includable_only: true
      }
      builders {
        name: "boringssl/try/linux_bazel"
      }
      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_sde"
        includable_only: true
      }
      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_arm64_bazel"
        includable_only: true
      }
      builders {
        name: "boringssl/try/mac_rel"
      }
      builders {
        name: "boringssl/try/mac_small"
      }
      builders {
        name: "boringssl/try/presubmit"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win32"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win32_clang"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win32_clang_compile"
      }
      builders {
        name: "boringssl/try/win32_compile"
      }
      builders {
        name: "boringssl/try/win32_rel"
      }
      builders {
        name: "boringssl/try/win32_sde"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win32_small"
      }
      builders {
        name: "boringssl/try/win64"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win64_clang"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win64_clang_compile"
      }
      builders {
        name: "boringssl/try/win64_compile"
      }
      builders {
        name: "boringssl/try/win64_rel"
      }
      builders {
        name: "boringssl/try/win64_sde"
        includable_only: true
      }
      builders {
        name: "boringssl/try/win64_small"
      }
      builders {
        name: "boringssl/try/win_arm64_compile"
      }
      builders {
        name: "boringssl/try/win_arm64_msvc_compile"
      }
      builders {
        name: "chromium/try/tricium-clang-tidy"
        disable_reuse: true
        experiment_percentage: 100
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: ".+\\.h"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: ".+\\.c"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: ".+\\.cc"
        }
        location_filters {
          gerrit_host_regexp: ".*"
          gerrit_project_regexp: ".*"
          gerrit_ref_regexp: ".*"
          path_regexp: ".+\\.cpp"
        }
        owner_whitelist_group: "project-boringssl-tryjob-access"
        mode_allowlist: "NEW_PATCHSET_RUN"
      }
      retry_config {
        single_quota: 1
        global_quota: 2
        failure_weight: 1
        transient_failure_weight: 1
        timeout_weight: 2
      }
    }
  }
}
honor_gerrit_linked_accounts: true
