blob: 83c48955f61ee5fe074938da1c892c7f08a75794 [file] [log] [blame]
# Copyright (c) 2022 The Dart project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
Defines the monorepo builders.
"""
load("//lib/dart.star", "dart")
load("//lib/defaults.star", "defaults")
load("//lib/priority.star", "priority")
monorepo_properties = {
"$flutter/goma": {"server": "goma.chromium.org"},
"$flutter/rbe": {
"instance": "projects/flutter-rbe-prod/instances/default",
"platform": "container-image=docker://gcr.io/cloud-marketplace/google/debian11@sha256:69e2789c9f3d28c6a0f13b25062c240ee7772be1f5e6d41bb4680b63eae6b304",
},
"clobber": False,
"environment": "unused",
"goma_jobs": "200",
"rbe_jobs": "200",
}
luci.gitiles_poller(
name = "dart-gitiles-trigger-monorepo",
bucket = "ci",
repo = "https://dart.googlesource.com/monorepo/",
refs = ["refs/heads/main"],
)
luci.console_view(
name = "monorepo",
repo = "https://dart.googlesource.com/monorepo",
title = "Monorepo Console",
refs = ["refs/heads/main"],
header = "console-header.textpb",
)
luci.console_view(
name = "flutter-engine",
repo = "https://dart.googlesource.com/monorepo",
title = "Dart/Flutter Engine Console",
refs = ["refs/heads/main"],
header = "console-header.textpb",
)
luci.console_view(
name = "flutter-web",
repo = "https://dart.googlesource.com/monorepo",
title = "Dart/Flutter Web Console",
refs = ["refs/heads/main"],
header = "console-header.textpb",
)
dart.ci_sandbox_builder(
name = "flutter-linux",
channels = [],
executable = dart.flutter_recipe("engine_v2/engine_v2"),
execution_timeout = 180 * time.minute,
notifies = None,
priority = priority.normal,
properties = defaults.properties([monorepo_properties, {"config_name": "host_linux"}]),
triggered_by = ["dart-gitiles-trigger-monorepo"],
schedule = "triggered",
)
luci.console_view_entry(
builder = "flutter-linux",
short_name = "engine",
category = "coordinator",
console_view = "monorepo",
)
luci.console_view_entry(
builder = "flutter-linux",
short_name = "engine",
category = "coordinator",
console_view = "flutter-engine",
)
dart.try_builder(
"flutter-linux",
executable = dart.flutter_recipe("engine_v2/engine_v2"),
execution_timeout = 180 * time.minute,
properties = defaults.properties([monorepo_properties, {
"builder_name_suffix": "-try",
"config_name": "host_linux",
}]),
on_cq = False,
cq_branches = ["main"],
)
dart.ci_sandbox_builder(
name = "flutter-web",
channels = [],
executable = dart.flutter_recipe("engine_v2/engine_v2"),
execution_timeout = 180 * time.minute,
notifies = None,
priority = priority.normal,
properties = defaults.properties([monorepo_properties, {"config_name": "web_linux"}]),
triggered_by = ["dart-gitiles-trigger-monorepo"],
schedule = "triggered",
)
luci.console_view_entry(
builder = "flutter-web",
short_name = "web",
category = "coordinator",
console_view = "monorepo",
)
luci.console_view_entry(
builder = "flutter-web",
short_name = "web",
category = "coordinator",
console_view = "flutter-web",
)
dart.try_builder(
"flutter-web",
executable = dart.flutter_recipe("engine_v2/engine_v2"),
execution_timeout = 180 * time.minute,
properties = defaults.properties([monorepo_properties, {
"builder_name_suffix": "-try",
"config_name": "web_linux",
}]),
on_cq = False,
cq_branches = ["main"],
)
def monorepo_builder(name, short_name, console):
dart.ci_sandbox_builder(
name = name,
channels = [],
dimensions = {"pool": "dart.tests"},
executable = dart.flutter_recipe("engine_v2/builder"),
execution_timeout = 60 * time.minute,
notifies = None,
priority = priority.normal,
triggered_by = [],
schedule = None,
)
luci.console_view_entry(
builder = name,
short_name = short_name,
category = console,
console_view = "monorepo",
)
luci.console_view_entry(
builder = name,
short_name = short_name,
console_view = console,
)
dart.try_builder(
name,
bucket = "try.monorepo",
executable = dart.flutter_recipe("engine_v2/builder"),
execution_timeout = 60 * time.minute,
dimensions = {"pool": "dart.tests"},
on_cq = False,
cq_branches = [],
)
monorepo_builder(
"flutter-linux-android_debug",
"android-debug",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_profile",
"android-profile",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_release",
"android-release",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_debug_arm64",
"android-debug-arm64",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_profile_arm64",
"android-profile-arm64",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_release_arm64",
"android-release-arm64",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_debug_x64",
"android-debug-x64",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_profile_x64",
"android-profile-x64",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_release_x64",
"android-release-x64",
"flutter-engine",
)
monorepo_builder(
"flutter-linux-android_debug_x86",
"android-debug-x86",
"flutter-engine",
)
monorepo_builder("flutter-linux-host_debug", "debug", "flutter-engine")
monorepo_builder("flutter-linux-host_debug_unopt", "debug-unopt", "flutter-engine")
monorepo_builder("flutter-linux-host_profile", "profile", "flutter-engine")
monorepo_builder("flutter-linux-host_release", "release", "flutter-engine")
monorepo_builder("flutter-linux-wasm_release", "wasm", "flutter-web")
def monorepo_tester(name, short_name, console):
dart.ci_sandbox_builder(
name = name,
channels = [],
dimensions = {"pool": "dart.tests"},
executable = dart.flutter_recipe("engine_v2/tester"),
execution_timeout = 90 * time.minute,
notifies = None,
priority = priority.normal,
triggered_by = [],
schedule = None,
)
luci.console_view_entry(
builder = name,
short_name = short_name,
category = console,
console_view = "monorepo",
)
luci.console_view_entry(
builder = name,
short_name = short_name,
console_view = console,
)
dart.try_builder(
name,
bucket = "try.monorepo",
executable = dart.flutter_recipe("engine_v2/tester"),
execution_timeout = 90 * time.minute,
dimensions = {"pool": "dart.tests"},
on_cq = False,
cq_branches = [],
)
monorepo_tester("flutter-linux-flutter-plugins", "plugins", "flutter-engine")
monorepo_tester("flutter-linux-framework-coverage", "coverage", "flutter-engine")
monorepo_tester("flutter-linux-framework-tests-libraries", "fl", "flutter-engine")
monorepo_tester("flutter-linux-framework-tests-misc", "fm", "flutter-engine")
monorepo_tester("flutter-linux-framework-tests-slow", "fs", "flutter-engine")
monorepo_tester("flutter-linux-framework-tests-widgets", "fw", "flutter-engine")
monorepo_tester("flutter-linux-tool-tests", "tool", "flutter-engine")
monorepo_tester("flutter-linux-customer-testing", "customer_testing", "flutter-engine")
monorepo_tester("flutter-linux-web-tests-0", "wt0", "flutter-web")
monorepo_tester("flutter-linux-web-tests-1", "wt1", "flutter-web")
monorepo_tester("flutter-linux-web-tests-2", "wt2", "flutter-web")
monorepo_tester("flutter-linux-web-tests-3", "wt3", "flutter-web")
monorepo_tester("flutter-linux-web-tests-4", "wt4", "flutter-web")
monorepo_tester("flutter-linux-web-tests-5", "wt5", "flutter-web")
monorepo_tester("flutter-linux-web-tests-6", "wt6", "flutter-web")
monorepo_tester("flutter-linux-web-tests-7-last", "wt7", "flutter-web")
monorepo_tester("flutter-linux-web-tool-tests", "wtool", "flutter-web")