| #!/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 recipes repository. |
| |
| This is mainly for bundling the recipes at https://flutter.googlesource.com/recipes/ |
| into a CIPD bundle. |
| |
| The documentation about recipe bundle: |
| https://chrome-internal.googlesource.com/infra/infra_internal/+/master/doc/recipe_bundler.md |
| """ |
| |
| 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 = 'recipes' |
| luci.console_view(name=console_name, repo=repos.FLUTTER_RECIPES) |
| |
| executable = luci.recipe( |
| name="recipes", |
| cipd_package='flutter/recipe_bundles/flutter.googlesource.com/recipes', |
| cipd_version='refs/heads/master', |
| ) |
| |
| # Builder configuration to validate recipe changes in presubmit. |
| common.builder( |
| name="recipes-unittest-only", |
| builder_group=builder_groups.recipes_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={ |
| "remote": repos.FLUTTER_RECIPES, |
| "unittest_only": True, |
| }, |
| service_account=accounts.FLUTTER_TRY, |
| ) |
| |
| # Autoroller builder. This is used to roll flutter recipes dependencies. |
| common.builder( |
| name="recipe-deps-roller", |
| builder_group=builder_groups.recipes_prod, |
| executable=luci.recipe( |
| name="recipe_autoroller", |
| cipd_package= |
| "infra/recipe_bundles/chromium.googlesource.com/infra/infra", |
| cipd_version="git_revision:647d5e58ec508f13ccd054f1516e78d7ca3bd540" |
| ), |
| execution_timeout=20 * time.minute, |
| properties={ |
| "db_gcs_bucket": "flutter-recipe-roller-db", |
| "projects": { |
| "flutter": "https://flutter.googlesource.com/recipes", |
| }.items(), |
| }, |
| schedule="with 1h interval", |
| console_category=console_name, |
| console_short_name='aroll', |
| ) |
| |
| # Recipes builder. This is used to create a bundle of the cipd package. |
| common.builder( |
| name="recipes-bundler", |
| builder_group=builder_groups.recipes_prod, |
| executable=luci.recipe( |
| name="recipe_bundler", |
| cipd_package= |
| "infra/recipe_bundles/chromium.googlesource.com/infra/infra", |
| cipd_version="git_revision:647d5e58ec508f13ccd054f1516e78d7ca3bd540" |
| ), |
| execution_timeout=20 * time.minute, |
| properties={ |
| 'package_name_prefix': |
| 'flutter/recipe_bundles', |
| 'package_name_internal_prefix': |
| 'flutter_internal/recipe_bundles', |
| 'recipe_bundler_vers': |
| 'git_revision:2ed88b2c854578b512e1c0486824175fe0d7aab6', |
| 'repo_specs': [ |
| 'flutter.googlesource.com/recipes=FETCH_HEAD,refs/heads/master', |
| ], |
| }.items(), |
| console_category=console_name, |
| console_short_name='bdlr', |
| ) |
| |
| |
| recipes_config = struct(setup=_setup, ) |