Add devicelab test drone for mac/ios
This is similar to https://flutter-review.googlesource.com/c/infra/+/32761 (which added linux/android), adding a test drone for mac/ios.
Change-Id: I3f4d74edac13838d179e70b61d450015ddbf7fec
Bug: https://github.com/flutter/flutter/issues/103542
Reviewed-on: https://flutter-review.googlesource.com/c/infra/+/33800
Reviewed-by: Ricardo Amador <ricardoamador@google.com>
Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Commit-Queue: Keyong Han <keyonghan@google.com>
diff --git a/config/devicelab_staging_config.star b/config/devicelab_staging_config.star
index 8fe4975..01162a0 100644
--- a/config/devicelab_staging_config.star
+++ b/config/devicelab_staging_config.star
@@ -225,6 +225,24 @@
caches = MAC_DEFAULT_CACHES,
)
+ common.mac_prod_builder(
+ name = "Mac_ios_staging test_drone",
+ console_view_name = console_view_name,
+ recipe = test_drone_recipe_name,
+ properties = {
+ "tags": ["devicelab", "ios", "mac"],
+ "git_branch": DEFAULT_BRANCH,
+ "use_cas": True,
+ "upload_metrics": True,
+ },
+ bucket = "staging",
+ pool = "luci.flutter.staging",
+ os = MAC_OS,
+ dimensions = {"device_os": IOS_VERSION, "cpu": "x86"},
+ expiration_timeout = timeout.LONG_EXPIRATION,
+ caches = MAC_DEFAULT_CACHES,
+ )
+
mac_android_tasks = [
"drive_perf_debug_warning",
"hello_world_android__compile",
diff --git a/config/flutter_config.star b/config/flutter_config.star
index ccc2c5d..338524c 100644
--- a/config/flutter_config.star
+++ b/config/flutter_config.star
@@ -101,6 +101,16 @@
properties = {"upload_metrics": True} if not prefix else {},
)
common.mac_prod_builder(
+ name = "%sMac Devicelab Test Drone" % prefix,
+ recipe = "devicelab/devicelab_test_drone",
+ console_view_name = None,
+ caches = ci_yaml.legacy_swarming_caches(ci_yaml_config, None, "mac_ios"),
+ dimensions = {"device_os": "iOS-15", "cpu": "x86"},
+ os = platform_properties["mac_ios"]["os"],
+ # Uploads metrics only for master/main branches, where prefix is empty.
+ properties = {"upload_metrics": True} if not prefix else {},
+ )
+ common.mac_prod_builder(
name = "%sMac SDK Drone" % prefix,
recipe = "flutter/flutter_drone",
console_view_name = None,
diff --git a/config/generated/flutter/luci/cr-buildbucket.cfg b/config/generated/flutter/luci/cr-buildbucket.cfg
index f932d15..33b3e11 100644
--- a/config/generated/flutter/luci/cr-buildbucket.cfg
+++ b/config/generated/flutter/luci/cr-buildbucket.cfg
@@ -53432,6 +53432,49 @@
}
}
builders {
+ name: "Mac Devicelab Test Drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "cpu:x86"
+ dimensions: "device_os:iOS-15"
+ 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": "devicelab/devicelab_test_drone",'
+ ' "upload_metrics": true,'
+ ' "upload_packages": true'
+ '}'
+ execution_timeout_secs: 3600
+ 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 Engine Drone"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "device_type:none"
@@ -100040,6 +100083,48 @@
}
}
builders {
+ name: "beta-Mac Devicelab Test Drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "cpu:x86"
+ dimensions: "device_os:iOS-15"
+ 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": "devicelab/devicelab_test_drone",'
+ ' "upload_packages": true'
+ '}'
+ execution_timeout_secs: 3600
+ 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: "beta-Mac Engine Drone"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "device_type:none"
@@ -100568,6 +100653,48 @@
}
}
builders {
+ name: "stable-Mac Devicelab Test Drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "cpu:x86"
+ dimensions: "device_os:iOS-15"
+ 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": "devicelab/devicelab_test_drone",'
+ ' "upload_packages": true'
+ '}'
+ execution_timeout_secs: 3600
+ 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: "stable-Mac Engine Drone"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "device_type:none"
@@ -189252,6 +189379,77 @@
}
}
builders {
+ name: "Mac_ios_staging test_drone"
+ swarming_host: "chromium-swarm.appspot.com"
+ dimensions: "cpu:x86"
+ dimensions: "device_os:iOS-15"
+ dimensions: "os:Mac-12"
+ dimensions: "pool:luci.flutter.staging"
+ 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,'
+ ' "git_branch": "master",'
+ ' "gold_tryjob": false,'
+ ' "goma_jobs": "200",'
+ ' "mastername": "client.flutter",'
+ ' "recipe": "devicelab/devicelab_test_drone",'
+ ' "tags": ['
+ ' "devicelab",'
+ ' "ios",'
+ ' "mac"'
+ ' ],'
+ ' "upload_metrics": true,'
+ ' "upload_packages": true,'
+ ' "use_cas": true'
+ '}'
+ execution_timeout_secs: 3600
+ expiration_secs: 43200
+ caches {
+ name: "builder_mac_devicelab_staging"
+ path: "builder"
+ }
+ caches {
+ name: "flutter_sdk"
+ path: "flutter sdk"
+ }
+ caches {
+ name: "osx_sdk"
+ path: "osx_sdk"
+ }
+ caches {
+ name: "pub_cache"
+ path: ".pub-cache"
+ }
+ caches {
+ name: "xcode_binary"
+ path: "xcode_binary"
+ }
+ build_numbers: YES
+ service_account: "flutter-staging-builder@chops-service-accounts.iam.gserviceaccount.com"
+ task_template_canary_percentage {}
+ experiments {
+ key: "luci.recipes.use_python3"
+ value: 100
+ }
+ }
+ builders {
name: "Mac_staging plugin_test_ios"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "cpu:x86"
diff --git a/config/generated/flutter/luci/luci-milo.cfg b/config/generated/flutter/luci/luci-milo.cfg
index 2833f8b..44d4aec 100644
--- a/config/generated/flutter/luci/luci-milo.cfg
+++ b/config/generated/flutter/luci/luci-milo.cfg
@@ -126,6 +126,11 @@
short_name: "pvspi"
}
builders {
+ name: "buildbucket/luci.flutter.staging/Mac_ios_staging test_drone"
+ category: "Mac"
+ short_name: "Mac_ios_staging test_drone"
+ }
+ builders {
name: "buildbucket/luci.flutter.staging/Mac_android_staging drive_perf_debug_warning"
category: "Mac_android"
short_name: "dpdw"