# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# See http://luci-config.appspot.com/schemas/projects/refs:cq.cfg for the
# documentation of this file format.

version: 1
cq_name: "manifest"
cq_status_url: "https://fuchsia-cq-status.appspot.com"
git_repo_url: "https://fuchsia.googlesource.com/manifest"

gerrit {}

verifiers {
  try_job {
    buckets {
      name: "luci.manifest.ci",
      builders {
        name: "Linux arm64 Debug"
      }
      builders {
        name: "Linux x86-64 Debug"
      }
      builders {
        name: "Linux arm64 Release"
      }
      builders {
        name: "Linux x86-64 Release"
      }
    }
  }
  gerrit_cq_ability {
    committer_list: "project-fuchsia-committers"
    dry_run_access_list: "project-fuchsia-tryjob-access"
  }
  sign_cla {}
}
