Run dismiss dialogs only on ios bots.
This is to prevent trying to run the dismiss dialogs logic that is
mac/ios only.
CP Request: https://github.com/flutter/flutter/issues/144951
Change-Id: Iec95d2b659c0ce4ceb7bf57cb2639d5da7e58ea6
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/54104
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Keyong Han <keyonghan@google.com>
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/55960
Commit-Queue: Victoria Ashworth <vashworth@google.com>
diff --git a/recipe_modules/os_utils/api.py b/recipe_modules/os_utils/api.py
index 6d0ff4d..be69ce9 100644
--- a/recipe_modules/os_utils/api.py
+++ b/recipe_modules/os_utils/api.py
@@ -231,7 +231,7 @@
def shutdown_simulators(self):
"""It stops simulators if task is running on a devicelab bot."""
- if self._is_devicelab() and self.m.platform.is_mac:
+ if self.is_devicelab() and self.is_ios() and self.m.platform.is_mac:
with self.m.step.nest('Shutdown simulators'):
self.m.step(
'Shutdown simulators',
@@ -268,7 +268,8 @@
diagnose_first:
(bool) Whether diagnosis will be run initially before attempting to recover.
"""
- if not self._is_devicelab() or not self.m.platform.is_mac:
+ if not self.is_devicelab() or not self.m.platform.is_mac or not self.is_ios(
+ ):
# if no iPhone is attached, we don't need to recover ios debug symbols
return
with self.m.step.nest('ios_debug_symbol_doctor'):
@@ -328,8 +329,7 @@
Args:
flutter_path(Path): A path to the checkout of the flutter sdk repository.
"""
- if str(self.m.swarming.bot_id
- ).startswith('flutter-devicelab') and self.m.platform.is_mac:
+ if self.is_devicelab() and self.is_ios() and self.m.platform.is_mac:
with self.m.step.nest('Dismiss dialogs'):
# Get list of wired CoreDevices.
# Allow any return code and ignore failure since this command will only
@@ -607,8 +607,7 @@
def reset_automation_dialogs(self):
"""Reset Xcode Automation permissions."""
- if str(self.m.swarming.bot_id
- ).startswith('flutter-devicelab') and self.m.platform.is_mac:
+ if self.is_devicelab() and self.m.platform.is_mac:
with self.m.step.nest('Reset Xcode automation dialogs'):
tcc_directory_path, db_path, backup_db_path = self._get_tcc_path()
@@ -679,5 +678,9 @@
],
)
- def _is_devicelab(self):
+ def is_devicelab(self):
return str(self.m.swarming.bot_id).startswith('flutter-devicelab')
+
+ def is_ios(self):
+ device_os = self.m.properties.get('device_os', '')
+ return device_os.lower().startswith('ios-')
diff --git a/recipe_modules/os_utils/examples/full.py b/recipe_modules/os_utils/examples/full.py
index 29f37e5..c192a02 100644
--- a/recipe_modules/os_utils/examples/full.py
+++ b/recipe_modules/os_utils/examples/full.py
@@ -63,6 +63,7 @@
xcode_dismiss_dialog_find_db_step,
xcode_dismiss_dialog_query_db_step,
api.platform('mac', 64),
+ api.properties(device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
),
@@ -75,6 +76,7 @@
api.step_data('ios_debug_symbol_doctor.diagnose (4)', retcode=1),
api.step_data('ios_debug_symbol_doctor.diagnose (5)', retcode=1),
api.platform('mac', 64),
+ api.properties(device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
),
@@ -92,6 +94,7 @@
'clean_derived_data', api.platform('mac', 64),
xcode_dismiss_dialog_find_db_step,
xcode_dismiss_dialog_query_db_step,
+ api.properties(device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
)
@@ -103,6 +106,7 @@
stdout=api.raw_io.output_text(''),
),
api.platform('mac', 64),
+ api.properties(device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
),
@@ -113,6 +117,7 @@
xcode_dismiss_dialog_find_db_step,
# xcode_dismiss_dialog_query_db_step,
api.platform('mac', 64),
+ api.properties(device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
),
@@ -127,6 +132,7 @@
stdout=api.raw_io.output_text('TCC.db.backup'),
),
api.platform('mac', 64),
+ api.properties(device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
),
@@ -142,7 +148,7 @@
stdout=api.raw_io.output_text('No devices found.'),
),
api.platform('mac', 64),
- api.properties(buildername='Mac flutter_gallery_ios__start_up',),
+ api.properties(buildername='Mac flutter_gallery_ios__start_up', device_os='iOS-16'),
api.properties.environ(
properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
),
diff --git a/recipes/devicelab/devicelab_drone.py b/recipes/devicelab/devicelab_drone.py
index 44c2dfd..d50a5e3 100644
--- a/recipes/devicelab/devicelab_drone.py
+++ b/recipes/devicelab/devicelab_drone.py
@@ -400,6 +400,7 @@
buildername='Mac_ios abc',
task_name='abc',
tags=['ios'],
+ device_os='iOS-16',
git_branch='master',
**{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}}
),
@@ -422,7 +423,9 @@
),
api.step_data(
'Dismiss dialogs.Dismiss Xcode automation dialogs.Query TCC db (2)',
- stdout=api.raw_io.output_text('service|client|client_type|auth_value|auth_reason|auth_version|com.apple.dt.Xcode|flags|last_modified'),
+ stdout=api.raw_io.output_text(
+ 'service|client|client_type|auth_value|auth_reason|auth_version|com.apple.dt.Xcode|flags|last_modified'
+ ),
),
)
yield api.test(
@@ -431,6 +434,7 @@
buildername='Mac_ios abc',
task_name='abc',
tags=['ios'],
+ device_os='iOS-16',
test_timeout_secs=1,
git_branch='master',
**{'$flutter/osx_sdk': {'sdk_version': 'deadbeef',}}
@@ -453,7 +457,9 @@
),
api.step_data(
'Dismiss dialogs.Dismiss Xcode automation dialogs.Query TCC db (2)',
- stdout=api.raw_io.output_text('service|client|client_type|auth_value|auth_reason|auth_version|com.apple.dt.Xcode|flags|last_modified'),
+ stdout=api.raw_io.output_text(
+ 'service|client|client_type|auth_value|auth_reason|auth_version|com.apple.dt.Xcode|flags|last_modified'
+ ),
),
api.swarming.properties(bot_id='flutter-devicelab-mac-1'),
status='FAILURE',