| #!/usr/bin/env lucicfg |
| # Copyright 2020 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 flutter engine repository. |
| |
| The schedulers pull commits indirectly from GoB repo |
| (https://chromium.googlesource.com/external/github.com/flutter/engine) |
| which is mirrored from https://github.com/flutter/engine. |
| |
| Try jobs use github directly but are also registered with luci-cq |
| to take advantage of led recipe builder tests. |
| """ |
| |
| load("//lib/common.star", "common") |
| load("//lib/repos.star", "repos") |
| load("//lib/timeout.star", "timeout") |
| |
| # A max of three different xcode versions will be used across all the flutter repositories. |
| # We will use "old_osx_sdk", "default_osx_sdk", and "new_osx_sdk" to reference them and avoid |
| # the caches to be overriden when the bots run tasks between engine and framework if the use the |
| # same named cache with diffferent version of xcode. |
| OLD_XCODE_CACHE_NAME = "old_osx_sdk" |
| |
| def _setup(branches, fuchsia_ctl_version): |
| """Default configurations for branches and repos.""" |
| platform_args = { |
| "linux": { |
| "caches": [ |
| # Allow disabling builder cache behavior in |
| # buildbucket. Removing the default "builder" cache that buildbucket would |
| # otherwise create with a 4 minute timeout preventing us from using any |
| # swarming task slice <4 minutes. |
| swarming.cache(name = "builder_linux_engine", path = "builder"), |
| ], |
| "os": "Linux", |
| }, |
| "mac": { |
| "caches": [ |
| swarming.cache(name = "flutter_cocoapods", path = "cocoapods"), |
| # Installing osx_sdk on mac builders is slow. |
| swarming.cache("osx_sdk", name = OLD_XCODE_CACHE_NAME), |
| # Allow disabling builder cache behavior in |
| # buildbucket. Removing the default "builder" cache that buildbucket would |
| # otherwise create with a 4 minute timeout preventing us from using any |
| # swarming task slice <4 minutes. |
| swarming.cache(name = "builder_mac_engine", path = "builder"), |
| ], |
| "os": "Mac-10.15", |
| }, |
| "windows": { |
| "caches": [ |
| # Allow disabling builder cache behavior in |
| # buildbucket. Removing the default "builder" cache that buildbucket would |
| # otherwise create with a 4 minute timeout preventing us from using any |
| # swarming task slice <4 minutes. |
| swarming.cache(name = "builder_win_engine", path = "builder"), |
| ], |
| "execution_timeout": timeout.XL, |
| "os": "Windows-10", |
| }, |
| } |
| |
| engine_recipes(branches.stable.version) |
| engine_prod_config( |
| platform_args, |
| "stable", |
| branches.stable.version, |
| branches.stable.testing_ref, |
| fuchsia_ctl_version, |
| ) |
| |
| engine_recipes(branches.beta.version) |
| engine_prod_config( |
| platform_args, |
| "beta", |
| branches.beta.version, |
| branches.beta.testing_ref, |
| fuchsia_ctl_version, |
| ) |
| |
| engine_recipes(branches.dev.version) |
| engine_prod_config( |
| platform_args, |
| "dev", |
| branches.dev.version, |
| branches.dev.testing_ref, |
| fuchsia_ctl_version, |
| ) |
| |
| engine_recipes(branches.master.version) |
| engine_prod_config( |
| platform_args, |
| "master", |
| branches.master.version, |
| branches.master.testing_ref, |
| fuchsia_ctl_version, |
| ) |
| engine_prod_config( |
| platform_args, |
| "fuchsia_f1", |
| branches.fuchsia_f1.version, |
| branches.fuchsia_f1.testing_ref, |
| fuchsia_ctl_version, |
| ) |
| |
| engine_try_config(platform_args, fuchsia_ctl_version) |
| |
| def full_recipe_name(recipe_name, version): |
| """Creates a recipe name for recipe and version. |
| |
| Args: |
| recipe_name: This is a string with the recipe base name. |
| version: A string with the build version. E.g. dev, beta, stable. |
| |
| Returns: |
| A string with the recipe's full name. |
| """ |
| return recipe_name if not version else "%s_%s" % (recipe_name, version) |
| |
| def engine_recipes(version): |
| """Creates a luci recipe for a given code version.""" |
| recipe_list = [ |
| "engine", |
| "engine_unopt", |
| "web_engine", |
| "engine_builder", |
| "femu_test", |
| "engine/engine_arm", |
| "engine/engine_metrics", |
| "engine/framework_smoke", |
| "engine/scenarios", |
| "engine/web_engine_drone", |
| "engine/web_engine_framework", |
| ] |
| for name in recipe_list: |
| luci.recipe( |
| name = full_recipe_name(name, version), |
| cipd_package = |
| "flutter/recipe_bundles/flutter.googlesource.com/recipes", |
| cipd_version = "refs/heads/master", |
| use_bbagent = True, |
| ) |
| |
| def get_xcode_version(branch): |
| """Get appropriate Xcode CIPD version for a given release branch. |
| |
| Args: |
| branch(str): Current release branch, one of stable|beta|dev|master|fuchsia_f1. |
| |
| Returns: |
| A string corresponding to Xcode cipd tagged version. |
| """ |
| xcode_12 = "12a7209" |
| xcode_11 = "11e708" |
| flutter_to_xcode = { |
| # TODO(fujino): set this to xcode_12 once Flutter 2.4 promoted to stable |
| "stable": xcode_11, |
| # TODO(fujino): set this to xcode_12 once Flutter 2.4 promoted to beta |
| "beta": xcode_11, |
| "dev": xcode_12, |
| "master": xcode_12, |
| "fuchsia_f1": xcode_12, |
| } |
| if not branch in flutter_to_xcode: |
| fail("Unknown branch \"%s\"" % branch) |
| return flutter_to_xcode[branch] |
| |
| def engine_properties( |
| build_host = False, |
| build_android_debug = False, |
| build_android_aot = False, |
| build_android_vulkan = False, |
| build_ios = False, |
| build_windows_uwp = False, |
| needs_jazzy = False, |
| ios_debug = False, |
| ios_profile = False, |
| ios_release = False, |
| build_android_jit_release = False, |
| no_bitcode = False, |
| no_lto = False, |
| framework = False, |
| shard = "", |
| subshards = [], |
| gcs_goldens_bucket = "", |
| fuchsia_ctl_version = "", |
| branch = ""): |
| """Creates build properties for engine based on parameters. |
| |
| Args: |
| build_host(boolean): Whether this is a host build or not. |
| build_android_debug(boolean): Whether this is an android debug build or not. |
| build_android_aot(boolean): Whether this is an android aot build or not. |
| build_android_vulkan(boolean): Whether this a android vulkan build or not. |
| build_ios(boolean): Whether to build ios or not. |
| build_windows_uwp(boolean): Whether to build Windows UWP or not. |
| needs_jazzy(boolean): True if this build needs jazzy. |
| ios_debug(boolean): True if we need to build ios debug version. |
| ios_profile(boolean): True if we need to build ios profile version. |
| ios_release(booelan): True if we need to build ios release version. |
| build_android_jit_release(boolean): True if we need to build android jit release version. |
| no_bitcode(boolean): True if we need to disable bit code. |
| no_lto(boolean): True if we want to build all binaries without LTO. |
| framework(boolen): True if this build needs to use framework tests. |
| shard(str): Name of the shard that framework unit tests will be triggered for. Eg: web_tests |
| subshards(list): List of subshard names. Last one should have `_last` suffix. Eg: ["0", "1_last"], |
| gcs_goldens_bucket: Bucket to upload failing golden tests' results for web engine. |
| fuchsia_ctl_version(str): The version of the fuchsia controller to use. |
| branch(str): Which release branch, used for determining xcode version. |
| |
| Returns: |
| A dictionary with the properties applicable to the build, jazzy_version and fuchsia_ctl version. |
| """ |
| properties = { |
| "use_cas": True, |
| "build_host": build_host, |
| "build_fuchsia": True if fuchsia_ctl_version else False, |
| "build_android_debug": build_android_debug, |
| "build_android_aot": build_android_aot, |
| "build_android_vulkan": build_android_vulkan, |
| "build_ios": build_ios, |
| "build_windows_uwp": build_windows_uwp, |
| "build_android_jit_release": build_android_jit_release, |
| "gcs_goldens_bucket": gcs_goldens_bucket, |
| "$flutter/osx_sdk": { |
| "sdk_version": get_xcode_version(branch), |
| }, |
| } |
| if any([build_android_debug or build_android_aot or build_android_vulkan or build_android_jit_release]): |
| properties["android_sdk_license"] = "\n24333f8a63b6825ea9c5514f83c2829b004d1fee" |
| properties["android_sdk_preview_license"] = "\n84831b9409646a918e30573bab4c9c91346d8abd" |
| if (no_lto): |
| properties["no_lto"] = True |
| if (build_ios): |
| properties["ios_debug"] = ios_debug |
| properties["ios_profile"] = ios_profile |
| properties["ios_release"] = ios_release |
| properties["no_bitcode"] = no_bitcode |
| if (needs_jazzy): |
| properties["jazzy_version"] = "0.9.5" |
| if fuchsia_ctl_version: |
| properties["fuchsia_ctl_version"] = fuchsia_ctl_version |
| if (framework): |
| properties["shard"] = shard |
| properties["subshards"] = subshards |
| return properties |
| |
| def builder_name(pattern, branch): |
| """Create a builder name using a string patter and branch.""" |
| return pattern % ("" if branch == "master" else " " + branch) |
| |
| def engine_prod_config(platform_args, branch, version, ref, fuchsia_ctl_version): |
| """Creates prod engine configurations. |
| |
| Args: |
| platform_args(dict): Dictionary with the default properties with the platform |
| as key. |
| branch(str): The branch name to create configurations for. |
| version(str): One of dev|stable|beta. |
| ref(str): The git ref we are creating configurations for. |
| fuchsia_ctl_version(str): The fuchsia controller version to use. |
| """ |
| |
| # Defines console views for prod builders |
| console_view_name = ("engine" if branch == "master" else "%s_engine" % |
| branch) |
| luci.console_view( |
| name = console_view_name, |
| repo = repos.ENGINE, |
| refs = [ref], |
| ) |
| |
| # Defines prod schedulers |
| trigger_name = branch + "-gitiles-trigger-engine" |
| luci.gitiles_poller( |
| name = trigger_name, |
| bucket = "prod", |
| repo = repos.ENGINE, |
| refs = [ref], |
| ) |
| |
| # Defines triggering policy |
| if branch == "master": |
| triggering_policy = scheduler.greedy_batching( |
| max_batch_size = 1, |
| max_concurrent_invocations = 3, |
| ) |
| else: |
| triggering_policy = scheduler.greedy_batching( |
| max_concurrent_invocations = 3, |
| ) |
| |
| # Defines master only builders |
| if branch == "master": |
| common.linux_prod_builder( |
| name = builder_name("Linux%s benchmarks|lben", branch), |
| recipe = full_recipe_name("engine/engine_metrics", version), |
| properties = engine_properties(build_host = True, branch = branch), |
| console_view_name = console_view_name, |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30, |
| **platform_args["linux"] |
| ) |
| |
| # Branch specific builders |
| if branch == "fuchsia_f1": |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Fuchsia|fsc", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| fuchsia_ctl_version = fuchsia_ctl_version, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| execution_timeout = timeout.LONG, |
| **platform_args["linux"] |
| ) |
| |
| # For specific branches we only create builders within the body of this if clause. |
| return |
| |
| # Defines web engine prod builders |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Web Engine|lwe", branch), |
| recipe = full_recipe_name("web_engine", version), |
| properties = engine_properties( |
| gcs_goldens_bucket = "flutter_logs", |
| branch = branch, |
| ), |
| console_view_name = console_view_name, |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s Web Engine|mwe", branch), |
| recipe = full_recipe_name("web_engine", version), |
| properties = engine_properties(gcs_goldens_bucket = "flutter_logs", branch = branch), |
| console_view_name = console_view_name, |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.windows_prod_builder( |
| name = builder_name("Windows%s Web Engine|wwe", branch), |
| recipe = full_recipe_name("web_engine", version), |
| console_view_name = console_view_name, |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"device_type": "none"}, |
| **platform_args["windows"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Web Drone|webdrn", branch), |
| recipe = full_recipe_name("engine/web_engine_drone", version), |
| properties = engine_properties(gcs_goldens_bucket = "flutter_logs", branch = branch), |
| console_view_name = None, |
| no_notify = True, |
| priority = 28 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Web Framework tests|web_tests", branch), |
| recipe = full_recipe_name("engine/web_engine_framework", version), |
| properties = engine_properties( |
| framework = True, |
| shard = "web_tests", |
| subshards = ["0", "1", "2", "3", "4", "5", "6", "7_last"], |
| branch = branch, |
| ), |
| console_view_name = console_view_name, |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| |
| # Defines engine Linux builders |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Host Engine|host", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_host = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Unopt|luopt", branch), |
| recipe = full_recipe_name("engine_unopt", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Arm Host Engine|lah", branch), |
| recipe = full_recipe_name("engine/engine_arm", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_host = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| execution_timeout = timeout.LONG, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Fuchsia|fsc", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| fuchsia_ctl_version = fuchsia_ctl_version, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| execution_timeout = timeout.LONG, |
| **platform_args["linux"] |
| ) |
| |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Fuchsia FEMU|femu", branch), |
| recipe = full_recipe_name("femu_test", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| fuchsia_ctl_version = fuchsia_ctl_version, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Android Debug Engine|dbg", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| build_android_debug = True, |
| build_android_vulkan = True, |
| build_android_jit_release = True, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Android AOT Engine|aot", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_android_aot = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Framework Smoke Tests|lfst", branch), |
| recipe = full_recipe_name("engine/framework_smoke", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| common.linux_prod_builder( |
| name = builder_name("Linux%s Engine Drone|drn", branch), |
| recipe = full_recipe_name("engine_builder", version), |
| console_view_name = None, |
| no_notify = True, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["linux"] |
| ) |
| |
| # Defines engine mac builders. |
| common.mac_prod_builder( |
| name = builder_name("Mac%s Host Engine|host", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_host = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| execution_timeout = timeout.MEDIUM_LONG, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s Unopt|muopt", branch), |
| recipe = full_recipe_name("engine_unopt", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(needs_jazzy = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| execution_timeout = timeout.MEDIUM_LONG, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s Android Debug Engine|dbg", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| build_android_debug = True, |
| build_android_vulkan = True, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s Android AOT Engine|aot", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_android_aot = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s iOS Engine|ios", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| build_ios = True, |
| ios_debug = True, |
| needs_jazzy = True, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| execution_timeout = timeout.LONG, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s iOS Engine Profile|ios", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| build_ios = True, |
| ios_profile = True, |
| needs_jazzy = True, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| execution_timeout = timeout.LONG, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s iOS Engine Release|ios", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties( |
| build_ios = True, |
| ios_release = True, |
| needs_jazzy = True, |
| branch = branch, |
| ), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| execution_timeout = timeout.LONG, |
| **platform_args["mac"] |
| ) |
| common.mac_prod_builder( |
| name = builder_name("Mac%s Engine Drone|drn", branch), |
| recipe = full_recipe_name("engine_builder", version), |
| console_view_name = None, |
| no_notify = True, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| |
| # Defines engine Windows builders |
| common.windows_prod_builder( |
| name = builder_name("Windows%s Host Engine|host", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_host = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"device_type": "none"}, |
| **platform_args["windows"] |
| ) |
| common.windows_prod_builder( |
| name = builder_name("Windows%s Unopt|wuopt", branch), |
| recipe = full_recipe_name("engine_unopt", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"device_type": "none"}, |
| **platform_args["windows"] |
| ) |
| common.windows_prod_builder( |
| name = builder_name("Windows%s UWP Engine|uwp", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_windows_uwp = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"device_type": "none"}, |
| **platform_args["windows"] |
| ) |
| common.windows_prod_builder( |
| name = builder_name("Windows%s Android AOT Engine|aot", branch), |
| recipe = full_recipe_name("engine", version), |
| console_view_name = console_view_name, |
| properties = engine_properties(build_android_aot = True, branch = branch), |
| triggered_by = [trigger_name], |
| triggering_policy = triggering_policy, |
| priority = 30 if branch == "master" else 25, |
| dimensions = {"device_type": "none"}, |
| **platform_args["windows"] |
| ) |
| common.windows_prod_builder( |
| name = builder_name( |
| "Windows%s Engine Drone|drn", |
| branch, |
| ), |
| recipe = full_recipe_name( |
| "engine_builder", |
| version, |
| ), |
| console_view_name = None, |
| no_notify = True, |
| priority = 30 if branch == "master" else 25, |
| **platform_args["windows"] |
| ) |
| |
| def engine_try_config(platform_args, fuchsia_ctl_version): |
| """Defines a list view for try builders. |
| |
| Args: |
| platform_args(dict): Dictionary with default properties with |
| platform as a key. |
| fuchsia_ctl_version(str): The fuchsia controller version to use. |
| """ |
| list_view_name = "engine-try" |
| luci.list_view( |
| name = "engine-try", |
| title = "Engine try builders", |
| ) |
| branch = "master" |
| |
| # Web Engine (all) try builders. |
| common.linux_try_builder( |
| name = "Linux Web Engine|lwe", |
| recipe = "web_engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| gcs_goldens_bucket = "flutter_logs", |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.mac_try_builder( |
| name = "Mac Web Engine|mwe", |
| recipe = "web_engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| gcs_goldens_bucket = "flutter_logs", |
| no_lto = True, |
| branch = branch, |
| ), |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.windows_try_builder( |
| name = "Windows Web Engine|wwe", |
| recipe = "web_engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| **platform_args["windows"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Web Framework tests|web_tests", |
| recipe = "engine/web_engine_framework", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| framework = True, |
| shard = "web_tests", |
| subshards = ["0", "1", "2", "3", "4", "5", "6", "7_last"], |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Web Drone|webdrn", |
| recipe = "engine/web_engine_drone", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| gcs_goldens_bucket = "flutter_logs", |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| |
| # Engine Linux try builders. |
| common.linux_try_builder( |
| name = "Linux Host Engine|host", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_host = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Unopt|luopt", |
| recipe = "engine_unopt", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Arm Host Engine|lah", |
| recipe = "engine/engine_arm", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_host = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| execution_timeout = timeout.LONG, |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Fuchsia|fsc", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| fuchsia_ctl_version = fuchsia_ctl_version, |
| no_lto = True, |
| branch = branch, |
| ), |
| execution_timeout = timeout.LONG, |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Fuchsia FEMU|femu", |
| recipe = "femu_test", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| fuchsia_ctl_version = fuchsia_ctl_version, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Android Debug Engine|dbg", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_android_debug = True, |
| build_android_vulkan = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Android AOT Engine|aot", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_android_aot = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Android Scenarios|scnrs", |
| recipe = "engine/scenarios", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = { |
| "upload_packages": True, |
| "clobber": True, |
| }, |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Framework Smoke Tests|lfst", |
| recipe = "engine/framework_smoke", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| **platform_args["linux"] |
| ) |
| common.linux_try_builder( |
| name = "Linux Engine Drone|drn", |
| recipe = "engine_builder", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| **platform_args["linux"] |
| ) |
| |
| # Engine Linux try builders. |
| common.mac_try_builder( |
| name = "Mac Host Engine|host", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_host = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_try_builder( |
| name = "Mac Unopt|muopt", |
| recipe = "engine_unopt", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| needs_jazzy = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_try_builder( |
| name = "Mac Android Debug Engine|dbg", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_android_debug = True, |
| build_android_vulkan = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_try_builder( |
| name = "Mac Android AOT Engine|aot", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_android_aot = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_try_builder( |
| name = "Mac iOS Engine|ios", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_ios = True, |
| ios_debug = True, |
| needs_jazzy = True, |
| no_bitcode = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| dimensions = {"mac_model": "Macmini8,1", "device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| common.mac_try_builder( |
| name = "Mac Engine Drone|drn", |
| recipe = "engine_builder", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| dimensions = {"device_type": "none"}, |
| **platform_args["mac"] |
| ) |
| |
| # Engine Windows try builders. |
| common.windows_try_builder( |
| name = "Windows Host Engine|host", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_host = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["windows"] |
| ) |
| common.windows_try_builder( |
| name = "Windows Unopt|wunopt", |
| recipe = "engine_unopt", |
| repo = repos.ENGINE, |
| add_cq = True, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["windows"] |
| ) |
| common.windows_try_builder( |
| name = "Windows UWP Engine|uwp", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_windows_uwp = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["windows"] |
| ) |
| common.windows_try_builder( |
| name = "Windows Android AOT Engine|aot", |
| recipe = "engine", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| properties = engine_properties( |
| build_android_aot = True, |
| no_lto = True, |
| branch = branch, |
| ), |
| **platform_args["windows"] |
| ) |
| common.windows_try_builder( |
| name = "Windows Engine Drone|drn", |
| recipe = "engine_builder", |
| repo = repos.ENGINE, |
| list_view_name = list_view_name, |
| **platform_args["windows"] |
| ) |
| |
| engine_config = struct(setup = _setup) |