Reland "Support recovering macOS bots from unsynced ios debug symbols"
This is a reland of commit 9f8c1b9d63be482163379e3c53e62568d7154661
with 4 total retries, each time increasing the timeout duration (the last retry lasting 16 minutes).
Original change's description:
> Support recovering macOS bots from unsynced ios debug symbols
>
> A LED run that actually recovered bot flutter-devicelab-mac-2 https://luci-milo.appspot.com/raw/build/logs.chromium.org/flutter/led/fujino_google.com/11662c93a361a4f7d9cd41e7531d0f635612080296d6caf1a4125507fc5d34d6/+/build.proto
>
> Bug: https://github.com/flutter/flutter/issues/103511
> Change-Id: Ic89b27e25b5267f2c85a47641d7dbb1dc52b5c34
> Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/31281
> Commit-Queue: Christopher Fujino <fujino@google.com>
> Reviewed-by: Keyong Han <keyonghan@google.com>
> Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
Bug: https://github.com/flutter/flutter/issues/103511
Change-Id: I330f12fcfdffb1dac959be1e8a58af6daece5961
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/31420
Reviewed-by: Keyong Han <keyonghan@google.com>
Commit-Queue: Christopher Fujino <fujino@google.com>
diff --git a/recipe_modules/os_utils/__init__.py b/recipe_modules/os_utils/__init__.py
index 579d2b0..5adc711 100644
--- a/recipe_modules/os_utils/__init__.py
+++ b/recipe_modules/os_utils/__init__.py
@@ -6,6 +6,7 @@
'recipe_engine/file',
'recipe_engine/path',
'recipe_engine/platform',
+ 'recipe_engine/properties',
'recipe_engine/raw_io',
'recipe_engine/step',
'recipe_engine/swarming',
diff --git a/recipe_modules/os_utils/api.py b/recipe_modules/os_utils/api.py
index f5daac7..765d39a 100644
--- a/recipe_modules/os_utils/api.py
+++ b/recipe_modules/os_utils/api.py
@@ -8,6 +8,7 @@
from PB.go.chromium.org.luci.buildbucket.proto import common as common_pb2
+TIMEOUT_PROPERTY = 'ios_debug_symbol_doctor_timeout_seconds'
class OsUtilsApi(recipe_api.RecipeApi):
"""Operating system utilities."""
@@ -230,6 +231,53 @@
['powershell.exe', resource_name],
)
+ def ios_debug_symbol_doctor(self):
+ """Call the ios_debug_symbol_doctor entrypoint of the Device Doctor."""
+ if str(self.m.swarming.bot_id
+ ).startswith('flutter-devicelab') and self.m.platform.is_mac:
+ with self.m.step.nest('ios_debug_symbol_doctor'):
+ cocoon_path = self._checkout_cocoon()
+ entrypoint = cocoon_path.join(
+ 'device_doctor',
+ 'bin',
+ 'ios_debug_symbol_doctor.dart',
+ )
+ # This is not set by the builder config, but can be provided via LED
+ timeout = self.m.properties.get(
+ TIMEOUT_PROPERTY,
+ 120, # 2 minutes
+ )
+ # Since we double the timeout on each retry, the last retry will have a
+ # timeout of 16 minutes
+ retry_count = 4
+ with self.m.context(cwd=cocoon_path.join('device_doctor'),
+ infra_steps=True):
+ self.m.step(
+ 'pub get device_doctor',
+ ['dart', 'pub', 'get'],
+ )
+ for _ in range(retry_count):
+ result = self._diagnose_and_recover_debug_symbols(entrypoint, timeout, cocoon_path)
+ # No errors in attached phones
+ if result:
+ return
+ # Try for twice as long next time
+ timeout *= 2
+ message = '''
+The ios_debug_symbol_doctor is detecting phones attached with errors and failed
+to recover this bot with a timeout of %s seconds.
+
+See https://github.com/flutter/flutter/issues/103511 for more context.
+''' % timeout
+ # raise purple
+ self.m.step.empty(
+ 'Recovery failed after %s attempts' % retry_count,
+ status=self.m.step.INFRA_FAILURE,
+ step_text=message,
+ )
+
+
+
def dismiss_dialogs(self):
"""Dismisses iOS dialogs to avoid problems.
@@ -239,10 +287,7 @@
if str(self.m.swarming.bot_id
).startswith('flutter-devicelab') and self.m.platform.is_mac:
with self.m.step.nest('Dismiss dialogs'):
- cocoon_path = self.m.path['cache'].join('cocoon')
- self.m.repo_util.checkout(
- 'cocoon', cocoon_path, ref='refs/heads/main'
- )
+ cocoon_path = self._checkout_cocoon()
resource_name = self.resource('dismiss_dialogs.sh')
self.m.step(
'Set execute permission',
@@ -259,3 +304,42 @@
).stdout.rstrip()
cmd = [resource_name, device_id]
self.m.step('Run app to dismiss dialogs', cmd)
+
+ def _checkout_cocoon(self):
+ """Checkout cocoon at HEAD to the cache and return the path."""
+ cocoon_path = self.m.path['cache'].join('cocoon')
+ self.m.repo_util.checkout(
+ 'cocoon', cocoon_path, ref='refs/heads/main'
+ )
+ return cocoon_path
+
+ def _diagnose_and_recover_debug_symbols(self, entrypoint, timeout, cocoon_path):
+ """Diagnose if attached phones have errors with debug symbols.
+
+ If there are errors, a recovery will be attempted. This function is intended
+ to be called in a retry loop until it returns True, or until a max retry
+ count is reached.
+
+ Returns a boolean for whether or not the initial diagnose succeeded.
+ """
+ try:
+ self.m.step(
+ 'diagnose',
+ ['dart', entrypoint, 'diagnose'],
+ )
+ return True
+ except self.m.step.StepFailure as e:
+ self.m.step(
+ 'recover with %s second timeout' % timeout,
+ [
+ 'dart',
+ entrypoint,
+ 'recover',
+ '--cocoon-root',
+ cocoon_path,
+ '--timeout',
+ timeout,
+ ],
+ )
+ return False
+
diff --git a/recipe_modules/os_utils/examples/full.expected/clean_derived_data.json b/recipe_modules/os_utils/examples/full.expected/clean_derived_data.json
index 7acf15d..c1d7bc9 100644
--- a/recipe_modules/os_utils/examples/full.expected/clean_derived_data.json
+++ b/recipe_modules/os_utils/examples/full.expected/clean_derived_data.json
@@ -1,6 +1,150 @@
[
{
"cmd": [],
+ "name": "ios_debug_symbol_doctor"
+ },
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
+ "--path",
+ "[CACHE]/cocoon",
+ "--url",
+ "https://flutter.googlesource.com/mirrors/cocoon"
+ ],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git setup",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "fetch",
+ "origin",
+ "main",
+ "--recurse-submodules",
+ "--progress",
+ "--tags"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
+ },
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git fetch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "checkout",
+ "-f",
+ "FETCH_HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git checkout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.read revision",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "clean",
+ "-f",
+ "-d",
+ "-x"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git clean",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "sync"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule sync",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "update",
+ "--init",
+ "--recursive"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "pub",
+ "get"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.pub get device_doctor",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
"name": "Killing Processes"
},
{
diff --git a/recipe_modules/os_utils/examples/full.expected/ios_debug_symbol_doctor_fails_four_times.json b/recipe_modules/os_utils/examples/full.expected/ios_debug_symbol_doctor_fails_four_times.json
new file mode 100644
index 0000000..7147cc0
--- /dev/null
+++ b/recipe_modules/os_utils/examples/full.expected/ios_debug_symbol_doctor_fails_four_times.json
@@ -0,0 +1,275 @@
+[
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor",
+ "~followup_annotations": [
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
+ "--path",
+ "[CACHE]/cocoon",
+ "--url",
+ "https://flutter.googlesource.com/mirrors/cocoon"
+ ],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git setup",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "fetch",
+ "origin",
+ "main",
+ "--recurse-submodules",
+ "--progress",
+ "--tags"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
+ },
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git fetch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "checkout",
+ "-f",
+ "FETCH_HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git checkout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.read revision",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "clean",
+ "-f",
+ "-d",
+ "-x"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git clean",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "sync"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule sync",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "update",
+ "--init",
+ "--recursive"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "pub",
+ "get"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.pub get device_doctor",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "recover",
+ "--cocoon-root",
+ "[CACHE]/cocoon",
+ "--timeout",
+ "120"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.recover with 120 second timeout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "recover",
+ "--cocoon-root",
+ "[CACHE]/cocoon",
+ "--timeout",
+ "240"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.recover with 240 second timeout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose (3)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "recover",
+ "--cocoon-root",
+ "[CACHE]/cocoon",
+ "--timeout",
+ "480"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.recover with 480 second timeout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose (4)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "recover",
+ "--cocoon-root",
+ "[CACHE]/cocoon",
+ "--timeout",
+ "960"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.recover with 960 second timeout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor.Recovery failed after 4 attempts",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_TEXT@<br/>The ios_debug_symbol_doctor is detecting phones attached with errors and failed<br/>to recover this bot with a timeout of 1920 seconds.<br/><br/>See https://github.com/flutter/flutter/issues/103511 for more context.<br/>@@@",
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "failure": {
+ "humanReason": "Infra Failure: Step('ios_debug_symbol_doctor.Recovery failed after 4 attempts') (retcode: 0)"
+ },
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/os_utils/examples/full.expected/ios_debug_symbol_doctor_fails_then_succeeds.json b/recipe_modules/os_utils/examples/full.expected/ios_debug_symbol_doctor_fails_then_succeeds.json
new file mode 100644
index 0000000..2378f13
--- /dev/null
+++ b/recipe_modules/os_utils/examples/full.expected/ios_debug_symbol_doctor_fails_then_succeeds.json
@@ -0,0 +1,511 @@
+[
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor",
+ "~followup_annotations": [
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
+ "--path",
+ "[CACHE]/cocoon",
+ "--url",
+ "https://flutter.googlesource.com/mirrors/cocoon"
+ ],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git setup",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "fetch",
+ "origin",
+ "main",
+ "--recurse-submodules",
+ "--progress",
+ "--tags"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
+ },
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git fetch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "checkout",
+ "-f",
+ "FETCH_HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git checkout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.read revision",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "clean",
+ "-f",
+ "-d",
+ "-x"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git clean",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "sync"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule sync",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "update",
+ "--init",
+ "--recursive"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "pub",
+ "get"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.pub get device_doctor",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_EXCEPTION@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "recover",
+ "--cocoon-root",
+ "[CACHE]/cocoon",
+ "--timeout",
+ "120"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.recover with 120 second timeout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "infra_step": true,
+ "name": "ios_debug_symbol_doctor.diagnose (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "Killing Processes"
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "dart"
+ ],
+ "infra_step": true,
+ "name": "Killing Processes.kill dart",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "flutter"
+ ],
+ "infra_step": true,
+ "name": "Killing Processes.kill flutter",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "Chrome"
+ ],
+ "infra_step": true,
+ "name": "Killing Processes.kill Chrome",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "Safari"
+ ],
+ "infra_step": true,
+ "name": "Killing Processes.kill Safari",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "java"
+ ],
+ "infra_step": true,
+ "name": "Killing Processes.kill Safari (2)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "adb"
+ ],
+ "infra_step": true,
+ "name": "Killing Processes.kill Safari (3)",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "top",
+ "-l",
+ "3",
+ "-o",
+ "mem"
+ ],
+ "infra_step": true,
+ "name": "OS info"
+ },
+ {
+ "cmd": [
+ "xattr",
+ "/opt/s/w/ir/cipd_bin_packages/python"
+ ],
+ "infra_step": true,
+ "name": "python xattr info"
+ },
+ {
+ "cmd": [
+ "xattr",
+ "/opt/s/w/ir/cipd_bin_packages/git"
+ ],
+ "infra_step": true,
+ "name": "git xattr info"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "rmtree",
+ "[CLEANUP]/tmp_tmp_1"
+ ],
+ "infra_step": true,
+ "name": "temp dir for Create temp directory"
+ },
+ {
+ "cmd": [
+ "rm",
+ "-rf",
+ "[HOME]/Library/Developer/Xcode/DerivedData"
+ ],
+ "infra_step": true,
+ "name": "Delete mac deriveddata"
+ },
+ {
+ "cmd": [],
+ "name": "Shutdown simulators"
+ },
+ {
+ "cmd": [
+ "sudo",
+ "xcrun",
+ "simctl",
+ "shutdown",
+ "all"
+ ],
+ "name": "Shutdown simulators.Shutdown simulators",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "sudo",
+ "xcrun",
+ "simctl",
+ "erase",
+ "all"
+ ],
+ "name": "Shutdown simulators.Erase simulators",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "Dismiss dialogs"
+ },
+ {
+ "cmd": [],
+ "name": "Dismiss dialogs.Checkout flutter/cocoon",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
+ "--path",
+ "[CACHE]/cocoon",
+ "--url",
+ "https://flutter.googlesource.com/mirrors/cocoon"
+ ],
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git setup",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "fetch",
+ "origin",
+ "main",
+ "--recurse-submodules",
+ "--progress",
+ "--tags"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "PATH": "RECIPE_REPO[depot_tools]:<PATH>"
+ },
+ "infra_step": true,
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git fetch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "checkout",
+ "-f",
+ "FETCH_HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git checkout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.read revision",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "clean",
+ "-f",
+ "-d",
+ "-x"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git clean",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "sync"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.submodule sync",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "update",
+ "--init",
+ "--recursive"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.submodule update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "chmod",
+ "755",
+ "RECIPE_MODULE[flutter::os_utils]/resources/dismiss_dialogs.sh"
+ ],
+ "infra_step": true,
+ "name": "Dismiss dialogs.Set execute permission",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "idevice_id",
+ "-l"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor/tool/infra-dialog",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Find device id",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "RECIPE_MODULE[flutter::os_utils]/resources/dismiss_dialogs.sh",
+ ""
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor/tool/infra-dialog",
+ "infra_step": true,
+ "name": "Dismiss dialogs.Run app to dismiss dialogs",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "ln",
+ "-s",
+ "/a/file",
+ "/a/b/c/simlink"
+ ],
+ "infra_step": true,
+ "name": "Link /a/b/c/simlink to /a/file"
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "com.apple.CoreSimulator.CoreSimulatorDevice"
+ ],
+ "infra_step": true,
+ "name": "kill dart"
+ },
+ {
+ "name": "$result"
+ }
+]
\ No newline at end of file
diff --git a/recipe_modules/os_utils/examples/full.expected/mac_linux.json b/recipe_modules/os_utils/examples/full.expected/mac.json
similarity index 100%
rename from recipe_modules/os_utils/examples/full.expected/mac_linux.json
rename to recipe_modules/os_utils/examples/full.expected/mac.json
diff --git a/recipe_modules/os_utils/examples/full.py b/recipe_modules/os_utils/examples/full.py
index 0d44ad5..5bbca64 100644
--- a/recipe_modules/os_utils/examples/full.py
+++ b/recipe_modules/os_utils/examples/full.py
@@ -15,6 +15,7 @@
def RunSteps(api):
+ api.os_utils.ios_debug_symbol_doctor()
api.os_utils.kill_processes()
api.os_utils.collect_os_info()
@@ -39,10 +40,29 @@
api.platform('win', 64),
)
yield api.test(
- 'mac_linux',
+ 'mac',
api.platform('mac', 64),
)
yield api.test(
+ 'ios_debug_symbol_doctor_fails_then_succeeds',
+ api.step_data('ios_debug_symbol_doctor.diagnose', retcode=1),
+ api.platform('mac', 64),
+ api.properties.environ(
+ properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
+ ),
+ )
+ yield api.test(
+ 'ios_debug_symbol_doctor_fails_four_times',
+ api.step_data('ios_debug_symbol_doctor.diagnose', retcode=1),
+ api.step_data('ios_debug_symbol_doctor.diagnose (2)', retcode=1),
+ api.step_data('ios_debug_symbol_doctor.diagnose (3)', retcode=1),
+ api.step_data('ios_debug_symbol_doctor.diagnose (4)', retcode=1),
+ api.platform('mac', 64),
+ api.properties.environ(
+ properties.EnvProperties(SWARMING_BOT_ID='flutter-devicelab-mac-1')
+ ),
+ )
+ yield api.test(
'linux_linux',
api.platform('linux', 64),
)
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
index 01b0c81..4bd60d0 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
@@ -2,11 +2,10 @@
{
"cmd": [
"top",
- "-b",
- "-n",
+ "-l",
"3",
"-o",
- "%MEM"
+ "mem"
],
"infra_step": true,
"luci_context": {
@@ -24,6 +23,46 @@
"name": "OS info"
},
{
+ "cmd": [
+ "xattr",
+ "/opt/s/w/ir/cipd_bin_packages/python"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "python xattr info"
+ },
+ {
+ "cmd": [
+ "xattr",
+ "/opt/s/w/ir/cipd_bin_packages/git"
+ ],
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "git xattr info"
+ },
+ {
"cmd": [],
"name": "Checkout flutter/flutter"
},
@@ -385,7 +424,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -426,7 +465,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -467,7 +506,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -509,7 +548,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -538,6 +577,244 @@
},
{
"cmd": [
+ "rm",
+ "-rf",
+ "[HOME]/Library/Developer/Xcode/DerivedData"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Delete mac deriveddata"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CLEANUP]/tmp_tmp_3/osx_sdk",
+ "-ensure-file",
+ "infra/tools/mac_toolchain/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/mac_toolchain/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[CLEANUP]/tmp_tmp_3/osx_sdk/mac_toolchain",
+ "install",
+ "-kind",
+ "ios",
+ "-xcode-version",
+ "deadbeef",
+ "-output-dir",
+ "/opt/flutter/xcode/deadbeef/XCode.app",
+ "-cipd-package-prefix",
+ "flutter_internal/ios/xcode"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "install xcode"
+ },
+ {
+ "cmd": [
+ "sudo",
+ "xcode-select",
+ "--switch",
+ "/opt/flutter/xcode/deadbeef/XCode.app"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "select XCode"
+ },
+ {
+ "cmd": [
+ "xcrun",
+ "simctl",
+ "list"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "list simulators"
+ },
+ {
+ "cmd": [
"flutter",
"doctor",
"--verbose"
@@ -551,7 +828,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -579,6 +856,1007 @@
"timeout": 300
},
{
+ "cmd": [],
+ "name": "Dismiss dialogs"
+ },
+ {
+ "cmd": [],
+ "name": "Dismiss dialogs.Checkout flutter/cocoon",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
+ "--path",
+ "[CACHE]/cocoon",
+ "--url",
+ "https://flutter.googlesource.com/mirrors/cocoon"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git setup",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "fetch",
+ "origin",
+ "main",
+ "--recurse-submodules",
+ "--progress",
+ "--tags"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PATH": "RECIPE_REPO[depot_tools]:<PATH>",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git fetch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "checkout",
+ "-f",
+ "FETCH_HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git checkout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.read revision",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "clean",
+ "-f",
+ "-d",
+ "-x"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.git clean",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "sync"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.submodule sync",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "update",
+ "--init",
+ "--recursive"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Checkout flutter/cocoon.submodule update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "chmod",
+ "755",
+ "RECIPE_MODULE[flutter::os_utils]/resources/dismiss_dialogs.sh"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Set execute permission",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "idevice_id",
+ "-l"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor/tool/infra-dialog",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Find device id",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "RECIPE_MODULE[flutter::os_utils]/resources/dismiss_dialogs.sh",
+ ""
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor/tool/infra-dialog",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Dismiss dialogs.Run app to dismiss dialogs",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "Shutdown simulators"
+ },
+ {
+ "cmd": [
+ "sudo",
+ "xcrun",
+ "simctl",
+ "shutdown",
+ "all"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Shutdown simulators.Shutdown simulators",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "sudo",
+ "xcrun",
+ "simctl",
+ "erase",
+ "all"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Shutdown simulators.Erase simulators",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor"
+ },
+ {
+ "cmd": [],
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
+ "--path",
+ "[CACHE]/cocoon",
+ "--url",
+ "https://flutter.googlesource.com/mirrors/cocoon"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git setup",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "fetch",
+ "origin",
+ "main",
+ "--recurse-submodules",
+ "--progress",
+ "--tags"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PATH": "RECIPE_REPO[depot_tools]:<PATH>",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git fetch",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "checkout",
+ "-f",
+ "FETCH_HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git checkout",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.read revision",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@",
+ "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@",
+ "@@@SET_BUILD_PROPERTY@got_revision@\"deadbeef\"@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "clean",
+ "-f",
+ "-d",
+ "-x"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.git clean",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "sync"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule sync",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "git",
+ "submodule",
+ "update",
+ "--init",
+ "--recursive"
+ ],
+ "cwd": "[CACHE]/cocoon",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.Checkout flutter/cocoon.submodule update",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "pub",
+ "get"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.pub get device_doctor",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "dart",
+ "[CACHE]/cocoon/device_doctor/bin/ios_debug_symbol_doctor.dart",
+ "diagnose"
+ ],
+ "cwd": "[CACHE]/cocoon/device_doctor",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "ios_debug_symbol_doctor.diagnose",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"chmod",
"755",
@@ -593,7 +1871,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -643,7 +1921,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -708,7 +1986,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -762,7 +2040,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -824,7 +2102,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -865,54 +2143,8 @@
},
{
"cmd": [
- "pkill",
- "chrome"
- ],
- "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
- "env": {
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
- "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
- "GIT_BRANCH": "master",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "OS": "linux",
- "PUB_CACHE": "[START_DIR]/.pub-cache",
- "REVISION": "",
- "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
- },
- "env_prefixes": {
- "PATH": [
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
- "[CLEANUP]/tmp_tmp_2/vpython",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
- "[CLEANUP]/tmp_tmp_2/vpython"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "project:ci"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Killing Processes.kill chrome",
- "~followup_annotations": [
- "@@@STEP_NEST_LEVEL@1@@@"
- ]
- },
- {
- "cmd": [
- "pkill",
+ "killall",
+ "-9",
"dart"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
@@ -924,7 +2156,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -959,7 +2191,8 @@
},
{
"cmd": [
- "pkill",
+ "killall",
+ "-9",
"flutter"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
@@ -971,7 +2204,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1006,7 +2239,104 @@
},
{
"cmd": [
- "pkill",
+ "killall",
+ "-9",
+ "Chrome"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Killing Processes.kill Chrome",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
+ "Safari"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Killing Processes.kill Safari",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "killall",
+ "-9",
"java"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
@@ -1018,7 +2348,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1046,14 +2376,15 @@
"hostname": "rdbhost"
}
},
- "name": "Killing Processes.kill java",
+ "name": "Killing Processes.kill Safari (2)",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
},
{
"cmd": [
- "pkill",
+ "killall",
+ "-9",
"adb"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
@@ -1065,7 +2396,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1093,7 +2424,7 @@
"hostname": "rdbhost"
}
},
- "name": "Killing Processes.kill adb",
+ "name": "Killing Processes.kill Safari (3)",
"~followup_annotations": [
"@@@STEP_NEST_LEVEL@1@@@"
]
@@ -1101,11 +2432,10 @@
{
"cmd": [
"top",
- "-b",
- "-n",
+ "-l",
"3",
"-o",
- "%MEM"
+ "mem"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -1116,7 +2446,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1148,6 +2478,94 @@
},
{
"cmd": [
+ "xattr",
+ "/opt/s/w/ir/cipd_bin_packages/python"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "python xattr info (2)"
+ },
+ {
+ "cmd": [
+ "xattr",
+ "/opt/s/w/ir/cipd_bin_packages/git"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "git xattr info (2)"
+ },
+ {
+ "cmd": [
"echo",
"test run is flaky"
],
@@ -1160,7 +2578,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1191,6 +2609,48 @@
"name": "step is flaky: run abc"
},
{
+ "cmd": [
+ "sudo",
+ "xcode-select",
+ "--reset"
+ ],
+ "cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
+ "env": {
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "GIT_BRANCH": "master",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "darwin",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REVISION": "",
+ "SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "project:ci"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "reset XCode"
+ },
+ {
"cmd": [],
"name": "Upload metrics"
},
@@ -1212,7 +2672,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1251,7 +2711,7 @@
"/path/to/tmp/json",
"copy",
"extra.secret.token.should.not.be.logged",
- "[CLEANUP]/tmp_tmp_3"
+ "[CLEANUP]/tmp_tmp_4"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -1262,7 +2722,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1308,7 +2768,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1347,7 +2807,7 @@
"/path/to/tmp/json",
"copy",
"extra.secret.token.should.not.be.logged",
- "[CLEANUP]/tmp_tmp_4"
+ "[CLEANUP]/tmp_tmp_5"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -1358,7 +2818,7 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk"
@@ -1404,7 +2864,7 @@
"--test-status",
"Succeeded",
"--service-account-token-file",
- "[CLEANUP]/tmp_tmp_4"
+ "[CLEANUP]/tmp_tmp_5"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -1416,11 +2876,11 @@
"LUCI_BRANCH": "",
"LUCI_CI": "True",
"LUCI_PR": "",
- "OS": "linux",
+ "OS": "darwin",
"PUB_CACHE": "[START_DIR]/.pub-cache",
"REVISION": "",
"SDK_CHECKOUT_PATH": "[CLEANUP]/tmp_tmp_1/flutter sdk",
- "TOKEN_PATH": "[CLEANUP]/tmp_tmp_3"
+ "TOKEN_PATH": "[CLEANUP]/tmp_tmp_4"
},
"env_prefixes": {
"PATH": [
diff --git a/recipes/devicelab/devicelab_drone.py b/recipes/devicelab/devicelab_drone.py
index 55de93c..0cb5017 100644
--- a/recipes/devicelab/devicelab_drone.py
+++ b/recipes/devicelab/devicelab_drone.py
@@ -178,6 +178,7 @@
)
api.os_utils.dismiss_dialogs()
api.os_utils.shutdown_simulators()
+ api.os_utils.ios_debug_symbol_doctor()
with api.context(env=env, env_prefixes=env_prefixes):
resource_name = api.resource('runner.sh')
api.step('Set execute permission', ['chmod', '755', resource_name])
@@ -336,7 +337,11 @@
tags=['ios'],
dependencies=[{'dependency': 'xcode'}],
git_branch='master',
+ **{'$flutter/devicelab_osx_sdk': {
+ 'sdk_version': 'deadbeef',
+ }}
), api.repo_util.flutter_environment_data(checkout_dir=checkout_path),
+ api.platform.name('mac'),
api.buildbucket.ci_build(git_ref='refs/heads/master',),
api.step_data(
'run abc',