#!/usr/bin/env lucicfg
# Copyright 2019 The Flutter Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Configurations for the infra repository."""

load("//lib/accounts.star", "accounts")
load("//lib/builder_groups.star", "builder_groups")
load("//lib/common.star", "common")
load("//lib/repos.star", "repos")

def _setup():
    console_name = "infra"
    luci.console_view(name = console_name, repo = repos.FLUTTER_INFRA)
    luci.list_view(
        name = "infra-try",
        title = "infra try builders",
    )

    executable = luci.recipe(
        name = "infra/luci_config",
        cipd_package = "flutter/recipe_bundles/flutter.googlesource.com/recipes",
        cipd_version = "refs/heads/master",
        use_bbagent = True,
    )

    # Presubmit builders

    # Builder configuration to validate recipe changes in presubmit.
    common.builder(
        name = "luci-config",
        builder_group = builder_groups.infra_try,
        # This builder is very quick to run, so we run it on every CQ attempt to
        # minimize the chances of expectation file conflicts between CLs that land
        # around the same time.
        cq_disable_reuse = True,
        executable = executable,
        execution_timeout = 10 * time.minute,
        location_regexp_exclude = [
            common.LOCATION_REGEXP_MARKDOWN,
            common.LOCATION_REGEXP_OWNERS,
        ],
        properties = {},
        service_account = accounts.FLUTTER_TRY,
    )

infra_config = struct(setup = _setup)
