Add engine_v2 production drones.
This is a prerequisite to enable engine_v2 builders in prod.
Bug: https://github.com/flutter/flutter/issues/81855
Change-Id: I55cf8a3ee6a3afa52ef06dc93f9681edcc5ea3af
Reviewed-on: https://flutter-review.googlesource.com/c/infra/+/34500
Reviewed-by: Keyong Han <keyonghan@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/config/engine_config.star b/config/engine_config.star
index f9dfae3..9ebb81c 100644
--- a/config/engine_config.star
+++ b/config/engine_config.star
@@ -87,7 +87,7 @@
recipes_ref = branch.recipes_ref,
)
- _drone_staging_prod_builders()
+ _drone_v2_builders()
_drone_try_builders()
def _drone_prod_builders(prefix, branch):
@@ -140,7 +140,7 @@
os = platform_properties["windows"]["os"],
)
-def _drone_staging_prod_builders():
+def _drone_v2_builders():
"""Generate drone builders to help with subshards."""
engine_v2_builder_recipe_name = "engine_v2/builder"
recipes = [engine_v2_builder_recipe_name]
@@ -154,42 +154,44 @@
ci_yaml_config = ci_yaml.ci_yaml("engine", "main")
platform_properties = ci_yaml.platform_properties(ci_yaml_config)
version = None # Use caches from ToT
- common.linux_prod_builder(
- name = "Linux Staging Engine Drone|drn",
- recipe = engine_v2_builder_recipe_name,
- repo = repos.GIT_REMOTE["engine"],
- bucket = "staging",
- pool = "luci.flutter.staging",
- console_view_name = None,
- priority = 30,
- caches = ci_yaml.swarming_caches("engine", version),
- dimensions = {"device_type": "none"},
- os = platform_properties["linux"]["os"],
- )
- common.mac_prod_builder(
- name = "Mac Staging Engine Drone|drn",
- recipe = engine_v2_builder_recipe_name,
- repo = repos.GIT_REMOTE["engine"],
- bucket = "staging",
- pool = "luci.flutter.staging",
- console_view_name = None,
- priority = 30,
- dimensions = {"device_type": "none"},
- caches = ci_yaml.swarming_caches("engine", version),
- os = platform_properties["mac"]["os"],
- )
- common.windows_prod_builder(
- name = "Windows Staging Engine Drone|drn",
- recipe = engine_v2_builder_recipe_name,
- repo = repos.GIT_REMOTE["engine"],
- bucket = "staging",
- pool = "luci.flutter.staging",
- console_view_name = None,
- priority = 30,
- caches = ci_yaml.swarming_caches("engine", version),
- dimensions = {"device_type": "none"},
- os = platform_properties["windows"]["os"],
- )
+ env_to_bucket = {"Staging": "staging", "Production": "prod"}
+ for environment in ("Staging", "Production"):
+ common.linux_prod_builder(
+ name = "Linux %s Engine Drone|drn" % environment,
+ recipe = engine_v2_builder_recipe_name,
+ repo = repos.GIT_REMOTE["engine"],
+ bucket = env_to_bucket.get(environment),
+ pool = "luci.flutter.%s" % env_to_bucket.get(environment),
+ console_view_name = None,
+ priority = 30,
+ caches = ci_yaml.swarming_caches("engine", version),
+ dimensions = {"device_type": "none"},
+ os = platform_properties["linux"]["os"],
+ )
+ common.mac_prod_builder(
+ name = "Mac %s Engine Drone|drn" % environment,
+ recipe = engine_v2_builder_recipe_name,
+ repo = repos.GIT_REMOTE["engine"],
+ bucket = env_to_bucket.get(environment),
+ pool = "luci.flutter.%s" % env_to_bucket.get(environment),
+ console_view_name = None,
+ priority = 30,
+ dimensions = {"device_type": "none"},
+ caches = ci_yaml.swarming_caches("engine", version),
+ os = platform_properties["mac"]["os"],
+ )
+ common.windows_prod_builder(
+ name = "Windows %s Engine Drone|drn" % environment,
+ recipe = engine_v2_builder_recipe_name,
+ repo = repos.GIT_REMOTE["engine"],
+ bucket = env_to_bucket.get(environment),
+ pool = "luci.flutter.%s" % env_to_bucket.get(environment),
+ console_view_name = None,
+ priority = 30,
+ caches = ci_yaml.swarming_caches("engine", version),
+ dimensions = {"device_type": "none"},
+ os = platform_properties["windows"]["os"],
+ )
def _drone_try_builders():
"""Generate drone builders to help with subshards."""
diff --git a/config/generated/flutter/luci/cr-buildbucket.cfg b/config/generated/flutter/luci/cr-buildbucket.cfg
index 45615f1..2fe5660 100644
--- a/config/generated/flutter/luci/cr-buildbucket.cfg
+++ b/config/generated/flutter/luci/cr-buildbucket.cfg
@@ -1478,6 +1478,56 @@
}
}
builders {
+ name: "Linux Production Engine Drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "device_type:none"
+ dimensions: "os:Ubuntu"
+ dimensions: "pool:luci.flutter.prod"
+ exe {
+ cipd_package: "flutter/recipe_bundles/flutter.googlesource.com/recipes"
+ cipd_version: "refs/heads/main"
+ cmd: "luciexe"
+ }
+ properties:
+ '{'
+ ' "$fuchsia/goma": {'
+ ' "server": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog"'
+ ' },'
+ ' "$kitchen": {'
+ ' "emulate_gce": true'
+ ' },'
+ ' "$recipe_engine/isolated": {'
+ ' "server": "https://isolateserver.appspot.com"'
+ ' },'
+ ' "$recipe_engine/swarming": {'
+ ' "server": "https://chromium-swarm.appspot.com"'
+ ' },'
+ ' "clobber": false,'
+ ' "gold_tryjob": false,'
+ ' "goma_jobs": "200",'
+ ' "mastername": "client.flutter",'
+ ' "recipe": "engine_v2/builder",'
+ ' "upload_packages": true'
+ '}'
+ priority: 30
+ execution_timeout_secs: 3600
+ caches {
+ name: "engine_main_builder"
+ path: "builder"
+ }
+ caches {
+ name: "pub_cache"
+ path: ".pub-cache"
+ }
+ build_numbers: YES
+ service_account: "flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
+ task_template_canary_percentage {}
+ experiments {
+ key: "luci.recipes.use_python3"
+ value: 100
+ }
+ }
+ builders {
name: "Linux Publish Plugins"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "os:Linux"
@@ -54234,6 +54284,56 @@
}
}
builders {
+ name: "Mac Production Engine Drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "device_type:none"
+ dimensions: "os:Mac-12"
+ dimensions: "pool:luci.flutter.prod"
+ exe {
+ cipd_package: "flutter/recipe_bundles/flutter.googlesource.com/recipes"
+ cipd_version: "refs/heads/main"
+ cmd: "luciexe"
+ }
+ properties:
+ '{'
+ ' "$fuchsia/goma": {'
+ ' "server": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog"'
+ ' },'
+ ' "$kitchen": {'
+ ' "emulate_gce": true'
+ ' },'
+ ' "$recipe_engine/isolated": {'
+ ' "server": "https://isolateserver.appspot.com"'
+ ' },'
+ ' "$recipe_engine/swarming": {'
+ ' "server": "https://chromium-swarm.appspot.com"'
+ ' },'
+ ' "clobber": false,'
+ ' "gold_tryjob": false,'
+ ' "goma_jobs": "200",'
+ ' "mastername": "client.flutter",'
+ ' "recipe": "engine_v2/builder",'
+ ' "upload_packages": true'
+ '}'
+ priority: 30
+ execution_timeout_secs: 3600
+ caches {
+ name: "engine_main_builder"
+ path: "builder"
+ }
+ caches {
+ name: "pub_cache"
+ path: ".pub-cache"
+ }
+ build_numbers: YES
+ service_account: "flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
+ task_template_canary_percentage {}
+ experiments {
+ key: "luci.recipes.use_python3"
+ value: 100
+ }
+ }
+ builders {
name: "Mac SDK Drone"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "device_type:none"
@@ -87955,6 +88055,56 @@
}
}
builders {
+ name: "Windows Production Engine Drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "device_type:none"
+ dimensions: "os:Windows-10"
+ dimensions: "pool:luci.flutter.prod"
+ exe {
+ cipd_package: "flutter/recipe_bundles/flutter.googlesource.com/recipes"
+ cipd_version: "refs/heads/main"
+ cmd: "luciexe"
+ }
+ properties:
+ '{'
+ ' "$fuchsia/goma": {'
+ ' "server": "rbe-prod1.endpoints.fuchsia-infra-goma-prod.cloud.goog"'
+ ' },'
+ ' "$kitchen": {'
+ ' "emulate_gce": true'
+ ' },'
+ ' "$recipe_engine/isolated": {'
+ ' "server": "https://isolateserver.appspot.com"'
+ ' },'
+ ' "$recipe_engine/swarming": {'
+ ' "server": "https://chromium-swarm.appspot.com"'
+ ' },'
+ ' "clobber": false,'
+ ' "gold_tryjob": false,'
+ ' "goma_jobs": "200",'
+ ' "mastername": "client.flutter",'
+ ' "recipe": "engine_v2/builder",'
+ ' "upload_packages": true'
+ '}'
+ priority: 30
+ execution_timeout_secs: 3600
+ caches {
+ name: "engine_main_builder"
+ path: "builder"
+ }
+ caches {
+ name: "pub_cache"
+ path: ".pub-cache"
+ }
+ build_numbers: YES
+ service_account: "flutter-prod-builder@chops-service-accounts.iam.gserviceaccount.com"
+ task_template_canary_percentage {}
+ experiments {
+ key: "luci.recipes.use_python3"
+ value: 100
+ }
+ }
+ builders {
name: "Windows SDK Drone"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "device_type:none"