Remove the extra installation of mac os in the engine recipe.

This is to prepare the builders to use the new mac capacity with mac
10.15.

Change-Id: I7fc4c7f1eaa82b5e9002fab0c9290bf5c5f89efe
Bug: https://github.com/flutter/flutter/issues/65129
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/6300
Reviewed-by: Christopher Fujino <fujino@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipes/engine.expected/mac.json b/recipes/engine.expected/mac.json
index 83fa124..d057aaa 100644
--- a/recipes/engine.expected/mac.json
+++ b/recipes/engine.expected/mac.json
@@ -6187,52 +6187,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6242,8 +6196,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_maven_or_bitcode.json b/recipes/engine.expected/mac_maven_or_bitcode.json
index 275b11e..0a0d0fb 100644
--- a/recipes/engine.expected/mac_maven_or_bitcode.json
+++ b/recipes/engine.expected/mac_maven_or_bitcode.json
@@ -6187,52 +6187,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6242,8 +6196,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_maven_or_bitcode_no_lto.json b/recipes/engine.expected/mac_maven_or_bitcode_no_lto.json
index f23f07a..9792a4c 100644
--- a/recipes/engine.expected/mac_maven_or_bitcode_no_lto.json
+++ b/recipes/engine.expected/mac_maven_or_bitcode_no_lto.json
@@ -6194,52 +6194,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6249,8 +6203,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd.json b/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd.json
index 275b11e..0a0d0fb 100644
--- a/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd.json
@@ -6187,52 +6187,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6242,8 +6196,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd_no_lto.json b/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd_no_lto.json
index f23f07a..9792a4c 100644
--- a/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/mac_maven_or_bitcode_publish_cipd_no_lto.json
@@ -6194,52 +6194,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6249,8 +6203,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_no_lto.json b/recipes/engine.expected/mac_no_lto.json
index 34b3fbc..d0005ca 100644
--- a/recipes/engine.expected/mac_no_lto.json
+++ b/recipes/engine.expected/mac_no_lto.json
@@ -6194,52 +6194,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6249,8 +6203,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_publish_cipd.json b/recipes/engine.expected/mac_publish_cipd.json
index 83fa124..d057aaa 100644
--- a/recipes/engine.expected/mac_publish_cipd.json
+++ b/recipes/engine.expected/mac_publish_cipd.json
@@ -6187,52 +6187,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6242,8 +6196,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_publish_cipd_no_lto.json b/recipes/engine.expected/mac_publish_cipd_no_lto.json
index 34b3fbc..d0005ca 100644
--- a/recipes/engine.expected/mac_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/mac_publish_cipd_no_lto.json
@@ -6194,52 +6194,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6249,8 +6203,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload.json b/recipes/engine.expected/mac_upload.json
index 17d2b32..086d3dc 100644
--- a/recipes/engine.expected/mac_upload.json
+++ b/recipes/engine.expected/mac_upload.json
@@ -6799,52 +6799,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6854,8 +6808,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_maven_or_bitcode.json b/recipes/engine.expected/mac_upload_maven_or_bitcode.json
index d21cab2..ff34319 100644
--- a/recipes/engine.expected/mac_upload_maven_or_bitcode.json
+++ b/recipes/engine.expected/mac_upload_maven_or_bitcode.json
@@ -6799,52 +6799,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6854,8 +6808,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_maven_or_bitcode_no_lto.json b/recipes/engine.expected/mac_upload_maven_or_bitcode_no_lto.json
index d316b7e..4968b1e 100644
--- a/recipes/engine.expected/mac_upload_maven_or_bitcode_no_lto.json
+++ b/recipes/engine.expected/mac_upload_maven_or_bitcode_no_lto.json
@@ -6806,52 +6806,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6861,8 +6815,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd.json b/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd.json
index d21cab2..ff34319 100644
--- a/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd.json
@@ -6799,52 +6799,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6854,8 +6808,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd_no_lto.json b/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd_no_lto.json
index d316b7e..4968b1e 100644
--- a/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/mac_upload_maven_or_bitcode_publish_cipd_no_lto.json
@@ -6806,52 +6806,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6861,8 +6815,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_no_lto.json b/recipes/engine.expected/mac_upload_no_lto.json
index c3114a7..ce38533 100644
--- a/recipes/engine.expected/mac_upload_no_lto.json
+++ b/recipes/engine.expected/mac_upload_no_lto.json
@@ -6806,52 +6806,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6861,8 +6815,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_publish_cipd.json b/recipes/engine.expected/mac_upload_publish_cipd.json
index 17d2b32..086d3dc 100644
--- a/recipes/engine.expected/mac_upload_publish_cipd.json
+++ b/recipes/engine.expected/mac_upload_publish_cipd.json
@@ -6799,52 +6799,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6854,8 +6808,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/mac_upload_publish_cipd_no_lto.json b/recipes/engine.expected/mac_upload_publish_cipd_no_lto.json
index c3114a7..ce38533 100644
--- a/recipes/engine.expected/mac_upload_publish_cipd_no_lto.json
+++ b/recipes/engine.expected/mac_upload_publish_cipd_no_lto.json
@@ -6806,52 +6806,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (3)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6861,8 +6815,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine.expected/safeupload_raise_on_duplicate.json b/recipes/engine.expected/safeupload_raise_on_duplicate.json
index 5ede8dd..b383c6b 100644
--- a/recipes/engine.expected/safeupload_raise_on_duplicate.json
+++ b/recipes/engine.expected/safeupload_raise_on_duplicate.json
@@ -2253,7 +2253,7 @@
       "    raw_result = recipe_obj.run_steps(api, engine)",
       "  File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/recipe_deps.py\", in run_steps",
       "    recipe_result = self.global_symbols['RunSteps'](*args)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine.py\", line 1600, in RunSteps",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine.py\", line 1571, in RunSteps",
       "    BuildLinux(api)",
       "  File \"RECIPE_REPO[flutter]/recipes/engine.py\", line 648, in BuildLinux",
       "    'out/host_debug_unopt/gen/frontend_server.dart.snapshot',",
diff --git a/recipes/engine.py b/recipes/engine.py
index ec398df..8234b88 100644
--- a/recipes/engine.py
+++ b/recipes/engine.py
@@ -1474,47 +1474,18 @@
     )
 
 
-# The MacOSX10.15 SDK included in Xcode 11 does not ship Ruby 2.3 headers,
-# so jazzy installation will fail on MacOS 10.14 + Xcode 11. Workaround
-# that by specifying an external MacOSX10.14 SDK to use during gem installation.
-#
-# TODO(https://crbug.com/998883): remove this method and all references to it
-# once the bots are upgraded to MacOS 10.15.
-@contextmanager
-def SetupMacOSSDK(api):
-  xcode_binary_cache_dir = api.path['cache'].join('xcode_binary')
-  # Pull a trimmed version of Xcode 10.2.1(10E1001) that contains the MacOS
-  # 10.14 SDK needed for installing gems. This does not affect what
-  # `xcode-select -p` points to.
-  api.cipd.ensure(
-      xcode_binary_cache_dir,
-      api.cipd.EnsureFile().add_package(
-          'infra_internal/ios/xcode/xcode_binaries/${platform}',
-          'yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC'
-      )
-  )
-
-  # Override SDKROOT during gem installation.
-  sdk_relative_path = 'Contents/Developer/Platforms/' \
-                      'MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk'
-  with api.context(
-      env={"SDKROOT": xcode_binary_cache_dir.join(sdk_relative_path)}):
-    yield
-
-
 @contextmanager
 def InstallGems(api):
   gem_dir = api.path['start_dir'].join('gems')
   api.file.ensure_directory('mkdir gems', gem_dir)
 
-  with SetupMacOSSDK(api):
-    with api.context(cwd=gem_dir):
-      api.step(
-          'install jazzy', [
-              'gem', 'install', 'jazzy:' + api.properties['jazzy_version'],
-              '--install-dir', '.'
-          ]
-      )
+  with api.context(cwd=gem_dir):
+    api.step(
+        'install jazzy', [
+            'gem', 'install', 'jazzy:' + api.properties['jazzy_version'],
+            '--install-dir', '.'
+        ]
+    )
   with api.context(env={"GEM_HOME": gem_dir},
                    env_prefixes={'PATH': [gem_dir.join('bin')]}):
     yield
diff --git a/recipes/engine_1_20_0.expected/mac.json b/recipes/engine_1_20_0.expected/mac.json
index b1b26f7..515b9b1 100644
--- a/recipes/engine_1_20_0.expected/mac.json
+++ b/recipes/engine_1_20_0.expected/mac.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_maven_or_bitcode.json b/recipes/engine_1_20_0.expected/mac_maven_or_bitcode.json
index c0c978e..fb4159f 100644
--- a/recipes/engine_1_20_0.expected/mac_maven_or_bitcode.json
+++ b/recipes/engine_1_20_0.expected/mac_maven_or_bitcode.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_maven_or_bitcode_publish_cipd.json b/recipes/engine_1_20_0.expected/mac_maven_or_bitcode_publish_cipd.json
index c0c978e..fb4159f 100644
--- a/recipes/engine_1_20_0.expected/mac_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine_1_20_0.expected/mac_maven_or_bitcode_publish_cipd.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_publish_cipd.json b/recipes/engine_1_20_0.expected/mac_publish_cipd.json
index b1b26f7..515b9b1 100644
--- a/recipes/engine_1_20_0.expected/mac_publish_cipd.json
+++ b/recipes/engine_1_20_0.expected/mac_publish_cipd.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_upload.json b/recipes/engine_1_20_0.expected/mac_upload.json
index 6644aa9..7fd1d2f 100644
--- a/recipes/engine_1_20_0.expected/mac_upload.json
+++ b/recipes/engine_1_20_0.expected/mac_upload.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode.json b/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode.json
index 62a21ae..457609b 100644
--- a/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode.json
+++ b/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json b/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json
index 62a21ae..457609b 100644
--- a/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine_1_20_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/mac_upload_publish_cipd.json b/recipes/engine_1_20_0.expected/mac_upload_publish_cipd.json
index 6644aa9..7fd1d2f 100644
--- a/recipes/engine_1_20_0.expected/mac_upload_publish_cipd.json
+++ b/recipes/engine_1_20_0.expected/mac_upload_publish_cipd.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_20_0.expected/safeupload_raise_on_duplicate.json b/recipes/engine_1_20_0.expected/safeupload_raise_on_duplicate.json
index 95ee1ba..8323331 100644
--- a/recipes/engine_1_20_0.expected/safeupload_raise_on_duplicate.json
+++ b/recipes/engine_1_20_0.expected/safeupload_raise_on_duplicate.json
@@ -2195,13 +2195,13 @@
       "    raw_result = recipe_obj.run_steps(api, engine)",
       "  File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/recipe_deps.py\", in run_steps",
       "    recipe_result = self.global_symbols['RunSteps'](*args)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 1544, in RunSteps",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 1679, in RunSteps",
       "    BuildLinux(api)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 694, in BuildLinux",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 754, in BuildLinux",
       "    'out/host_debug_unopt/gen/frontend_server.dart.snapshot',",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 282, in UploadArtifacts",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 293, in UploadArtifacts",
       "    SafeUpload(api, local_zip, remote_zip)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 103, in SafeUpload",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_20_0.py\", line 108, in SafeUpload",
       "    raise AssertionError('%s already exists on cloud storage' % cloud_path)",
       "AssertionError: gs://flutter_infra/flutter//linux-x64/artifacts.zip already exists on cloud storage"
     ]
diff --git a/recipes/engine_1_20_0.py b/recipes/engine_1_20_0.py
index dcd197b..9d98cfa 100644
--- a/recipes/engine_1_20_0.py
+++ b/recipes/engine_1_20_0.py
@@ -1,6 +1,7 @@
 # Copyright 2016 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+
 '''
 This recipe was forked from engine.py for Flutter release version
 1.20-candidate.7.
@@ -55,7 +56,8 @@
 FUCHSIA_ARTIFACTS_DEBUG_NAMESPACE = 'debug'
 ICU_DATA_PATH = 'third_party/icu/flutter/icudtl.dat'
 GIT_REPO = (
-    'https://chromium.googlesource.com/external/github.com/flutter/engine')
+    'https://chromium.googlesource.com/external/github.com/flutter/engine'
+)
 
 PROPERTIES = InputProperties
 ENV_PROPERTIES = EnvProperties
@@ -70,12 +72,14 @@
 
 
 # TODO(fujino): make this a shared function in a utility module.
-def SafeUpload(api,
-               local_path,
-               remote_path,
-               bucket_name=BUCKET_NAME,
-               args=[],
-               skip_on_duplicate=False):
+def SafeUpload(
+    api,
+    local_path,
+    remote_path,
+    bucket_name=BUCKET_NAME,
+    args=[],
+    skip_on_duplicate=False
+):
   """Upload a file if it doesn't already exist, fail job otherwise.
 
     The check can be overridden with the `force_upload` property.
@@ -94,7 +98,8 @@
             'stat',
             cloud_path,
         ],
-        ok_ret='all')
+        ok_ret='all'
+    )
     # A return value of 0 means the file ALREADY exists on cloud storage
     if result.exc_result.retcode == 0:
       if skip_on_duplicate:
@@ -107,7 +112,8 @@
       bucket_name,
       remote_path,
       args=args,
-      name='upload "%s"' % remote_path)
+      name='upload "%s"' % remote_path
+  )
 
 
 def ShouldUploadPackages(api):
@@ -170,7 +176,8 @@
       # Increasing priority won't fix the problem but will make the deadlock
       # situation less unlikely.
       # https://github.com/flutter/flutter/issues/59169.
-      priority=25)
+      priority=25
+  )
   return api.buildbucket.schedule([req])
 
 
@@ -215,8 +222,10 @@
 
 
 def BuildAndTestFuchsia(api, build_script, git_rev):
-  RunGN(api, '--fuchsia', '--fuchsia-cpu', 'x64', '--runtime-mode', 'debug',
-        '--no-lto')
+  RunGN(
+      api, '--fuchsia', '--fuchsia-cpu', 'x64', '--runtime-mode', 'debug',
+      '--no-lto'
+  )
   Build(api, 'fuchsia_debug_x64', *GetFlutterFuchsiaBuildTargets(False, True))
 
   fuchsia_package_cmd = [
@@ -228,8 +237,10 @@
     api.step('Package Fuchsia Artifacts', fuchsia_package_cmd)
     TestFuchsia(api)
 
-  RunGN(api, '--fuchsia', '--fuchsia-cpu', 'arm64', '--runtime-mode', 'debug',
-        '--no-lto')
+  RunGN(
+      api, '--fuchsia', '--fuchsia-cpu', 'arm64', '--runtime-mode', 'debug',
+      '--no-lto'
+  )
   Build(api, 'fuchsia_debug_arm64', *GetFlutterFuchsiaBuildTargets(False, True))
 
 
@@ -302,8 +313,9 @@
     filename_pattern = '%s-1.0.0-%s.%s'
 
   artifact_id = artifact_id.replace('-sources', '')
-  filename = filename_pattern % (artifact_id, engine_git_hash,
-                                 artifact_extension)
+  filename = filename_pattern % (
+      artifact_id, engine_git_hash, artifact_extension
+  )
 
   return 'io/flutter/%s/1.0.0-%s/%s' % (artifact_id, engine_git_hash, filename)
 
@@ -324,26 +336,27 @@
         api,
         checkout.join(local_artifact),
         remote_artifact,
-        bucket_name=MAVEN_BUCKET_NAME)
+        bucket_name=MAVEN_BUCKET_NAME
+    )
 
 
-def UploadFolder(api,
-                 dir_label,
-                 parent_dir,
-                 folder_name,
-                 zip_name,
-                 platform=None):
-  UploadFolderAndFiles(api, dir_label, parent_dir, folder_name, None, zip_name,
-                       platform)
+def UploadFolder(
+    api, dir_label, parent_dir, folder_name, zip_name, platform=None
+):
+  UploadFolderAndFiles(
+      api, dir_label, parent_dir, folder_name, None, zip_name, platform
+  )
 
 
-def UploadFolderAndFiles(api,
-                         dir_label,
-                         parent_dir,
-                         folder_name,
-                         file_paths,
-                         zip_name,
-                         platform=None):
+def UploadFolderAndFiles(
+    api,
+    dir_label,
+    parent_dir,
+    folder_name,
+    file_paths,
+    zip_name,
+    platform=None
+):
   with MakeTempDir(api, dir_label) as temp_dir:
     local_zip = temp_dir.join(zip_name)
     if platform is None:
@@ -367,7 +380,8 @@
       'UploadDartPackage %s' % package_name,  # dir_label
       'src/out/android_debug/dist/packages',  # parent_dir
       package_name,  # folder_name
-      "%s.zip" % package_name)  # zip_name
+      "%s.zip" % package_name
+  )  # zip_name
 
 
 def UploadSkyEngineToCIPD(api, package_name):
@@ -379,13 +393,15 @@
     zip_path = temp_dir.join('%s.zip' % package_name)
     cipd_package_name = 'flutter/%s' % package_name
     api.cipd.build(
-        folder_path, zip_path, cipd_package_name, install_mode='copy')
+        folder_path, zip_path, cipd_package_name, install_mode='copy'
+    )
     if ShouldUploadPackages(api):
       api.cipd.register(
           cipd_package_name,
           zip_path,
           refs=['latest'],
-          tags={'git_revision': git_rev})
+          tags={'git_revision': git_rev}
+      )
 
 
 def UploadSkyEngineDartPackage(api):
@@ -399,23 +415,27 @@
       'Upload Flutter patched sdk',  # dir_label
       'src/out/host_debug',  # parent_dir
       'flutter_patched_sdk',  # folder_name
-      'flutter_patched_sdk.zip')  # zip_name
+      'flutter_patched_sdk.zip'
+  )  # zip_name
 
   host_release_path = GetCheckoutPath(api).join('out/host_release')
   flutter_patched_sdk_product = host_release_path.join(
-      'flutter_patched_sdk_product')
-  api.file.rmtree('Remove stale flutter_patched_sdk_product',
-                  flutter_patched_sdk_product)
+      'flutter_patched_sdk_product'
+  )
+  api.file.rmtree(
+      'Remove stale flutter_patched_sdk_product', flutter_patched_sdk_product
+  )
   api.file.move(
       'Move release flutter_patched_sdk to flutter_patched_sdk_product',
-      host_release_path.join('flutter_patched_sdk'),
-      flutter_patched_sdk_product)
+      host_release_path.join('flutter_patched_sdk'), flutter_patched_sdk_product
+  )
   UploadFolder(
       api,
       'Upload Product Flutter patched sdk',  # dir_label
       'src/out/host_release',  # parent_dir
       'flutter_patched_sdk_product',  # folder_name
-      'flutter_patched_sdk_product.zip')  # zip_name
+      'flutter_patched_sdk_product.zip'
+  )  # zip_name
 
 
 def UploadDartSdk(api, archive_name):
@@ -424,7 +444,8 @@
       'Upload Dart SDK',  # dir_label
       'src/out/host_debug',  # parent_dir
       'dart-sdk',  # folder_name
-      archive_name)
+      archive_name
+  )
 
 
 def UploadWebSdk(api, archive_name):
@@ -433,7 +454,8 @@
       'Upload Web SDK',  # dir_label
       'src/out/host_debug',  # parent_dir
       'flutter_web_sdk',  # folder_name
-      archive_name)
+      archive_name
+  )
 
 
 # TODO(eseidel): Would be nice to have this on api.path or api.file.
@@ -462,8 +484,10 @@
   script_path = script_dir.join('verify_exported.dart')
   with api.context(cwd=script_dir):
     api.step('pub get for verify_exported.dart', ['pub', 'get'])
-  api.step('Verify exported symbols on release binaries',
-           ['dart', script_path, out_dir])
+  api.step(
+      'Verify exported symbols on release binaries',
+      ['dart', script_path, out_dir]
+  )
 
 
 def UploadTreeMap(api, upload_dir, lib_flutter_path, android_triple):
@@ -471,13 +495,14 @@
     checkout = GetCheckoutPath(api)
     script_path = checkout.join(
         'third_party/dart/runtime/'
-        'third_party/binary_size/src/run_binary_size_analysis.py')
+        'third_party/binary_size/src/run_binary_size_analysis.py'
+    )
     library_path = checkout.join(lib_flutter_path)
     destionation_dir = temp_dir.join('sizes')
-    addr2line = checkout.join('third_party/android_tools/ndk/toolchains/' +
-                              android_triple +
-                              '-4.9/prebuilt/linux-x86_64/bin/' +
-                              android_triple + '-addr2line')
+    addr2line = checkout.join(
+        'third_party/android_tools/ndk/toolchains/' + android_triple +
+        '-4.9/prebuilt/linux-x86_64/bin/' + android_triple + '-addr2line'
+    )
     args = [
         '--library', library_path, '--destdir', destionation_dir,
         "--addr2line-binary", addr2line
@@ -493,15 +518,17 @@
           remote_name,
           args=['-r'],
           name='upload treemap for %s' % lib_flutter_path,
-          link_name=None)
+          link_name=None
+      )
       result.presentation.links['Open Treemap'] = (
           'https://storage.googleapis.com/%s/%s/sizes/index.html' %
-          (BUCKET_NAME, remote_name))
+          (BUCKET_NAME, remote_name)
+      )
 
 
 def LintAndroidHost(api):
-  android_lint_path = GetCheckoutPath(api).join('flutter', 'tools',
-                                                'android_lint')
+  android_lint_path = GetCheckoutPath(api
+                                     ).join('flutter', 'tools', 'android_lint')
   with api.step.nest('android lint'):
     with api.context(cwd=android_lint_path):
       api.step('pub get', ['pub', 'get'])
@@ -511,13 +538,17 @@
 def BuildLinuxAndroid(api, swarming_task_id):
   if api.properties.get('build_android_jit_release', True):
     jit_release_variants = [
-        ('x86', 'android_jit_release_x86', 'android-x86-jit-release', True,
-         'x86'),
+        (
+            'x86', 'android_jit_release_x86', 'android-x86-jit-release', True,
+            'x86'
+        ),
     ]
     for android_cpu, out_dir, artifact_dir, \
             run_tests, abi in jit_release_variants:
-      RunGN(api, '--android', '--android-cpu=%s' % android_cpu,
-            '--runtime-mode=jit_release')
+      RunGN(
+          api, '--android', '--android-cpu=%s' % android_cpu,
+          '--runtime-mode=jit_release'
+      )
       Build(api, out_dir)
       if run_tests:
         RunTests(api, out_dir, android_out_dir=out_dir, types='java')
@@ -538,7 +569,8 @@
         api,
         'android_debug_unopt',
         android_out_dir='android_debug_unopt',
-        types='java')
+        types='java'
+    )
     for android_cpu, out_dir, artifact_dir, run_tests, abi in debug_variants:
       RunGN(api, '--android', '--android-cpu=%s' % android_cpu, '--no-lto')
       Build(api, out_dir)
@@ -551,21 +583,26 @@
       UploadArtifacts(
           api,
           artifact_dir, ['out/%s/libflutter.so' % out_dir],
-          archive_name='symbols.zip')
+          archive_name='symbols.zip'
+      )
 
       # Upload the Maven artifacts.
       engine_filename = '%s_debug' % abi
-      UploadMavenArtifacts(api, [
-          'out/%s/%s.jar' % (out_dir, engine_filename),
-          'out/%s/%s.pom' % (out_dir, engine_filename),
-      ], swarming_task_id)
+      UploadMavenArtifacts(
+          api, [
+              'out/%s/%s.jar' % (out_dir, engine_filename),
+              'out/%s/%s.pom' % (out_dir, engine_filename),
+          ], swarming_task_id
+      )
 
     # Upload the embedding
-    UploadMavenArtifacts(api, [
-        'out/android_debug/flutter_embedding_debug.jar',
-        'out/android_debug/flutter_embedding_debug.pom',
-        'out/android_debug/flutter_embedding_debug-sources.jar',
-    ], swarming_task_id)
+    UploadMavenArtifacts(
+        api, [
+            'out/android_debug/flutter_embedding_debug.jar',
+            'out/android_debug/flutter_embedding_debug.pom',
+            'out/android_debug/flutter_embedding_debug-sources.jar',
+        ], swarming_task_id
+    )
 
     Build(api, 'android_debug', ':dist')
     UploadSkyEngineDartPackage(api)
@@ -584,12 +621,18 @@
     # Do arm64 first because we have more tests for that one, and can bail out
     # earlier if they fail.
     aot_variants = [
-        ('arm64', 'android_%s_arm64', 'android-arm64-%s', 'clang_x64',
-         'aarch64-linux-android', 'arm64_v8a'),
-        ('arm', 'android_%s', 'android-arm-%s', 'clang_x64',
-         'arm-linux-androideabi', 'armeabi_v7a'),
-        ('x64', 'android_%s_x64', 'android-x64-%s', 'clang_x64',
-         'x86_64-linux-android', 'x86_64'),
+        (
+            'arm64', 'android_%s_arm64', 'android-arm64-%s', 'clang_x64',
+            'aarch64-linux-android', 'arm64_v8a'
+        ),
+        (
+            'arm', 'android_%s', 'android-arm-%s', 'clang_x64',
+            'arm-linux-androideabi', 'armeabi_v7a'
+        ),
+        (
+            'x64', 'android_%s_x64', 'android-x64-%s', 'clang_x64',
+            'x86_64-linux-android', 'x86_64'
+        ),
     ]
     for (android_cpu, out_dir, artifact_dir, clang_dir, android_triple,
          abi) in aot_variants:
@@ -597,8 +640,10 @@
         build_output_dir = out_dir % runtime_mode
         upload_dir = artifact_dir % runtime_mode
 
-        RunGN(api, '--android', '--runtime-mode=' + runtime_mode,
-              '--android-cpu=%s' % android_cpu)
+        RunGN(
+            api, '--android', '--runtime-mode=' + runtime_mode,
+            '--android-cpu=%s' % android_cpu
+        )
         Build(api, build_output_dir)
         Build(api, build_output_dir, "%s/gen_snapshot" % clang_dir)
 
@@ -615,8 +660,10 @@
             api.step('Build scenario app', compile_cmd)
             firebase_cmd = [
                 './flutter/ci/firebase_testlab.sh',
-                scenario_app_dir.join('android', 'app', 'build', 'outputs',
-                                      'apk', 'debug', 'app-debug.apk'),
+                scenario_app_dir.join(
+                    'android', 'app', 'build', 'outputs', 'apk', 'debug',
+                    'app-debug.apk'
+                ),
                 api.buildbucket.gitiles_commit.id or 'testing',
                 swarming_task_id,
             ]
@@ -624,15 +671,19 @@
 
         # TODO(egarciad): Don't upload flutter.jar once the migration to Maven
         # is completed.
-        UploadArtifacts(api, upload_dir, [
-            'out/%s/flutter.jar' % build_output_dir,
-        ])
+        UploadArtifacts(
+            api, upload_dir, [
+                'out/%s/flutter.jar' % build_output_dir,
+            ]
+        )
 
         # Upload the Maven artifacts.
-        UploadMavenArtifacts(api, [
-            'out/%s/%s_%s.jar' % (build_output_dir, abi, runtime_mode),
-            'out/%s/%s_%s.pom' % (build_output_dir, abi, runtime_mode),
-        ], swarming_task_id)
+        UploadMavenArtifacts(
+            api, [
+                'out/%s/%s_%s.jar' % (build_output_dir, abi, runtime_mode),
+                'out/%s/%s_%s.pom' % (build_output_dir, abi, runtime_mode),
+            ], swarming_task_id
+        )
 
         # Upload artifacts used for AOT compilation on Linux hosts.
         UploadArtifacts(
@@ -640,26 +691,33 @@
             upload_dir, [
                 'out/%s/%s/gen_snapshot' % (build_output_dir, clang_dir),
             ],
-            archive_name='linux-x64.zip')
+            archive_name='linux-x64.zip'
+        )
         unstripped_lib_flutter_path = 'out/%s/libflutter.so' % build_output_dir
         UploadArtifacts(
             api,
             upload_dir, [unstripped_lib_flutter_path],
-            archive_name='symbols.zip')
+            archive_name='symbols.zip'
+        )
 
         if runtime_mode == 'release' and android_cpu != 'x64':
-          UploadTreeMap(api, upload_dir, unstripped_lib_flutter_path,
-                        android_triple)
+          UploadTreeMap(
+              api, upload_dir, unstripped_lib_flutter_path, android_triple
+          )
 
     # Upload the embedding
     for runtime_mode in ['profile', 'release']:
       build_output_dir = out_dir % runtime_mode
-      UploadMavenArtifacts(api, [
-          'out/%s/flutter_embedding_%s.jar' % (build_output_dir, runtime_mode),
-          'out/%s/flutter_embedding_%s.pom' % (build_output_dir, runtime_mode),
-          'out/%s/flutter_embedding_%s-sources.jar' %
-          (build_output_dir, runtime_mode),
-      ], swarming_task_id)
+      UploadMavenArtifacts(
+          api, [
+              'out/%s/flutter_embedding_%s.jar' %
+              (build_output_dir, runtime_mode),
+              'out/%s/flutter_embedding_%s.pom' %
+              (build_output_dir, runtime_mode),
+              'out/%s/flutter_embedding_%s-sources.jar' %
+              (build_output_dir, runtime_mode),
+          ], swarming_task_id
+      )
 
 
 def PackageLinuxDesktopVariant(api, label, bucket_name):
@@ -669,9 +727,10 @@
   if bucket_name.endswith('profile') or bucket_name.endswith('release'):
     artifacts.append('gen_snapshot')
   # Headers for the library are in the flutter_linux folder.
-  UploadFolderAndFiles(api, 'Upload linux-x64 Flutter GTK artifacts',
-                       'src/out/%s' % label, 'flutter_linux', artifacts,
-                       'linux-x64-flutter-gtk.zip', bucket_name)
+  UploadFolderAndFiles(
+      api, 'Upload linux-x64 Flutter GTK artifacts', 'src/out/%s' % label,
+      'flutter_linux', artifacts, 'linux-x64-flutter-gtk.zip', bucket_name
+  )
 
 
 def BuildLinux(api):
@@ -686,20 +745,23 @@
   RunTests(api, 'host_profile', types='engine')
   Build(api, 'host_release')
   RunTests(api, 'host_release', types='dart,engine,benchmarks')
-  UploadArtifacts(api, 'linux-x64', [
-      ICU_DATA_PATH,
-      'out/host_debug/flutter_tester',
-      'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
-      'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
-      'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
-  ])
+  UploadArtifacts(
+      api, 'linux-x64', [
+          ICU_DATA_PATH,
+          'out/host_debug/flutter_tester',
+          'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
+          'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
+          'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
+      ]
+  )
   UploadArtifacts(
       api,
       'linux-x64', [
           'out/host_debug/flutter_embedder.h',
           'out/host_debug/libflutter_engine.so',
       ],
-      archive_name='linux-x64-embedder')
+      archive_name='linux-x64-embedder'
+  )
 
   # Desktop embedding.
   PackageLinuxDesktopVariant(api, 'host_debug', 'linux-x64-debug')
@@ -715,7 +777,8 @@
             'out/host_release/font-subset',
             'out/host_debug/gen/const_finder.dart.snapshot',
         ],
-        archive_name='font-subset.zip')
+        archive_name='font-subset.zip'
+    )
 
   UploadFlutterPatchedSdk(api)
   UploadDartSdk(api, archive_name='dart-sdk-linux-x64.zip')
@@ -724,25 +787,31 @@
 
 def GetFuchsiaBuildId(api):
   checkout = GetCheckoutPath(api)
-  manifest_path = checkout.join('fuchsia', 'sdk', 'linux', 'meta',
-                                'manifest.json')
+  manifest_path = checkout.join(
+      'fuchsia', 'sdk', 'linux', 'meta', 'manifest.json'
+  )
   manifest_data = api.file.read_json(
-      'Read manifest', manifest_path, test_data={'id': 123})
+      'Read manifest', manifest_path, test_data={'id': 123}
+  )
   return manifest_data['id']
 
 
-def DownloadFuchsiaSystemDeps(api, target_dir, bucket_name, build_id,
-                              image_name, packages_name):
-  api.gsutil.download(bucket_name,
-                      'development/%s/images/%s' % (build_id, image_name),
-                      target_dir)
-  api.gsutil.download(bucket_name,
-                      'development/%s/packages/%s' % (build_id, packages_name),
-                      target_dir)
+def DownloadFuchsiaSystemDeps(
+    api, target_dir, bucket_name, build_id, image_name, packages_name
+):
+  api.gsutil.download(
+      bucket_name, 'development/%s/images/%s' % (build_id, image_name),
+      target_dir
+  )
+  api.gsutil.download(
+      bucket_name, 'development/%s/packages/%s' % (build_id, packages_name),
+      target_dir
+  )
 
 
-def IsolateFuchsiaTestArtifacts(api, checkout, fuchsia_tools, image_name,
-                                packages_name, fuchsia_test_script):
+def IsolateFuchsiaTestArtifacts(
+    api, checkout, fuchsia_tools, image_name, packages_name, fuchsia_test_script
+):
   """
   Gets the system image for the current Fuchsia SDK from cloud storage, adds it
   to an isolated along with the `pm` and `device-finder` utilities, as well as the
@@ -753,26 +822,36 @@
   with MakeTempDir(api, 'isolated') as isolated_dir:
     with api.step.nest('Copy files'):
       api.file.copy('Copy test script', fuchsia_test_script, isolated_dir)
-      api.file.copy('Copy device-finder', fuchsia_tools.join('device-finder'),
-                    isolated_dir)
+      api.file.copy(
+          'Copy device-finder', fuchsia_tools.join('device-finder'),
+          isolated_dir
+      )
       api.file.copy('Copy pm', fuchsia_tools.join('pm'), isolated_dir)
       api.file.copy(
           'Copy flutter_runner far',
-          checkout.join('out', 'fuchsia_bucket', 'flutter', 'x64', 'debug',
-                        'aot', 'flutter_aot_runner-0.far'), isolated_dir)
-      test_fars_file = checkout.join('flutter', 'testing', 'fuchsia',
-                                     'test_fars')
-      test_fars_raw = api.file.read_text('Retrieve list of test FARs',
-                                         test_fars_file)
+          checkout.join(
+              'out', 'fuchsia_bucket', 'flutter', 'x64', 'debug', 'aot',
+              'flutter_aot_runner-0.far'
+          ), isolated_dir
+      )
+      test_fars_file = checkout.join(
+          'flutter', 'testing', 'fuchsia', 'test_fars'
+      )
+      test_fars_raw = api.file.read_text(
+          'Retrieve list of test FARs', test_fars_file
+      )
       test_fars = test_fars_raw.split('\n')
       for far in test_fars:
         if (len(far) > 0) and (not far.startswith('#')):
-          api.file.copy('Copy %s to isolated' % far,
-                        checkout.join('out', 'fuchsia_debug_x64', far),
-                        isolated_dir)
+          api.file.copy(
+              'Copy %s to isolated' % far,
+              checkout.join('out', 'fuchsia_debug_x64', far), isolated_dir
+          )
 
-    DownloadFuchsiaSystemDeps(api, isolated_dir, 'fuchsia',
-                              GetFuchsiaBuildId(api), image_name, packages_name)
+    DownloadFuchsiaSystemDeps(
+        api, isolated_dir, 'fuchsia', GetFuchsiaBuildId(api), image_name,
+        packages_name
+    )
     isolated = api.isolated.isolated(isolated_dir)
     isolated.add_dir(isolated_dir)
     return isolated.archive('Archive Fuchsia Test Isolate')
@@ -792,29 +871,37 @@
   image_name = 'generic-x64.tgz'
   packages_name = 'generic-x64.tar.gz'
 
-  fuchsia_test_script = checkout.join('flutter', 'testing', 'fuchsia',
-                                      'run_tests.sh')
+  fuchsia_test_script = checkout.join(
+      'flutter', 'testing', 'fuchsia', 'run_tests.sh'
+  )
 
-  isolated_hash = IsolateFuchsiaTestArtifacts(api, checkout, fuchsia_tools,
-                                              image_name, packages_name,
-                                              fuchsia_test_script)
+  isolated_hash = IsolateFuchsiaTestArtifacts(
+      api, checkout, fuchsia_tools, image_name, packages_name,
+      fuchsia_test_script
+  )
 
   ensure_file = api.cipd.EnsureFile()
-  ensure_file.add_package('flutter/fuchsia_ctl/${platform}',
-                          api.properties.get('fuchsia_ctl_version'))
+  ensure_file.add_package(
+      'flutter/fuchsia_ctl/${platform}',
+      api.properties.get('fuchsia_ctl_version')
+  )
 
   request = (
-      api.swarming.task_request().with_name(
-          'flutter_fuchsia_unittests').with_priority(100))
+      api.swarming.task_request().with_name('flutter_fuchsia_unittests'
+                                           ).with_priority(100)
+  )
 
   request = (
       request.with_slice(
           0, request[0].with_cipd_ensure_file(ensure_file).with_command([
               './run_tests.sh', image_name, packages_name
-          ]).with_dimensions(pool='luci.flutter.tests').with_isolated(
-              isolated_hash).with_expiration_secs(3600).with_io_timeout_secs(
-                  3600).with_execution_timeout_secs(3600).with_idempotent(
-                      True).with_containment_type('AUTO')))
+          ]).with_dimensions(
+              pool='luci.flutter.tests'
+          ).with_isolated(isolated_hash).with_expiration_secs(3600)
+          .with_io_timeout_secs(3600).with_execution_timeout_secs(3600)
+          .with_idempotent(True).with_containment_type('AUTO')
+      )
+  )
 
   # Trigger the task request.
   metadata = api.swarming.trigger('Trigger Fuchsia Tests', requests=[request])
@@ -822,12 +909,14 @@
   fuchsia_output = api.path['cleanup'].join('fuchsia_test_output')
   api.file.ensure_directory('swarming output', fuchsia_output)
   results = api.swarming.collect(
-      'collect', metadata, output_dir=fuchsia_output, timeout='30m')
+      'collect', metadata, output_dir=fuchsia_output, timeout='30m'
+  )
   api.display_util.display_tasks(
       'Display builds',
       results=results,
       metadata=metadata,
-      raise_on_failure=True)
+      raise_on_failure=True
+  )
 
 
 def GetRemoteFileName(exec_path):
@@ -856,7 +945,8 @@
           'list %s' % symbol_dir,
           symbol_dir,
           recursive=True,
-          test_data=['test_dir/sub_dir/test_file.debug'])
+          test_data=['test_dir/sub_dir/test_file.debug']
+      )
       # TODO(kaushikiska): Upload all the binaries as one gsutil copy
       # rather than doing it file by file.
       for executable in executables:
@@ -880,7 +970,8 @@
 def UploadFuchsiaDebugSymbols(api):
   checkout = GetCheckoutPath(api)
   dbg_symbols_script = str(
-      checkout.join('flutter/tools/fuchsia/merge_and_upload_debug_symbols.py'))
+      checkout.join('flutter/tools/fuchsia/merge_and_upload_debug_symbols.py')
+  )
   git_rev = api.buildbucket.gitiles_commit.id or 'HEAD'
 
   archs = ['arm64', 'x64']
@@ -947,7 +1038,8 @@
 
   checkout = GetCheckoutPath(api)
   build_script = str(
-      checkout.join('flutter/tools/fuchsia/build_fuchsia_artifacts.py'))
+      checkout.join('flutter/tools/fuchsia/build_fuchsia_artifacts.py')
+  )
   git_rev = api.buildbucket.gitiles_commit.id or 'HEAD'
 
   try:
@@ -966,7 +1058,8 @@
     api.isolated.download(
         'Download for build %s' % build_id,
         builds[build_id].output.properties['isolated_output_hash'],
-        GetCheckoutPath(api))
+        GetCheckoutPath(api)
+    )
 
   if ShouldUploadPackages(api) and not api.runtime.is_experimental:
     fuchsia_package_cmd = [
@@ -1023,39 +1116,54 @@
     host_profile_path = GetCheckoutPath(api).join('out', 'host_profile')
     host_release_path = GetCheckoutPath(api).join('out', 'host_release')
 
-    api.zip.directory('Archive FlutterEmbedder.framework',
-                      host_debug_path.join('FlutterEmbedder.framework'),
-                      host_debug_path.join('FlutterEmbedder.framework.zip'))
+    api.zip.directory(
+        'Archive FlutterEmbedder.framework',
+        host_debug_path.join('FlutterEmbedder.framework'),
+        host_debug_path.join('FlutterEmbedder.framework.zip')
+    )
 
-    api.zip.directory('Archive FlutterMacOS.framework',
-                      host_debug_path.join('FlutterMacOS.framework'),
-                      host_debug_path.join('FlutterMacOS.framework.zip'))
-    api.zip.directory('Archive FlutterMacOS.framework profile',
-                      host_profile_path.join('FlutterMacOS.framework'),
-                      host_profile_path.join('FlutterMacOS.framework.zip'))
-    api.zip.directory('Archive FlutterMacOS.framework release',
-                      host_release_path.join('FlutterMacOS.framework'),
-                      host_release_path.join('FlutterMacOS.framework.zip'))
+    api.zip.directory(
+        'Archive FlutterMacOS.framework',
+        host_debug_path.join('FlutterMacOS.framework'),
+        host_debug_path.join('FlutterMacOS.framework.zip')
+    )
+    api.zip.directory(
+        'Archive FlutterMacOS.framework profile',
+        host_profile_path.join('FlutterMacOS.framework'),
+        host_profile_path.join('FlutterMacOS.framework.zip')
+    )
+    api.zip.directory(
+        'Archive FlutterMacOS.framework release',
+        host_release_path.join('FlutterMacOS.framework'),
+        host_release_path.join('FlutterMacOS.framework.zip')
+    )
 
-    UploadArtifacts(api, 'darwin-x64', [
-        ICU_DATA_PATH,
-        'out/host_debug/flutter_tester',
-        'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
-        'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
-        'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
-        'out/host_debug_unopt/gen_snapshot',
-    ])
-    UploadArtifacts(api, 'darwin-x64-profile', [
-        'out/host_profile/gen_snapshot',
-    ])
-    UploadArtifacts(api, 'darwin-x64-release', [
-        'out/host_release/gen_snapshot',
-    ])
+    UploadArtifacts(
+        api, 'darwin-x64', [
+            ICU_DATA_PATH,
+            'out/host_debug/flutter_tester',
+            'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
+            'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
+            'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
+            'out/host_debug_unopt/gen_snapshot',
+        ]
+    )
+    UploadArtifacts(
+        api, 'darwin-x64-profile', [
+            'out/host_profile/gen_snapshot',
+        ]
+    )
+    UploadArtifacts(
+        api, 'darwin-x64-release', [
+            'out/host_release/gen_snapshot',
+        ]
+    )
 
     UploadArtifacts(
         api,
         'darwin-x64', ['out/host_debug/FlutterEmbedder.framework.zip'],
-        archive_name='FlutterEmbedder.framework.zip')
+        archive_name='FlutterEmbedder.framework.zip'
+    )
 
     flutter_podspec = \
         'flutter/shell/platform/darwin/macos/framework/FlutterMacOS.podspec'
@@ -1065,21 +1173,24 @@
             'out/host_debug/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
     UploadArtifacts(
         api,
         'darwin-x64-profile', [
             'out/host_profile/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
     UploadArtifacts(
         api,
         'darwin-x64-release', [
             'out/host_release/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
     if BuildFontSubset(api):
       UploadArtifacts(
           api,
@@ -1087,7 +1198,8 @@
               'out/host_release/font-subset',
               'out/host_debug/gen/const_finder.dart.snapshot',
           ],
-          archive_name='font-subset.zip')
+          archive_name='font-subset.zip'
+      )
     # Legacy; remove once Flutter tooling is updated to use the -debug location.
     UploadArtifacts(
         api,
@@ -1095,7 +1207,8 @@
             'out/host_debug/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
 
     UploadDartSdk(api, archive_name='dart-sdk-darwin-x64.zip')
     UploadWebSdk(api, archive_name='flutter-web-sdk-darwin-x64.zip')
@@ -1124,46 +1237,54 @@
         "android-arm-profile", [
             'out/android_profile/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-profile", [
             'out/android_profile_arm64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-profile", [
             'out/android_profile_x64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm-release", [
             'out/android_release/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-release", [
             'out/android_release_arm64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-release", [
             'out/android_release_x64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
 
 
-def PackageIOSVariant(api,
-                      label,
-                      arm64_out,
-                      armv7_out,
-                      sim_out,
-                      bucket_name,
-                      strip_bitcode=False):
+def PackageIOSVariant(
+    api,
+    label,
+    arm64_out,
+    armv7_out,
+    sim_out,
+    bucket_name,
+    strip_bitcode=False
+):
   checkout = GetCheckoutPath(api)
   out_dir = checkout.join('out')
 
@@ -1190,13 +1311,16 @@
         "--strip",
     ])
   with api.context(cwd=checkout):
-    api.step('Create iOS %s Flutter.framework' % label,
-             create_ios_framework_cmd)
+    api.step(
+        'Create iOS %s Flutter.framework' % label, create_ios_framework_cmd
+    )
 
   # Zip Flutter.framework.
-  api.zip.directory('Archive Flutter.framework for %s' % label,
-                    label_dir.join('Flutter.framework'),
-                    label_dir.join('Flutter.framework.zip'))
+  api.zip.directory(
+      'Archive Flutter.framework for %s' % label,
+      label_dir.join('Flutter.framework'),
+      label_dir.join('Flutter.framework.zip')
+  )
 
   # Package the multi-arch gen_snapshot for macOS.
   create_macos_gen_snapshot_cmd = [
@@ -1210,8 +1334,9 @@
   ]
 
   with api.context(cwd=checkout):
-    api.step('Create macOS %s gen_snapshot' % label,
-             create_macos_gen_snapshot_cmd)
+    api.step(
+        'Create macOS %s gen_snapshot' % label, create_macos_gen_snapshot_cmd
+    )
 
   # Upload the artifacts to cloud storage.
   artifacts = [
@@ -1238,8 +1363,10 @@
   scenario_app_tests = test_dir.join('scenario_app')
 
   with api.context(cwd=scenario_app_tests):
-    api.step('Scenario App Integration Tests',
-             ['./build_and_run_ios_tests.sh', 'ios_debug_sim'])
+    api.step(
+        'Scenario App Integration Tests',
+        ['./build_and_run_ios_tests.sh', 'ios_debug_sim']
+    )
 
 
 def BuildIOS(api):
@@ -1265,31 +1392,38 @@
 
     BuildObjcDoc(api)
 
-    PackageIOSVariant(api, 'debug', 'ios_debug', 'ios_debug_arm',
-                      'ios_debug_sim', 'ios')
+    PackageIOSVariant(
+        api, 'debug', 'ios_debug', 'ios_debug_arm', 'ios_debug_sim', 'ios'
+    )
 
   if api.properties.get('ios_profile', True):
     RunGNBitcode(api, '--ios', '--runtime-mode', 'profile')
     RunGNBitcode(api, '--ios', '--runtime-mode', 'profile', '--ios-cpu=arm')
     BuildNoGoma(api, 'ios_profile')
     BuildNoGoma(api, 'ios_profile_arm')
-    PackageIOSVariant(api, 'profile', 'ios_profile', 'ios_profile_arm',
-                      'ios_debug_sim', 'ios-profile')
+    PackageIOSVariant(
+        api, 'profile', 'ios_profile', 'ios_profile_arm', 'ios_debug_sim',
+        'ios-profile'
+    )
 
   if api.properties.get('ios_release', True):
     RunGNBitcode(api, '--ios', '--runtime-mode', 'release')
     RunGNBitcode(api, '--ios', '--runtime-mode', 'release', '--ios-cpu=arm')
     BuildNoGoma(api, 'ios_release')
     BuildNoGoma(api, 'ios_release_arm')
-    PackageIOSVariant(api, 'release', 'ios_release', 'ios_release_arm',
-                      'ios_debug_sim', 'ios-release')
+    PackageIOSVariant(
+        api, 'release', 'ios_release', 'ios_release_arm', 'ios_debug_sim',
+        'ios-release'
+    )
 
     if not api.properties.get('no_bitcode', False):
       # Create a bitcode-stripped version. This will help customers who do not
       # need bitcode, which significantly increases download size. This should
       # be removed when bitcode is enabled by default in Flutter.
-      PackageIOSVariant(api, 'release', 'ios_release', 'ios_release_arm',
-                        'ios_debug_sim', 'ios-release-nobitcode', True)
+      PackageIOSVariant(
+          api, 'release', 'ios_release', 'ios_release_arm', 'ios_debug_sim',
+          'ios-release-nobitcode', True
+      )
 
 
 def PackageWindowsDesktopVariant(api, label, bucket_name):
@@ -1306,7 +1440,8 @@
   if bucket_name.endswith('profile') or bucket_name.endswith('release'):
     artifacts.append('out/%s/gen_snapshot.exe' % label)
   UploadArtifacts(
-      api, bucket_name, artifacts, archive_name='windows-x64-flutter.zip')
+      api, bucket_name, artifacts, archive_name='windows-x64-flutter.zip'
+  )
 
 
 def BuildWindows(api):
@@ -1324,13 +1459,15 @@
     if BuildFontSubset(api):
       Build(api, 'host_release', 'font-subset')
 
-    UploadArtifacts(api, 'windows-x64', [
-        ICU_DATA_PATH,
-        'out/host_debug/flutter_tester.exe',
-        'out/host_debug/gen/flutter/lib/snapshot/isolate_snapshot.bin',
-        'out/host_debug/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
-        'out/host_debug/gen/frontend_server.dart.snapshot',
-    ])
+    UploadArtifacts(
+        api, 'windows-x64', [
+            ICU_DATA_PATH,
+            'out/host_debug/flutter_tester.exe',
+            'out/host_debug/gen/flutter/lib/snapshot/isolate_snapshot.bin',
+            'out/host_debug/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
+            'out/host_debug/gen/frontend_server.dart.snapshot',
+        ]
+    )
 
     UploadArtifacts(
         api,
@@ -1341,14 +1478,17 @@
             'out/host_debug/flutter_engine.dll.lib',
             'out/host_debug/flutter_engine.dll.pdb',
         ],
-        archive_name='windows-x64-embedder.zip')
+        archive_name='windows-x64-embedder.zip'
+    )
 
     PackageWindowsDesktopVariant(api, 'host_debug', 'windows-x64-debug')
     PackageWindowsDesktopVariant(api, 'host_profile', 'windows-x64-profile')
     PackageWindowsDesktopVariant(api, 'host_release', 'windows-x64-release')
-    UploadFolder(api, 'Upload windows-x64 Flutter library C++ wrapper',
-                 'src/out/host_debug', 'cpp_client_wrapper',
-                 'flutter-cpp-client-wrapper.zip', 'windows-x64')
+    UploadFolder(
+        api, 'Upload windows-x64 Flutter library C++ wrapper',
+        'src/out/host_debug', 'cpp_client_wrapper',
+        'flutter-cpp-client-wrapper.zip', 'windows-x64'
+    )
     # Legacy; remove once Flutter tooling is updated to use the -debug location.
     PackageWindowsDesktopVariant(api, 'host_debug', 'windows-x64')
 
@@ -1359,7 +1499,8 @@
               'out/host_release/font-subset.exe',
               'out/host_debug/gen/const_finder.dart.snapshot',
           ],
-          archive_name='font-subset.zip')
+          archive_name='font-subset.zip'
+      )
 
     UploadDartSdk(api, archive_name='dart-sdk-windows-x64.zip')
     UploadWebSdk(api, archive_name='flutter-web-sdk-windows-x64.zip')
@@ -1382,35 +1523,41 @@
         "android-arm-profile", [
             'out/android_profile/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-profile", [
             'out/android_profile_arm64/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-profile", [
             'out/android_profile_x64/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm-release", [
             'out/android_release/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-release", [
             'out/android_release_arm64/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-release", ['out/android_release_x64/gen_snapshot.exe'],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
 
 
 def BuildJavadoc(api):
@@ -1421,37 +1568,14 @@
     ]
     with api.context(cwd=checkout):
       api.step('build javadoc', javadoc_cmd)
-    api.zip.directory('archive javadoc', temp_dir,
-                      checkout.join('out/android_javadoc.zip'))
+    api.zip.directory(
+        'archive javadoc', temp_dir, checkout.join('out/android_javadoc.zip')
+    )
   if ShouldUploadPackages(api):
-    SafeUpload(api, checkout.join('out/android_javadoc.zip'),
-               GetCloudPath(api, 'android-javadoc.zip'))
-
-
-# The MacOSX10.15 SDK included in Xcode 11 does not ship Ruby 2.3 headers,
-# so jazzy installation will fail on MacOS 10.14 + Xcode 11. Workaround
-# that by specifying an external MacOSX10.14 SDK to use during gem installation.
-#
-# TODO(https://crbug.com/998883): remove this method and all references to it
-# once the bots are upgraded to MacOS 10.15.
-@contextmanager
-def SetupMacOSSDK(api):
-  xcode_binary_cache_dir = api.path['cache'].join('xcode_binary')
-  # Pull a trimmed version of Xcode 10.2.1(10E1001) that contains the MacOS
-  # 10.14 SDK needed for installing gems. This does not affect what
-  # `xcode-select -p` points to.
-  api.cipd.ensure(
-      xcode_binary_cache_dir,
-      api.cipd.EnsureFile().add_package(
-          'infra_internal/ios/xcode/xcode_binaries/${platform}',
-          'yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC'))
-
-  # Override SDKROOT during gem installation.
-  sdk_relative_path = 'Contents/Developer/Platforms/' \
-                      'MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk'
-  with api.context(
-      env={"SDKROOT": xcode_binary_cache_dir.join(sdk_relative_path)}):
-    yield
+    SafeUpload(
+        api, checkout.join('out/android_javadoc.zip'),
+        GetCloudPath(api, 'android-javadoc.zip')
+    )
 
 
 @contextmanager
@@ -1459,18 +1583,22 @@
   gem_dir = api.path['start_dir'].join('gems')
   api.file.ensure_directory('mkdir gems', gem_dir)
 
-  with SetupMacOSSDK(api):
-    with api.context(cwd=gem_dir):
-      api.step('install jazzy', [
-          'gem', 'install', 'jazzy:' + api.properties['jazzy_version'],
-          '--install-dir', '.'
-      ])
-      api.step('install xcpretty', [
-          'gem', 'install', 'xcpretty:' +
-          api.properties.get('xcpretty_version', '0.3.0'), '--install-dir', '.'
-      ])
-  with api.context(
-      env={"GEM_HOME": gem_dir}, env_prefixes={'PATH': [gem_dir.join('bin')]}):
+  with api.context(cwd=gem_dir):
+    api.step(
+        'install jazzy', [
+            'gem', 'install', 'jazzy:' + api.properties['jazzy_version'],
+            '--install-dir', '.'
+        ]
+    )
+    api.step(
+        'install xcpretty', [
+            'gem', 'install',
+            'xcpretty:' + api.properties.get('xcpretty_version', '0.3.0'),
+            '--install-dir', '.'
+        ]
+    )
+  with api.context(env={"GEM_HOME": gem_dir},
+                   env_prefixes={'PATH': [gem_dir.join('bin')]}):
     yield
 
 
@@ -1481,12 +1609,15 @@
     objcdoc_cmd = [checkout.join('flutter/tools/gen_objcdoc.sh'), temp_dir]
     with api.context(cwd=checkout.join('flutter')):
       api.step('build obj-c doc', objcdoc_cmd)
-    api.zip.directory('archive obj-c doc', temp_dir,
-                      checkout.join('out/ios-objcdoc.zip'))
+    api.zip.directory(
+        'archive obj-c doc', temp_dir, checkout.join('out/ios-objcdoc.zip')
+    )
 
     if ShouldUploadPackages(api):
-      SafeUpload(api, checkout.join('out/ios-objcdoc.zip'),
-                 GetCloudPath(api, 'ios-objcdoc.zip'))
+      SafeUpload(
+          api, checkout.join('out/ios-objcdoc.zip'),
+          GetCloudPath(api, 'ios-objcdoc.zip')
+      )
 
 
 def RunSteps(api, properties, env_properties):
@@ -1497,8 +1628,9 @@
 
   api.file.ensure_directory('Ensure checkout cache', cache_root)
   api.goma.ensure()
-  dart_bin = checkout.join('third_party', 'dart', 'tools', 'sdks', 'dart-sdk',
-                           'bin')
+  dart_bin = checkout.join(
+      'third_party', 'dart', 'tools', 'sdks', 'dart-sdk', 'bin'
+  )
 
   android_home = checkout.join('third_party', 'android_tools', 'sdk')
 
@@ -1512,9 +1644,8 @@
     api.json_util.validate_json(checkout.join('flutter', 'ci'))
 
   # Various scripts we run assume access to depot_tools on path for `ninja`.
-  with api.context(
-      cwd=cache_root, env=env,
-      env_prefixes=env_prefixes), api.depot_tools.on_path():
+  with api.context(cwd=cache_root, env=env,
+                   env_prefixes=env_prefixes), api.depot_tools.on_path():
 
     # Presence of tags in git repo is critical for determining dart version.
     dart_sdk_dir = GetCheckoutPath(api).join('third_party', 'dart')
@@ -1523,20 +1654,24 @@
       # upstream remote
       api.step(
           'Fetch dart tags',
-          ['git', 'fetch', 'https://dart.googlesource.com/sdk.git', '--tags'])
+          ['git', 'fetch', 'https://dart.googlesource.com/sdk.git', '--tags']
+      )
       api.step('List all tags', ['git', 'tag', '--list'])
 
     api.gclient.runhooks()
 
     with api.step.nest('Android SDK Licenses'):
       api.file.ensure_directory('mkdir licenses', android_home.join('licenses'))
-      api.file.write_text('android sdk license',
-                          android_home.join('licenses', 'android-sdk-license'),
-                          str(properties.android_sdk_license))
+      api.file.write_text(
+          'android sdk license',
+          android_home.join('licenses', 'android-sdk-license'),
+          str(properties.android_sdk_license)
+      )
       api.file.write_text(
           'android sdk preview license',
           android_home.join('licenses', 'android-sdk-preview-license'),
-          str(properties.android_sdk_preview_license))
+          str(properties.android_sdk_preview_license)
+      )
 
     if api.platform.is_linux:
       if api.properties.get('build_host', True):
@@ -1572,7 +1707,8 @@
   output_props = struct_pb2.Struct()
   output_props['isolated_output_hash'] = 'deadbeef'
   build = api.buildbucket.try_build_message(
-      builder='Linux Drone', project='flutter')
+      builder='Linux Drone', project='flutter'
+  )
   build.output.CopyFrom(build_pb2.Build.Output(properties=output_props))
 
   collect_build_output = api.buildbucket.simulated_collect_output([build])
@@ -1581,9 +1717,11 @@
       for maven_or_bitcode in (True, False):
         for should_publish_cipd in (True, False):
           test = api.test(
-              '%s%s%s%s' % (platform, '_upload' if should_upload else '',
-                            '_maven_or_bitcode' if maven_or_bitcode else '',
-                            '_publish_cipd' if should_publish_cipd else ''),
+              '%s%s%s%s' % (
+                  platform, '_upload' if should_upload else '',
+                  '_maven_or_bitcode' if maven_or_bitcode else '',
+                  '_publish_cipd' if should_publish_cipd else ''
+              ),
               api.platform(platform, 64),
               api.buildbucket.ci_build(
                   builder='%s Engine' % platform.capitalize(),
@@ -1608,9 +1746,11 @@
                       android_sdk_license='android_sdk_hash',
                       android_sdk_preview_license='android_sdk_preview_hash',
                       force_upload=True,
-                  ),),
+                  ),
+              ),
               api.properties.environ(
-                  EnvProperties(SWARMING_TASK_ID='deadbeef')),
+                  EnvProperties(SWARMING_TASK_ID='deadbeef')
+              ),
           )
           if platform == 'linux' and should_upload:
             instances = 0 if should_publish_cipd else 1
@@ -1619,7 +1759,10 @@
                     'cipd search flutter/fuchsia git_revision:%s' %
                     git_revision,
                     api.cipd.example_search(
-                        'flutter/fuchsia', instances=instances)))
+                        'flutter/fuchsia', instances=instances
+                    )
+                )
+            )
           if platform != 'win':
             test += collect_build_output
           if platform == 'mac':
@@ -1628,7 +1771,10 @@
                     InputProperties(
                         jazzy_version='0.8.4',
                         build_ios=True,
-                        no_bitcode=maven_or_bitcode)))
+                        no_bitcode=maven_or_bitcode
+                    )
+                )
+            )
           yield test
 
   yield api.test(
@@ -1642,7 +1788,8 @@
       api.properties(InputProperties(
           goma_jobs='1024',
           upload_packages=True,
-      )))
+      ))
+  )
 
   for should_upload in (True, False):
     yield api.test(
@@ -1661,14 +1808,16 @@
                 android_sdk_license='android_sdk_hash',
                 android_sdk_preview_license='android_sdk_preview_hash',
                 upload_packages=should_upload,
-            )),
+            )
+        ),
     )
   yield api.test(
       'clobber',
       api.buildbucket.ci_build(
           builder='Linux Host Engine',
           git_repo='https://github.com/flutter/engine',
-          project='flutter'),
+          project='flutter'
+      ),
       collect_build_output,
       api.runtime(is_luci=True, is_experimental=True),
       api.step_data(
@@ -1689,14 +1838,17 @@
               build_android_debug=True,
               build_android_vulkan=True,
               android_sdk_license='android_sdk_hash',
-              android_sdk_preview_license='android_sdk_preview_hash')),
+              android_sdk_preview_license='android_sdk_preview_hash'
+          )
+      ),
   )
   yield api.test(
       'pull_request',
       api.buildbucket.ci_build(
           builder='Linux Host Engine',
           git_repo='https://github.com/flutter/engine',
-          project='flutter'),
+          project='flutter'
+      ),
       collect_build_output,
       api.runtime(is_luci=True, is_experimental=True),
       api.properties(
@@ -1713,7 +1865,9 @@
               build_android_debug=True,
               build_android_vulkan=True,
               android_sdk_license='android_sdk_hash',
-              android_sdk_preview_license='android_sdk_preview_hash')),
+              android_sdk_preview_license='android_sdk_preview_hash'
+          )
+      ),
   )
 
   test = api.test(
@@ -1727,7 +1881,8 @@
       ),
       api.step_data(
           'cipd search flutter/fuchsia git_revision:%s' % git_revision,
-          api.cipd.example_search('flutter/fuchsia', instances=0)),
+          api.cipd.example_search('flutter/fuchsia', instances=0)
+      ),
       collect_build_output,
       api.properties(
           InputProperties(
@@ -1745,7 +1900,9 @@
               upload_packages=True,
               android_sdk_license='android_sdk_hash',
               android_sdk_preview_license='android_sdk_preview_hash',
-              force_upload=False)),
+              force_upload=False
+          )
+      ),
       api.properties.environ(EnvProperties(SWARMING_TASK_ID='deadbeef')),
   )
   # TODO(fujino): find out why these are not getting skipped based on properties
@@ -1794,17 +1951,20 @@
   ):
     test += api.step_data(
         'Ensure %s does not already exist on cloud storage' % artifact,
-        retcode=1)
+        retcode=1
+    )
   yield test
 
   yield api.test(
       'Linux Fuchsia failing test',
       api.platform('linux', 64),
       api.buildbucket.ci_build(
-          builder='Linux Engine', git_repo=GIT_REPO, project='flutter'),
+          builder='Linux Engine', git_repo=GIT_REPO, project='flutter'
+      ),
       api.step_data(
           'gn --fuchsia --fuchsia-cpu x64 --runtime-mode debug --no-lto',
-          retcode=1),
+          retcode=1
+      ),
       api.properties(
           InputProperties(
               clobber=False,
@@ -1820,7 +1980,9 @@
               upload_packages=True,
               android_sdk_license='android_sdk_hash',
               android_sdk_preview_license='android_sdk_preview_hash',
-              force_upload=True)),
+              force_upload=True
+          )
+      ),
       api.properties.environ(EnvProperties(SWARMING_TASK_ID='deadbeef')),
   )
   yield api.test(
@@ -1828,7 +1990,8 @@
       api.buildbucket.ci_build(
           builder='Linux Host Engine',
           git_repo='https://github.com/flutter/engine',
-          project='flutter'),
+          project='flutter'
+      ),
       # Next line force a fail condition for the bot update
       # first execution.
       api.step_data("Checkout source code.bot_update", retcode=1),
@@ -1848,5 +2011,7 @@
               build_android_debug=True,
               build_android_vulkan=True,
               android_sdk_license='android_sdk_hash',
-              android_sdk_preview_license='android_sdk_preview_hash')),
+              android_sdk_preview_license='android_sdk_preview_hash'
+          )
+      ),
   )
diff --git a/recipes/engine_1_21_0.expected/mac.json b/recipes/engine_1_21_0.expected/mac.json
index b1b26f7..515b9b1 100644
--- a/recipes/engine_1_21_0.expected/mac.json
+++ b/recipes/engine_1_21_0.expected/mac.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_maven_or_bitcode.json b/recipes/engine_1_21_0.expected/mac_maven_or_bitcode.json
index c0c978e..fb4159f 100644
--- a/recipes/engine_1_21_0.expected/mac_maven_or_bitcode.json
+++ b/recipes/engine_1_21_0.expected/mac_maven_or_bitcode.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_maven_or_bitcode_publish_cipd.json b/recipes/engine_1_21_0.expected/mac_maven_or_bitcode_publish_cipd.json
index c0c978e..fb4159f 100644
--- a/recipes/engine_1_21_0.expected/mac_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine_1_21_0.expected/mac_maven_or_bitcode_publish_cipd.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_publish_cipd.json b/recipes/engine_1_21_0.expected/mac_publish_cipd.json
index b1b26f7..515b9b1 100644
--- a/recipes/engine_1_21_0.expected/mac_publish_cipd.json
+++ b/recipes/engine_1_21_0.expected/mac_publish_cipd.json
@@ -6112,52 +6112,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6167,8 +6121,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6196,8 +6149,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_upload.json b/recipes/engine_1_21_0.expected/mac_upload.json
index 6644aa9..7fd1d2f 100644
--- a/recipes/engine_1_21_0.expected/mac_upload.json
+++ b/recipes/engine_1_21_0.expected/mac_upload.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode.json b/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode.json
index 62a21ae..457609b 100644
--- a/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode.json
+++ b/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json b/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json
index 62a21ae..457609b 100644
--- a/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json
+++ b/recipes/engine_1_21_0.expected/mac_upload_maven_or_bitcode_publish_cipd.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/mac_upload_publish_cipd.json b/recipes/engine_1_21_0.expected/mac_upload_publish_cipd.json
index 6644aa9..7fd1d2f 100644
--- a/recipes/engine_1_21_0.expected/mac_upload_publish_cipd.json
+++ b/recipes/engine_1_21_0.expected/mac_upload_publish_cipd.json
@@ -6724,52 +6724,6 @@
   },
   {
     "cmd": [
-      "cipd",
-      "ensure",
-      "-root",
-      "[CACHE]/xcode_binary",
-      "-ensure-file",
-      "infra_internal/ios/xcode/xcode_binaries/${platform} yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC",
-      "-max-threads",
-      "0",
-      "-json-output",
-      "/path/to/tmp/json"
-    ],
-    "cwd": "[CACHE]/builder",
-    "env": {
-      "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client"
-    },
-    "env_prefixes": {
-      "PATH": [
-        "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
-      ]
-    },
-    "env_suffixes": {
-      "DEPOT_TOOLS_UPDATE": [
-        "0"
-      ],
-      "PATH": [
-        "RECIPE_REPO[depot_tools]"
-      ]
-    },
-    "name": "ensure_installed (2)",
-    "~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-yjQtk3auAegQO4t1\", @@@",
-      "@@@STEP_LOG_LINE@json.output@        \"package\": \"infra_internal/ios/xcode/xcode_binaries/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": [
       "gem",
       "install",
       "jazzy:0.8.4",
@@ -6779,8 +6733,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
@@ -6808,8 +6761,7 @@
     "cwd": "[START_DIR]/gems",
     "env": {
       "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
-      "GOMA_DIR": "[CACHE]/goma/client",
-      "SDKROOT": "[CACHE]/xcode_binary/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk"
+      "GOMA_DIR": "[CACHE]/goma/client"
     },
     "env_prefixes": {
       "PATH": [
diff --git a/recipes/engine_1_21_0.expected/safeupload_raise_on_duplicate.json b/recipes/engine_1_21_0.expected/safeupload_raise_on_duplicate.json
index 1c912d0..dcfb26b 100644
--- a/recipes/engine_1_21_0.expected/safeupload_raise_on_duplicate.json
+++ b/recipes/engine_1_21_0.expected/safeupload_raise_on_duplicate.json
@@ -2243,13 +2243,13 @@
       "    raw_result = recipe_obj.run_steps(api, engine)",
       "  File \"RECIPE_REPO[recipe_engine]/recipe_engine/internal/recipe_deps.py\", in run_steps",
       "    recipe_result = self.global_symbols['RunSteps'](*args)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 1562, in RunSteps",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 1696, in RunSteps",
       "    BuildLinux(api)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 709, in BuildLinux",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 769, in BuildLinux",
       "    'out/host_debug_unopt/gen/frontend_server.dart.snapshot',",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 282, in UploadArtifacts",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 293, in UploadArtifacts",
       "    SafeUpload(api, local_zip, remote_zip)",
-      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 103, in SafeUpload",
+      "  File \"RECIPE_REPO[flutter]/recipes/engine_1_21_0.py\", line 108, in SafeUpload",
       "    raise AssertionError('%s already exists on cloud storage' % cloud_path)",
       "AssertionError: gs://flutter_infra/flutter//linux-x64/artifacts.zip already exists on cloud storage"
     ]
diff --git a/recipes/engine_1_21_0.py b/recipes/engine_1_21_0.py
index a0925ee..96d120f 100644
--- a/recipes/engine_1_21_0.py
+++ b/recipes/engine_1_21_0.py
@@ -1,6 +1,7 @@
 # Copyright 2016 The Chromium Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
+
 '''
 This recipe was forked from engine.py for Flutter release version
 1.21-candidate.9.
@@ -55,7 +56,8 @@
 FUCHSIA_ARTIFACTS_DEBUG_NAMESPACE = 'debug'
 ICU_DATA_PATH = 'third_party/icu/flutter/icudtl.dat'
 GIT_REPO = (
-    'https://chromium.googlesource.com/external/github.com/flutter/engine')
+    'https://chromium.googlesource.com/external/github.com/flutter/engine'
+)
 
 PROPERTIES = InputProperties
 ENV_PROPERTIES = EnvProperties
@@ -70,12 +72,14 @@
 
 
 # TODO(fujino): make this a shared function in a utility module.
-def SafeUpload(api,
-               local_path,
-               remote_path,
-               bucket_name=BUCKET_NAME,
-               args=[],
-               skip_on_duplicate=False):
+def SafeUpload(
+    api,
+    local_path,
+    remote_path,
+    bucket_name=BUCKET_NAME,
+    args=[],
+    skip_on_duplicate=False
+):
   """Upload a file if it doesn't already exist, fail job otherwise.
 
     The check can be overridden with the `force_upload` property.
@@ -94,7 +98,8 @@
             'stat',
             cloud_path,
         ],
-        ok_ret='all')
+        ok_ret='all'
+    )
     # A return value of 0 means the file ALREADY exists on cloud storage
     if result.exc_result.retcode == 0:
       if skip_on_duplicate:
@@ -107,7 +112,8 @@
       bucket_name,
       remote_path,
       args=args,
-      name='upload "%s"' % remote_path)
+      name='upload "%s"' % remote_path
+  )
 
 
 def ShouldUploadPackages(api):
@@ -170,7 +176,8 @@
       # Increasing priority won't fix the problem but will make the deadlock
       # situation less unlikely.
       # https://github.com/flutter/flutter/issues/59169.
-      priority=25)
+      priority=25
+  )
   return api.buildbucket.schedule([req])
 
 
@@ -215,8 +222,10 @@
 
 
 def BuildAndTestFuchsia(api, build_script, git_rev):
-  RunGN(api, '--fuchsia', '--fuchsia-cpu', 'x64', '--runtime-mode', 'debug',
-        '--no-lto')
+  RunGN(
+      api, '--fuchsia', '--fuchsia-cpu', 'x64', '--runtime-mode', 'debug',
+      '--no-lto'
+  )
   Build(api, 'fuchsia_debug_x64', *GetFlutterFuchsiaBuildTargets(False, True))
 
   fuchsia_package_cmd = [
@@ -228,8 +237,10 @@
     api.step('Package Fuchsia Artifacts', fuchsia_package_cmd)
     TestFuchsia(api)
 
-  RunGN(api, '--fuchsia', '--fuchsia-cpu', 'arm64', '--runtime-mode', 'debug',
-        '--no-lto')
+  RunGN(
+      api, '--fuchsia', '--fuchsia-cpu', 'arm64', '--runtime-mode', 'debug',
+      '--no-lto'
+  )
   Build(api, 'fuchsia_debug_arm64', *GetFlutterFuchsiaBuildTargets(False, True))
 
 
@@ -302,8 +313,9 @@
     filename_pattern = '%s-1.0.0-%s.%s'
 
   artifact_id = artifact_id.replace('-sources', '')
-  filename = filename_pattern % (artifact_id, engine_git_hash,
-                                 artifact_extension)
+  filename = filename_pattern % (
+      artifact_id, engine_git_hash, artifact_extension
+  )
 
   return 'io/flutter/%s/1.0.0-%s/%s' % (artifact_id, engine_git_hash, filename)
 
@@ -324,26 +336,27 @@
         api,
         checkout.join(local_artifact),
         remote_artifact,
-        bucket_name=MAVEN_BUCKET_NAME)
+        bucket_name=MAVEN_BUCKET_NAME
+    )
 
 
-def UploadFolder(api,
-                 dir_label,
-                 parent_dir,
-                 folder_name,
-                 zip_name,
-                 platform=None):
-  UploadFolderAndFiles(api, dir_label, parent_dir, folder_name, None, zip_name,
-                       platform)
+def UploadFolder(
+    api, dir_label, parent_dir, folder_name, zip_name, platform=None
+):
+  UploadFolderAndFiles(
+      api, dir_label, parent_dir, folder_name, None, zip_name, platform
+  )
 
 
-def UploadFolderAndFiles(api,
-                         dir_label,
-                         parent_dir,
-                         folder_name,
-                         file_paths,
-                         zip_name,
-                         platform=None):
+def UploadFolderAndFiles(
+    api,
+    dir_label,
+    parent_dir,
+    folder_name,
+    file_paths,
+    zip_name,
+    platform=None
+):
   with MakeTempDir(api, dir_label) as temp_dir:
     local_zip = temp_dir.join(zip_name)
     if platform is None:
@@ -367,7 +380,8 @@
       'UploadDartPackage %s' % package_name,  # dir_label
       'src/out/android_debug/dist/packages',  # parent_dir
       package_name,  # folder_name
-      "%s.zip" % package_name)  # zip_name
+      "%s.zip" % package_name
+  )  # zip_name
 
 
 def UploadSkyEngineToCIPD(api, package_name):
@@ -379,13 +393,15 @@
     zip_path = temp_dir.join('%s.zip' % package_name)
     cipd_package_name = 'flutter/%s' % package_name
     api.cipd.build(
-        folder_path, zip_path, cipd_package_name, install_mode='copy')
+        folder_path, zip_path, cipd_package_name, install_mode='copy'
+    )
     if ShouldUploadPackages(api):
       api.cipd.register(
           cipd_package_name,
           zip_path,
           refs=['latest'],
-          tags={'git_revision': git_rev})
+          tags={'git_revision': git_rev}
+      )
 
 
 def UploadSkyEngineDartPackage(api):
@@ -399,23 +415,27 @@
       'Upload Flutter patched sdk',  # dir_label
       'src/out/host_debug',  # parent_dir
       'flutter_patched_sdk',  # folder_name
-      'flutter_patched_sdk.zip')  # zip_name
+      'flutter_patched_sdk.zip'
+  )  # zip_name
 
   host_release_path = GetCheckoutPath(api).join('out/host_release')
   flutter_patched_sdk_product = host_release_path.join(
-      'flutter_patched_sdk_product')
-  api.file.rmtree('Remove stale flutter_patched_sdk_product',
-                  flutter_patched_sdk_product)
+      'flutter_patched_sdk_product'
+  )
+  api.file.rmtree(
+      'Remove stale flutter_patched_sdk_product', flutter_patched_sdk_product
+  )
   api.file.move(
       'Move release flutter_patched_sdk to flutter_patched_sdk_product',
-      host_release_path.join('flutter_patched_sdk'),
-      flutter_patched_sdk_product)
+      host_release_path.join('flutter_patched_sdk'), flutter_patched_sdk_product
+  )
   UploadFolder(
       api,
       'Upload Product Flutter patched sdk',  # dir_label
       'src/out/host_release',  # parent_dir
       'flutter_patched_sdk_product',  # folder_name
-      'flutter_patched_sdk_product.zip')  # zip_name
+      'flutter_patched_sdk_product.zip'
+  )  # zip_name
 
 
 def UploadDartSdk(api, archive_name):
@@ -424,7 +444,8 @@
       'Upload Dart SDK',  # dir_label
       'src/out/host_debug',  # parent_dir
       'dart-sdk',  # folder_name
-      archive_name)
+      archive_name
+  )
 
 
 def UploadWebSdk(api, archive_name):
@@ -433,7 +454,8 @@
       'Upload Web SDK',  # dir_label
       'src/out/host_debug',  # parent_dir
       'flutter_web_sdk',  # folder_name
-      archive_name)
+      archive_name
+  )
 
 
 # TODO(eseidel): Would be nice to have this on api.path or api.file.
@@ -476,8 +498,10 @@
   script_path = script_dir.join('verify_exported.dart')
   with api.context(cwd=script_dir):
     api.step('pub get for verify_exported.dart', ['pub', 'get'])
-  api.step('Verify exported symbols on release binaries',
-           ['dart', script_path, out_dir])
+  api.step(
+      'Verify exported symbols on release binaries',
+      ['dart', script_path, out_dir]
+  )
 
 
 def UploadTreeMap(api, upload_dir, lib_flutter_path, android_triple):
@@ -485,13 +509,14 @@
     checkout = GetCheckoutPath(api)
     script_path = checkout.join(
         'third_party/dart/runtime/'
-        'third_party/binary_size/src/run_binary_size_analysis.py')
+        'third_party/binary_size/src/run_binary_size_analysis.py'
+    )
     library_path = checkout.join(lib_flutter_path)
     destination_dir = temp_dir.join('sizes')
-    addr2line = checkout.join('third_party/android_tools/ndk/toolchains/' +
-                              android_triple +
-                              '-4.9/prebuilt/linux-x86_64/bin/' +
-                              android_triple + '-addr2line')
+    addr2line = checkout.join(
+        'third_party/android_tools/ndk/toolchains/' + android_triple +
+        '-4.9/prebuilt/linux-x86_64/bin/' + android_triple + '-addr2line'
+    )
     args = [
         '--library', library_path, '--destdir', destination_dir,
         "--addr2line-binary", addr2line
@@ -508,15 +533,17 @@
           remote_name,
           args=['-r'],
           name='upload treemap for %s' % lib_flutter_path,
-          link_name=None)
+          link_name=None
+      )
       result.presentation.links['Open Treemap'] = (
           'https://storage.googleapis.com/%s/%s/sizes/index.html' %
-          (BUCKET_NAME, remote_name))
+          (BUCKET_NAME, remote_name)
+      )
 
 
 def LintAndroidHost(api):
-  android_lint_path = GetCheckoutPath(api).join('flutter', 'tools',
-                                                'android_lint')
+  android_lint_path = GetCheckoutPath(api
+                                     ).join('flutter', 'tools', 'android_lint')
   with api.step.nest('android lint'):
     with api.context(cwd=android_lint_path):
       api.step('pub get', ['pub', 'get'])
@@ -526,13 +553,17 @@
 def BuildLinuxAndroid(api, swarming_task_id):
   if api.properties.get('build_android_jit_release', True):
     jit_release_variants = [
-        ('x86', 'android_jit_release_x86', 'android-x86-jit-release', True,
-         'x86'),
+        (
+            'x86', 'android_jit_release_x86', 'android-x86-jit-release', True,
+            'x86'
+        ),
     ]
     for android_cpu, out_dir, artifact_dir, \
             run_tests, abi in jit_release_variants:
-      RunGN(api, '--android', '--android-cpu=%s' % android_cpu,
-            '--runtime-mode=jit_release')
+      RunGN(
+          api, '--android', '--android-cpu=%s' % android_cpu,
+          '--runtime-mode=jit_release'
+      )
       Build(api, out_dir)
       if run_tests:
         RunTests(api, out_dir, android_out_dir=out_dir, types='java')
@@ -553,7 +584,8 @@
         api,
         'android_debug_unopt',
         android_out_dir='android_debug_unopt',
-        types='java')
+        types='java'
+    )
     for android_cpu, out_dir, artifact_dir, run_tests, abi in debug_variants:
       RunGN(api, '--android', '--android-cpu=%s' % android_cpu, '--no-lto')
       Build(api, out_dir)
@@ -566,21 +598,26 @@
       UploadArtifacts(
           api,
           artifact_dir, ['out/%s/libflutter.so' % out_dir],
-          archive_name='symbols.zip')
+          archive_name='symbols.zip'
+      )
 
       # Upload the Maven artifacts.
       engine_filename = '%s_debug' % abi
-      UploadMavenArtifacts(api, [
-          'out/%s/%s.jar' % (out_dir, engine_filename),
-          'out/%s/%s.pom' % (out_dir, engine_filename),
-      ], swarming_task_id)
+      UploadMavenArtifacts(
+          api, [
+              'out/%s/%s.jar' % (out_dir, engine_filename),
+              'out/%s/%s.pom' % (out_dir, engine_filename),
+          ], swarming_task_id
+      )
 
     # Upload the embedding
-    UploadMavenArtifacts(api, [
-        'out/android_debug/flutter_embedding_debug.jar',
-        'out/android_debug/flutter_embedding_debug.pom',
-        'out/android_debug/flutter_embedding_debug-sources.jar',
-    ], swarming_task_id)
+    UploadMavenArtifacts(
+        api, [
+            'out/android_debug/flutter_embedding_debug.jar',
+            'out/android_debug/flutter_embedding_debug.pom',
+            'out/android_debug/flutter_embedding_debug-sources.jar',
+        ], swarming_task_id
+    )
 
     Build(api, 'android_debug', ':dist')
     UploadSkyEngineDartPackage(api)
@@ -599,12 +636,18 @@
     # Do arm64 first because we have more tests for that one, and can bail out
     # earlier if they fail.
     aot_variants = [
-        ('arm64', 'android_%s_arm64', 'android-arm64-%s', 'clang_x64',
-         'aarch64-linux-android', 'arm64_v8a'),
-        ('arm', 'android_%s', 'android-arm-%s', 'clang_x64',
-         'arm-linux-androideabi', 'armeabi_v7a'),
-        ('x64', 'android_%s_x64', 'android-x64-%s', 'clang_x64',
-         'x86_64-linux-android', 'x86_64'),
+        (
+            'arm64', 'android_%s_arm64', 'android-arm64-%s', 'clang_x64',
+            'aarch64-linux-android', 'arm64_v8a'
+        ),
+        (
+            'arm', 'android_%s', 'android-arm-%s', 'clang_x64',
+            'arm-linux-androideabi', 'armeabi_v7a'
+        ),
+        (
+            'x64', 'android_%s_x64', 'android-x64-%s', 'clang_x64',
+            'x86_64-linux-android', 'x86_64'
+        ),
     ]
     for (android_cpu, out_dir, artifact_dir, clang_dir, android_triple,
          abi) in aot_variants:
@@ -612,8 +655,10 @@
         build_output_dir = out_dir % runtime_mode
         upload_dir = artifact_dir % runtime_mode
 
-        RunGN(api, '--android', '--runtime-mode=' + runtime_mode,
-              '--android-cpu=%s' % android_cpu)
+        RunGN(
+            api, '--android', '--runtime-mode=' + runtime_mode,
+            '--android-cpu=%s' % android_cpu
+        )
         Build(api, build_output_dir)
         Build(api, build_output_dir, "%s/gen_snapshot" % clang_dir)
 
@@ -630,8 +675,10 @@
             api.step('Build scenario app', compile_cmd)
             firebase_cmd = [
                 './flutter/ci/firebase_testlab.sh',
-                scenario_app_dir.join('android', 'app', 'build', 'outputs',
-                                      'apk', 'debug', 'app-debug.apk'),
+                scenario_app_dir.join(
+                    'android', 'app', 'build', 'outputs', 'apk', 'debug',
+                    'app-debug.apk'
+                ),
                 api.buildbucket.gitiles_commit.id or 'testing',
                 swarming_task_id,
             ]
@@ -639,15 +686,19 @@
 
         # TODO(egarciad): Don't upload flutter.jar once the migration to Maven
         # is completed.
-        UploadArtifacts(api, upload_dir, [
-            'out/%s/flutter.jar' % build_output_dir,
-        ])
+        UploadArtifacts(
+            api, upload_dir, [
+                'out/%s/flutter.jar' % build_output_dir,
+            ]
+        )
 
         # Upload the Maven artifacts.
-        UploadMavenArtifacts(api, [
-            'out/%s/%s_%s.jar' % (build_output_dir, abi, runtime_mode),
-            'out/%s/%s_%s.pom' % (build_output_dir, abi, runtime_mode),
-        ], swarming_task_id)
+        UploadMavenArtifacts(
+            api, [
+                'out/%s/%s_%s.jar' % (build_output_dir, abi, runtime_mode),
+                'out/%s/%s_%s.pom' % (build_output_dir, abi, runtime_mode),
+            ], swarming_task_id
+        )
 
         # Upload artifacts used for AOT compilation on Linux hosts.
         UploadArtifacts(
@@ -655,26 +706,33 @@
             upload_dir, [
                 'out/%s/%s/gen_snapshot' % (build_output_dir, clang_dir),
             ],
-            archive_name='linux-x64.zip')
+            archive_name='linux-x64.zip'
+        )
         unstripped_lib_flutter_path = 'out/%s/libflutter.so' % build_output_dir
         UploadArtifacts(
             api,
             upload_dir, [unstripped_lib_flutter_path],
-            archive_name='symbols.zip')
+            archive_name='symbols.zip'
+        )
 
         if runtime_mode == 'release' and android_cpu != 'x64':
-          UploadTreeMap(api, upload_dir, unstripped_lib_flutter_path,
-                        android_triple)
+          UploadTreeMap(
+              api, upload_dir, unstripped_lib_flutter_path, android_triple
+          )
 
     # Upload the embedding
     for runtime_mode in ['profile', 'release']:
       build_output_dir = out_dir % runtime_mode
-      UploadMavenArtifacts(api, [
-          'out/%s/flutter_embedding_%s.jar' % (build_output_dir, runtime_mode),
-          'out/%s/flutter_embedding_%s.pom' % (build_output_dir, runtime_mode),
-          'out/%s/flutter_embedding_%s-sources.jar' %
-          (build_output_dir, runtime_mode),
-      ], swarming_task_id)
+      UploadMavenArtifacts(
+          api, [
+              'out/%s/flutter_embedding_%s.jar' %
+              (build_output_dir, runtime_mode),
+              'out/%s/flutter_embedding_%s.pom' %
+              (build_output_dir, runtime_mode),
+              'out/%s/flutter_embedding_%s-sources.jar' %
+              (build_output_dir, runtime_mode),
+          ], swarming_task_id
+      )
 
 
 def PackageLinuxDesktopVariant(api, label, bucket_name):
@@ -684,9 +742,10 @@
   if bucket_name.endswith('profile') or bucket_name.endswith('release'):
     artifacts.append('gen_snapshot')
   # Headers for the library are in the flutter_linux folder.
-  UploadFolderAndFiles(api, 'Upload linux-x64 Flutter GTK artifacts',
-                       'src/out/%s' % label, 'flutter_linux', artifacts,
-                       'linux-x64-flutter-gtk.zip', bucket_name)
+  UploadFolderAndFiles(
+      api, 'Upload linux-x64 Flutter GTK artifacts', 'src/out/%s' % label,
+      'flutter_linux', artifacts, 'linux-x64-flutter-gtk.zip', bucket_name
+  )
 
 
 def BuildLinux(api):
@@ -701,20 +760,23 @@
   RunTests(api, 'host_profile', types='engine')
   Build(api, 'host_release')
   RunTests(api, 'host_release', types='dart,engine,benchmarks')
-  UploadArtifacts(api, 'linux-x64', [
-      ICU_DATA_PATH,
-      'out/host_debug/flutter_tester',
-      'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
-      'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
-      'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
-  ])
+  UploadArtifacts(
+      api, 'linux-x64', [
+          ICU_DATA_PATH,
+          'out/host_debug/flutter_tester',
+          'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
+          'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
+          'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
+      ]
+  )
   UploadArtifacts(
       api,
       'linux-x64', [
           'out/host_debug/flutter_embedder.h',
           'out/host_debug/libflutter_engine.so',
       ],
-      archive_name='linux-x64-embedder')
+      archive_name='linux-x64-embedder'
+  )
 
   # Desktop embedding.
   PackageLinuxDesktopVariant(api, 'host_debug', 'linux-x64-debug')
@@ -730,7 +792,8 @@
             'out/host_release/font-subset',
             'out/host_debug/gen/const_finder.dart.snapshot',
         ],
-        archive_name='font-subset.zip')
+        archive_name='font-subset.zip'
+    )
 
   UploadFlutterPatchedSdk(api)
   UploadDartSdk(api, archive_name='dart-sdk-linux-x64.zip')
@@ -739,25 +802,31 @@
 
 def GetFuchsiaBuildId(api):
   checkout = GetCheckoutPath(api)
-  manifest_path = checkout.join('fuchsia', 'sdk', 'linux', 'meta',
-                                'manifest.json')
+  manifest_path = checkout.join(
+      'fuchsia', 'sdk', 'linux', 'meta', 'manifest.json'
+  )
   manifest_data = api.file.read_json(
-      'Read manifest', manifest_path, test_data={'id': 123})
+      'Read manifest', manifest_path, test_data={'id': 123}
+  )
   return manifest_data['id']
 
 
-def DownloadFuchsiaSystemDeps(api, target_dir, bucket_name, build_id,
-                              image_name, packages_name):
-  api.gsutil.download(bucket_name,
-                      'development/%s/images/%s' % (build_id, image_name),
-                      target_dir)
-  api.gsutil.download(bucket_name,
-                      'development/%s/packages/%s' % (build_id, packages_name),
-                      target_dir)
+def DownloadFuchsiaSystemDeps(
+    api, target_dir, bucket_name, build_id, image_name, packages_name
+):
+  api.gsutil.download(
+      bucket_name, 'development/%s/images/%s' % (build_id, image_name),
+      target_dir
+  )
+  api.gsutil.download(
+      bucket_name, 'development/%s/packages/%s' % (build_id, packages_name),
+      target_dir
+  )
 
 
-def IsolateFuchsiaTestArtifacts(api, checkout, fuchsia_tools, image_name,
-                                packages_name, fuchsia_test_script):
+def IsolateFuchsiaTestArtifacts(
+    api, checkout, fuchsia_tools, image_name, packages_name, fuchsia_test_script
+):
   """
   Gets the system image for the current Fuchsia SDK from cloud storage, adds it
   to an isolated along with the `pm` and `device-finder` utilities, as well as the
@@ -768,26 +837,36 @@
   with MakeTempDir(api, 'isolated') as isolated_dir:
     with api.step.nest('Copy files'):
       api.file.copy('Copy test script', fuchsia_test_script, isolated_dir)
-      api.file.copy('Copy device-finder', fuchsia_tools.join('device-finder'),
-                    isolated_dir)
+      api.file.copy(
+          'Copy device-finder', fuchsia_tools.join('device-finder'),
+          isolated_dir
+      )
       api.file.copy('Copy pm', fuchsia_tools.join('pm'), isolated_dir)
       api.file.copy(
           'Copy flutter_runner far',
-          checkout.join('out', 'fuchsia_bucket', 'flutter', 'x64', 'debug',
-                        'aot', 'flutter_aot_runner-0.far'), isolated_dir)
-      test_fars_file = checkout.join('flutter', 'testing', 'fuchsia',
-                                     'test_fars')
-      test_fars_raw = api.file.read_text('Retrieve list of test FARs',
-                                         test_fars_file)
+          checkout.join(
+              'out', 'fuchsia_bucket', 'flutter', 'x64', 'debug', 'aot',
+              'flutter_aot_runner-0.far'
+          ), isolated_dir
+      )
+      test_fars_file = checkout.join(
+          'flutter', 'testing', 'fuchsia', 'test_fars'
+      )
+      test_fars_raw = api.file.read_text(
+          'Retrieve list of test FARs', test_fars_file
+      )
       test_fars = test_fars_raw.split('\n')
       for far in test_fars:
         if (len(far) > 0) and (not far.startswith('#')):
-          api.file.copy('Copy %s to isolated' % far,
-                        checkout.join('out', 'fuchsia_debug_x64', far),
-                        isolated_dir)
+          api.file.copy(
+              'Copy %s to isolated' % far,
+              checkout.join('out', 'fuchsia_debug_x64', far), isolated_dir
+          )
 
-    DownloadFuchsiaSystemDeps(api, isolated_dir, 'fuchsia',
-                              GetFuchsiaBuildId(api), image_name, packages_name)
+    DownloadFuchsiaSystemDeps(
+        api, isolated_dir, 'fuchsia', GetFuchsiaBuildId(api), image_name,
+        packages_name
+    )
     isolated = api.isolated.isolated(isolated_dir)
     isolated.add_dir(isolated_dir)
     return isolated.archive('Archive Fuchsia Test Isolate')
@@ -807,30 +886,37 @@
   image_name = 'generic-x64.tgz'
   packages_name = 'generic-x64.tar.gz'
 
-  fuchsia_test_script = checkout.join('flutter', 'testing', 'fuchsia',
-                                      'run_tests.sh')
+  fuchsia_test_script = checkout.join(
+      'flutter', 'testing', 'fuchsia', 'run_tests.sh'
+  )
 
-  isolated_hash = IsolateFuchsiaTestArtifacts(api, checkout, fuchsia_tools,
-                                              image_name, packages_name,
-                                              fuchsia_test_script)
+  isolated_hash = IsolateFuchsiaTestArtifacts(
+      api, checkout, fuchsia_tools, image_name, packages_name,
+      fuchsia_test_script
+  )
 
   ensure_file = api.cipd.EnsureFile()
-  ensure_file.add_package('flutter/fuchsia_ctl/${platform}',
-                          api.properties.get('fuchsia_ctl_version'))
+  ensure_file.add_package(
+      'flutter/fuchsia_ctl/${platform}',
+      api.properties.get('fuchsia_ctl_version')
+  )
 
   request = (
-      api.swarming.task_request().with_name(
-          'flutter_fuchsia_unittests').with_priority(100))
+      api.swarming.task_request().with_name('flutter_fuchsia_unittests'
+                                           ).with_priority(100)
+  )
 
   request = (
       request.with_slice(
-          0, request[0].with_cipd_ensure_file(ensure_file).with_command(
-              ['./run_tests.sh', image_name, packages_name]).with_dimensions(
-                  pool='luci.flutter.tests',
-                  device_type='Intel NUC Kit NUC7i5DNHE').with_isolated(
-                      isolated_hash).with_expiration_secs(3600)
-          .with_io_timeout_secs(3600).with_execution_timeout_secs(
-              3600).with_idempotent(True).with_containment_type('AUTO')))
+          0, request[0].with_cipd_ensure_file(ensure_file).with_command([
+              './run_tests.sh', image_name, packages_name
+          ]).with_dimensions(
+              pool='luci.flutter.tests', device_type='Intel NUC Kit NUC7i5DNHE'
+          ).with_isolated(isolated_hash).with_expiration_secs(3600)
+          .with_io_timeout_secs(3600).with_execution_timeout_secs(3600)
+          .with_idempotent(True).with_containment_type('AUTO')
+      )
+  )
 
   # Trigger the task request.
   metadata = api.swarming.trigger('Trigger Fuchsia Tests', requests=[request])
@@ -838,12 +924,14 @@
   fuchsia_output = api.path['cleanup'].join('fuchsia_test_output')
   api.file.ensure_directory('swarming output', fuchsia_output)
   results = api.swarming.collect(
-      'collect', metadata, output_dir=fuchsia_output, timeout='30m')
+      'collect', metadata, output_dir=fuchsia_output, timeout='30m'
+  )
   api.display_util.display_tasks(
       'Display builds',
       results=results,
       metadata=metadata,
-      raise_on_failure=True)
+      raise_on_failure=True
+  )
 
 
 def GetRemoteFileName(exec_path):
@@ -872,7 +960,8 @@
           'list %s' % symbol_dir,
           symbol_dir,
           recursive=True,
-          test_data=['test_dir/sub_dir/test_file.debug'])
+          test_data=['test_dir/sub_dir/test_file.debug']
+      )
       # TODO(kaushikiska): Upload all the binaries as one gsutil copy
       # rather than doing it file by file.
       for executable in executables:
@@ -896,7 +985,8 @@
 def UploadFuchsiaDebugSymbols(api):
   checkout = GetCheckoutPath(api)
   dbg_symbols_script = str(
-      checkout.join('flutter/tools/fuchsia/merge_and_upload_debug_symbols.py'))
+      checkout.join('flutter/tools/fuchsia/merge_and_upload_debug_symbols.py')
+  )
   git_rev = api.buildbucket.gitiles_commit.id or 'HEAD'
 
   archs = ['arm64', 'x64']
@@ -963,7 +1053,8 @@
 
   checkout = GetCheckoutPath(api)
   build_script = str(
-      checkout.join('flutter/tools/fuchsia/build_fuchsia_artifacts.py'))
+      checkout.join('flutter/tools/fuchsia/build_fuchsia_artifacts.py')
+  )
   git_rev = api.buildbucket.gitiles_commit.id or 'HEAD'
 
   try:
@@ -982,7 +1073,8 @@
     api.isolated.download(
         'Download for build %s' % build_id,
         builds[build_id].output.properties['isolated_output_hash'],
-        GetCheckoutPath(api))
+        GetCheckoutPath(api)
+    )
 
   if ShouldUploadPackages(api) and not api.runtime.is_experimental:
     fuchsia_package_cmd = [
@@ -1039,39 +1131,54 @@
     host_profile_path = GetCheckoutPath(api).join('out', 'host_profile')
     host_release_path = GetCheckoutPath(api).join('out', 'host_release')
 
-    api.zip.directory('Archive FlutterEmbedder.framework',
-                      host_debug_path.join('FlutterEmbedder.framework'),
-                      host_debug_path.join('FlutterEmbedder.framework.zip'))
+    api.zip.directory(
+        'Archive FlutterEmbedder.framework',
+        host_debug_path.join('FlutterEmbedder.framework'),
+        host_debug_path.join('FlutterEmbedder.framework.zip')
+    )
 
-    api.zip.directory('Archive FlutterMacOS.framework',
-                      host_debug_path.join('FlutterMacOS.framework'),
-                      host_debug_path.join('FlutterMacOS.framework.zip'))
-    api.zip.directory('Archive FlutterMacOS.framework profile',
-                      host_profile_path.join('FlutterMacOS.framework'),
-                      host_profile_path.join('FlutterMacOS.framework.zip'))
-    api.zip.directory('Archive FlutterMacOS.framework release',
-                      host_release_path.join('FlutterMacOS.framework'),
-                      host_release_path.join('FlutterMacOS.framework.zip'))
+    api.zip.directory(
+        'Archive FlutterMacOS.framework',
+        host_debug_path.join('FlutterMacOS.framework'),
+        host_debug_path.join('FlutterMacOS.framework.zip')
+    )
+    api.zip.directory(
+        'Archive FlutterMacOS.framework profile',
+        host_profile_path.join('FlutterMacOS.framework'),
+        host_profile_path.join('FlutterMacOS.framework.zip')
+    )
+    api.zip.directory(
+        'Archive FlutterMacOS.framework release',
+        host_release_path.join('FlutterMacOS.framework'),
+        host_release_path.join('FlutterMacOS.framework.zip')
+    )
 
-    UploadArtifacts(api, 'darwin-x64', [
-        ICU_DATA_PATH,
-        'out/host_debug/flutter_tester',
-        'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
-        'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
-        'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
-        'out/host_debug_unopt/gen_snapshot',
-    ])
-    UploadArtifacts(api, 'darwin-x64-profile', [
-        'out/host_profile/gen_snapshot',
-    ])
-    UploadArtifacts(api, 'darwin-x64-release', [
-        'out/host_release/gen_snapshot',
-    ])
+    UploadArtifacts(
+        api, 'darwin-x64', [
+            ICU_DATA_PATH,
+            'out/host_debug/flutter_tester',
+            'out/host_debug_unopt/gen/flutter/lib/snapshot/isolate_snapshot.bin',
+            'out/host_debug_unopt/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
+            'out/host_debug_unopt/gen/frontend_server.dart.snapshot',
+            'out/host_debug_unopt/gen_snapshot',
+        ]
+    )
+    UploadArtifacts(
+        api, 'darwin-x64-profile', [
+            'out/host_profile/gen_snapshot',
+        ]
+    )
+    UploadArtifacts(
+        api, 'darwin-x64-release', [
+            'out/host_release/gen_snapshot',
+        ]
+    )
 
     UploadArtifacts(
         api,
         'darwin-x64', ['out/host_debug/FlutterEmbedder.framework.zip'],
-        archive_name='FlutterEmbedder.framework.zip')
+        archive_name='FlutterEmbedder.framework.zip'
+    )
 
     flutter_podspec = \
         'flutter/shell/platform/darwin/macos/framework/FlutterMacOS.podspec'
@@ -1081,21 +1188,24 @@
             'out/host_debug/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
     UploadArtifacts(
         api,
         'darwin-x64-profile', [
             'out/host_profile/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
     UploadArtifacts(
         api,
         'darwin-x64-release', [
             'out/host_release/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
     if BuildFontSubset(api):
       UploadArtifacts(
           api,
@@ -1103,7 +1213,8 @@
               'out/host_release/font-subset',
               'out/host_debug/gen/const_finder.dart.snapshot',
           ],
-          archive_name='font-subset.zip')
+          archive_name='font-subset.zip'
+      )
     # Legacy; remove once Flutter tooling is updated to use the -debug location.
     UploadArtifacts(
         api,
@@ -1111,7 +1222,8 @@
             'out/host_debug/FlutterMacOS.framework.zip',
             flutter_podspec,
         ],
-        archive_name='FlutterMacOS.framework.zip')
+        archive_name='FlutterMacOS.framework.zip'
+    )
 
     UploadDartSdk(api, archive_name='dart-sdk-darwin-x64.zip')
     UploadWebSdk(api, archive_name='flutter-web-sdk-darwin-x64.zip')
@@ -1140,46 +1252,54 @@
         "android-arm-profile", [
             'out/android_profile/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-profile", [
             'out/android_profile_arm64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-profile", [
             'out/android_profile_x64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm-release", [
             'out/android_release/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-release", [
             'out/android_release_arm64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-release", [
             'out/android_release_x64/clang_x64/gen_snapshot',
         ],
-        archive_name='darwin-x64.zip')
+        archive_name='darwin-x64.zip'
+    )
 
 
-def PackageIOSVariant(api,
-                      label,
-                      arm64_out,
-                      armv7_out,
-                      sim_out,
-                      bucket_name,
-                      strip_bitcode=False):
+def PackageIOSVariant(
+    api,
+    label,
+    arm64_out,
+    armv7_out,
+    sim_out,
+    bucket_name,
+    strip_bitcode=False
+):
   checkout = GetCheckoutPath(api)
   out_dir = checkout.join('out')
 
@@ -1206,13 +1326,16 @@
         "--strip",
     ])
   with api.context(cwd=checkout):
-    api.step('Create iOS %s Flutter.framework' % label,
-             create_ios_framework_cmd)
+    api.step(
+        'Create iOS %s Flutter.framework' % label, create_ios_framework_cmd
+    )
 
   # Zip Flutter.framework.
-  api.zip.directory('Archive Flutter.framework for %s' % label,
-                    label_dir.join('Flutter.framework'),
-                    label_dir.join('Flutter.framework.zip'))
+  api.zip.directory(
+      'Archive Flutter.framework for %s' % label,
+      label_dir.join('Flutter.framework'),
+      label_dir.join('Flutter.framework.zip')
+  )
 
   # Package the multi-arch gen_snapshot for macOS.
   create_macos_gen_snapshot_cmd = [
@@ -1226,8 +1349,9 @@
   ]
 
   with api.context(cwd=checkout):
-    api.step('Create macOS %s gen_snapshot' % label,
-             create_macos_gen_snapshot_cmd)
+    api.step(
+        'Create macOS %s gen_snapshot' % label, create_macos_gen_snapshot_cmd
+    )
 
   # Upload the artifacts to cloud storage.
   artifacts = [
@@ -1254,8 +1378,10 @@
   scenario_app_tests = test_dir.join('scenario_app')
 
   with api.context(cwd=scenario_app_tests):
-    api.step('Scenario App Integration Tests',
-             ['./build_and_run_ios_tests.sh', 'ios_debug_sim'])
+    api.step(
+        'Scenario App Integration Tests',
+        ['./build_and_run_ios_tests.sh', 'ios_debug_sim']
+    )
 
 
 def BuildIOS(api):
@@ -1281,31 +1407,38 @@
 
     BuildObjcDoc(api)
 
-    PackageIOSVariant(api, 'debug', 'ios_debug', 'ios_debug_arm',
-                      'ios_debug_sim', 'ios')
+    PackageIOSVariant(
+        api, 'debug', 'ios_debug', 'ios_debug_arm', 'ios_debug_sim', 'ios'
+    )
 
   if api.properties.get('ios_profile', True):
     RunGNBitcode(api, '--ios', '--runtime-mode', 'profile')
     RunGNBitcode(api, '--ios', '--runtime-mode', 'profile', '--ios-cpu=arm')
     BuildNoGoma(api, 'ios_profile')
     BuildNoGoma(api, 'ios_profile_arm')
-    PackageIOSVariant(api, 'profile', 'ios_profile', 'ios_profile_arm',
-                      'ios_debug_sim', 'ios-profile')
+    PackageIOSVariant(
+        api, 'profile', 'ios_profile', 'ios_profile_arm', 'ios_debug_sim',
+        'ios-profile'
+    )
 
   if api.properties.get('ios_release', True):
     RunGNBitcode(api, '--ios', '--runtime-mode', 'release')
     RunGNBitcode(api, '--ios', '--runtime-mode', 'release', '--ios-cpu=arm')
     BuildNoGoma(api, 'ios_release')
     BuildNoGoma(api, 'ios_release_arm')
-    PackageIOSVariant(api, 'release', 'ios_release', 'ios_release_arm',
-                      'ios_debug_sim', 'ios-release')
+    PackageIOSVariant(
+        api, 'release', 'ios_release', 'ios_release_arm', 'ios_debug_sim',
+        'ios-release'
+    )
 
     if not api.properties.get('no_bitcode', False):
       # Create a bitcode-stripped version. This will help customers who do not
       # need bitcode, which significantly increases download size. This should
       # be removed when bitcode is enabled by default in Flutter.
-      PackageIOSVariant(api, 'release', 'ios_release', 'ios_release_arm',
-                        'ios_debug_sim', 'ios-release-nobitcode', True)
+      PackageIOSVariant(
+          api, 'release', 'ios_release', 'ios_release_arm', 'ios_debug_sim',
+          'ios-release-nobitcode', True
+      )
 
 
 def PackageWindowsDesktopVariant(api, label, bucket_name):
@@ -1322,7 +1455,8 @@
   if bucket_name.endswith('profile') or bucket_name.endswith('release'):
     artifacts.append('out/%s/gen_snapshot.exe' % label)
   UploadArtifacts(
-      api, bucket_name, artifacts, archive_name='windows-x64-flutter.zip')
+      api, bucket_name, artifacts, archive_name='windows-x64-flutter.zip'
+  )
 
 
 def BuildWindows(api):
@@ -1340,13 +1474,15 @@
     if BuildFontSubset(api):
       Build(api, 'host_release', 'font-subset')
 
-    UploadArtifacts(api, 'windows-x64', [
-        ICU_DATA_PATH,
-        'out/host_debug/flutter_tester.exe',
-        'out/host_debug/gen/flutter/lib/snapshot/isolate_snapshot.bin',
-        'out/host_debug/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
-        'out/host_debug/gen/frontend_server.dart.snapshot',
-    ])
+    UploadArtifacts(
+        api, 'windows-x64', [
+            ICU_DATA_PATH,
+            'out/host_debug/flutter_tester.exe',
+            'out/host_debug/gen/flutter/lib/snapshot/isolate_snapshot.bin',
+            'out/host_debug/gen/flutter/lib/snapshot/vm_isolate_snapshot.bin',
+            'out/host_debug/gen/frontend_server.dart.snapshot',
+        ]
+    )
 
     UploadArtifacts(
         api,
@@ -1357,14 +1493,17 @@
             'out/host_debug/flutter_engine.dll.lib',
             'out/host_debug/flutter_engine.dll.pdb',
         ],
-        archive_name='windows-x64-embedder.zip')
+        archive_name='windows-x64-embedder.zip'
+    )
 
     PackageWindowsDesktopVariant(api, 'host_debug', 'windows-x64-debug')
     PackageWindowsDesktopVariant(api, 'host_profile', 'windows-x64-profile')
     PackageWindowsDesktopVariant(api, 'host_release', 'windows-x64-release')
-    UploadFolder(api, 'Upload windows-x64 Flutter library C++ wrapper',
-                 'src/out/host_debug', 'cpp_client_wrapper',
-                 'flutter-cpp-client-wrapper.zip', 'windows-x64')
+    UploadFolder(
+        api, 'Upload windows-x64 Flutter library C++ wrapper',
+        'src/out/host_debug', 'cpp_client_wrapper',
+        'flutter-cpp-client-wrapper.zip', 'windows-x64'
+    )
     # Legacy; remove once Flutter tooling is updated to use the -debug location.
     PackageWindowsDesktopVariant(api, 'host_debug', 'windows-x64')
 
@@ -1375,7 +1514,8 @@
               'out/host_release/font-subset.exe',
               'out/host_debug/gen/const_finder.dart.snapshot',
           ],
-          archive_name='font-subset.zip')
+          archive_name='font-subset.zip'
+      )
 
     UploadDartSdk(api, archive_name='dart-sdk-windows-x64.zip')
     UploadWebSdk(api, archive_name='flutter-web-sdk-windows-x64.zip')
@@ -1398,35 +1538,41 @@
         "android-arm-profile", [
             'out/android_profile/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-profile", [
             'out/android_profile_arm64/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-profile", [
             'out/android_profile_x64/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm-release", [
             'out/android_release/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-arm64-release", [
             'out/android_release_arm64/gen_snapshot.exe',
         ],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
     UploadArtifacts(
         api,
         "android-x64-release", ['out/android_release_x64/gen_snapshot.exe'],
-        archive_name='windows-x64.zip')
+        archive_name='windows-x64.zip'
+    )
 
 
 def BuildJavadoc(api):
@@ -1437,37 +1583,14 @@
     ]
     with api.context(cwd=checkout):
       api.step('build javadoc', javadoc_cmd)
-    api.zip.directory('archive javadoc', temp_dir,
-                      checkout.join('out/android_javadoc.zip'))
+    api.zip.directory(
+        'archive javadoc', temp_dir, checkout.join('out/android_javadoc.zip')
+    )
   if ShouldUploadPackages(api):
-    SafeUpload(api, checkout.join('out/android_javadoc.zip'),
-               GetCloudPath(api, 'android-javadoc.zip'))
-
-
-# The MacOSX10.15 SDK included in Xcode 11 does not ship Ruby 2.3 headers,
-# so jazzy installation will fail on MacOS 10.14 + Xcode 11. Workaround
-# that by specifying an external MacOSX10.14 SDK to use during gem installation.
-#
-# TODO(https://crbug.com/998883): remove this method and all references to it
-# once the bots are upgraded to MacOS 10.15.
-@contextmanager
-def SetupMacOSSDK(api):
-  xcode_binary_cache_dir = api.path['cache'].join('xcode_binary')
-  # Pull a trimmed version of Xcode 10.2.1(10E1001) that contains the MacOS
-  # 10.14 SDK needed for installing gems. This does not affect what
-  # `xcode-select -p` points to.
-  api.cipd.ensure(
-      xcode_binary_cache_dir,
-      api.cipd.EnsureFile().add_package(
-          'infra_internal/ios/xcode/xcode_binaries/${platform}',
-          'yjQtk3auAegQO4t18uBtBlKbj76xBjVtLE-3UM2faRUC'))
-
-  # Override SDKROOT during gem installation.
-  sdk_relative_path = 'Contents/Developer/Platforms/' \
-                      'MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk'
-  with api.context(
-      env={"SDKROOT": xcode_binary_cache_dir.join(sdk_relative_path)}):
-    yield
+    SafeUpload(
+        api, checkout.join('out/android_javadoc.zip'),
+        GetCloudPath(api, 'android-javadoc.zip')
+    )
 
 
 @contextmanager
@@ -1475,18 +1598,22 @@
   gem_dir = api.path['start_dir'].join('gems')
   api.file.ensure_directory('mkdir gems', gem_dir)
 
-  with SetupMacOSSDK(api):
-    with api.context(cwd=gem_dir):
-      api.step('install jazzy', [
-          'gem', 'install', 'jazzy:' + api.properties['jazzy_version'],
-          '--install-dir', '.'
-      ])
-      api.step('install xcpretty', [
-          'gem', 'install', 'xcpretty:' +
-          api.properties.get('xcpretty_version', '0.3.0'), '--install-dir', '.'
-      ])
-  with api.context(
-      env={"GEM_HOME": gem_dir}, env_prefixes={'PATH': [gem_dir.join('bin')]}):
+  with api.context(cwd=gem_dir):
+    api.step(
+        'install jazzy', [
+            'gem', 'install', 'jazzy:' + api.properties['jazzy_version'],
+            '--install-dir', '.'
+        ]
+    )
+    api.step(
+        'install xcpretty', [
+            'gem', 'install',
+            'xcpretty:' + api.properties.get('xcpretty_version', '0.3.0'),
+            '--install-dir', '.'
+        ]
+    )
+  with api.context(env={"GEM_HOME": gem_dir},
+                   env_prefixes={'PATH': [gem_dir.join('bin')]}):
     yield
 
 
@@ -1497,12 +1624,15 @@
     objcdoc_cmd = [checkout.join('flutter/tools/gen_objcdoc.sh'), temp_dir]
     with api.context(cwd=checkout.join('flutter')):
       api.step('build obj-c doc', objcdoc_cmd)
-    api.zip.directory('archive obj-c doc', temp_dir,
-                      checkout.join('out/ios-objcdoc.zip'))
+    api.zip.directory(
+        'archive obj-c doc', temp_dir, checkout.join('out/ios-objcdoc.zip')
+    )
 
     if ShouldUploadPackages(api):
-      SafeUpload(api, checkout.join('out/ios-objcdoc.zip'),
-                 GetCloudPath(api, 'ios-objcdoc.zip'))
+      SafeUpload(
+          api, checkout.join('out/ios-objcdoc.zip'),
+          GetCloudPath(api, 'ios-objcdoc.zip')
+      )
 
 
 def RunSteps(api, properties, env_properties):
@@ -1513,8 +1643,9 @@
 
   api.file.ensure_directory('Ensure checkout cache', cache_root)
   api.goma.ensure()
-  dart_bin = checkout.join('third_party', 'dart', 'tools', 'sdks', 'dart-sdk',
-                           'bin')
+  dart_bin = checkout.join(
+      'third_party', 'dart', 'tools', 'sdks', 'dart-sdk', 'bin'
+  )
 
   android_home = checkout.join('third_party', 'android_tools', 'sdk')
 
@@ -1524,9 +1655,8 @@
   api.repo_util.engine_checkout(cache_root, env, env_prefixes)
 
   # Various scripts we run assume access to depot_tools on path for `ninja`.
-  with api.context(
-      cwd=cache_root, env=env,
-      env_prefixes=env_prefixes), api.depot_tools.on_path():
+  with api.context(cwd=cache_root, env=env,
+                   env_prefixes=env_prefixes), api.depot_tools.on_path():
 
     # Checks before building the engine. Only run on Linux.
     if api.platform.is_linux:
@@ -1541,20 +1671,24 @@
       # upstream remote
       api.step(
           'Fetch dart tags',
-          ['git', 'fetch', 'https://dart.googlesource.com/sdk.git', '--tags'])
+          ['git', 'fetch', 'https://dart.googlesource.com/sdk.git', '--tags']
+      )
       api.step('List all tags', ['git', 'tag', '--list'])
 
     api.gclient.runhooks()
 
     with api.step.nest('Android SDK Licenses'):
       api.file.ensure_directory('mkdir licenses', android_home.join('licenses'))
-      api.file.write_text('android sdk license',
-                          android_home.join('licenses', 'android-sdk-license'),
-                          str(properties.android_sdk_license))
+      api.file.write_text(
+          'android sdk license',
+          android_home.join('licenses', 'android-sdk-license'),
+          str(properties.android_sdk_license)
+      )
       api.file.write_text(
           'android sdk preview license',
           android_home.join('licenses', 'android-sdk-preview-license'),
-          str(properties.android_sdk_preview_license))
+          str(properties.android_sdk_preview_license)
+      )
 
     if api.platform.is_linux:
       if api.properties.get('build_host', True):
@@ -1590,7 +1724,8 @@
   output_props = struct_pb2.Struct()
   output_props['isolated_output_hash'] = 'deadbeef'
   build = api.buildbucket.try_build_message(
-      builder='Linux Drone', project='flutter')
+      builder='Linux Drone', project='flutter'
+  )
   build.output.CopyFrom(build_pb2.Build.Output(properties=output_props))
 
   collect_build_output = api.buildbucket.simulated_collect_output([build])
@@ -1599,9 +1734,11 @@
       for maven_or_bitcode in (True, False):
         for should_publish_cipd in (True, False):
           test = api.test(
-              '%s%s%s%s' % (platform, '_upload' if should_upload else '',
-                            '_maven_or_bitcode' if maven_or_bitcode else '',
-                            '_publish_cipd' if should_publish_cipd else ''),
+              '%s%s%s%s' % (
+                  platform, '_upload' if should_upload else '',
+                  '_maven_or_bitcode' if maven_or_bitcode else '',
+                  '_publish_cipd' if should_publish_cipd else ''
+              ),
               api.platform(platform, 64),
               api.buildbucket.ci_build(
                   builder='%s Engine' % platform.capitalize(),
@@ -1626,9 +1763,11 @@
                       android_sdk_license='android_sdk_hash',
                       android_sdk_preview_license='android_sdk_preview_hash',
                       force_upload=True,
-                  ),),
+                  ),
+              ),
               api.properties.environ(
-                  EnvProperties(SWARMING_TASK_ID='deadbeef')),
+                  EnvProperties(SWARMING_TASK_ID='deadbeef')
+              ),
           )
           if platform == 'linux' and should_upload:
             instances = 0 if should_publish_cipd else 1
@@ -1637,7 +1776,10 @@
                     'cipd search flutter/fuchsia git_revision:%s' %
                     git_revision,
                     api.cipd.example_search(
-                        'flutter/fuchsia', instances=instances)))
+                        'flutter/fuchsia', instances=instances
+                    )
+                )
+            )
           if platform != 'win':
             test += collect_build_output
           if platform == 'mac':
@@ -1646,7 +1788,10 @@
                     InputProperties(
                         jazzy_version='0.8.4',
                         build_ios=True,
-                        no_bitcode=maven_or_bitcode)))
+                        no_bitcode=maven_or_bitcode
+                    )
+                )
+            )
           yield test
 
   yield api.test(
@@ -1660,7 +1805,8 @@
       api.properties(InputProperties(
           goma_jobs='1024',
           upload_packages=True,
-      )))
+      ))
+  )
 
   for should_upload in (True, False):
     yield api.test(
@@ -1679,14 +1825,16 @@
                 android_sdk_license='android_sdk_hash',
                 android_sdk_preview_license='android_sdk_preview_hash',
                 upload_packages=should_upload,
-            )),
+            )
+        ),
     )
   yield api.test(
       'clobber',
       api.buildbucket.ci_build(
           builder='Linux Host Engine',
           git_repo='https://github.com/flutter/engine',
-          project='flutter'),
+          project='flutter'
+      ),
       collect_build_output,
       api.runtime(is_luci=True, is_experimental=True),
       api.step_data(
@@ -1707,14 +1855,17 @@
               build_android_debug=True,
               build_android_vulkan=True,
               android_sdk_license='android_sdk_hash',
-              android_sdk_preview_license='android_sdk_preview_hash')),
+              android_sdk_preview_license='android_sdk_preview_hash'
+          )
+      ),
   )
   yield api.test(
       'pull_request',
       api.buildbucket.ci_build(
           builder='Linux Host Engine',
           git_repo='https://github.com/flutter/engine',
-          project='flutter'),
+          project='flutter'
+      ),
       collect_build_output,
       api.runtime(is_luci=True, is_experimental=True),
       api.properties(
@@ -1731,7 +1882,9 @@
               build_android_debug=True,
               build_android_vulkan=True,
               android_sdk_license='android_sdk_hash',
-              android_sdk_preview_license='android_sdk_preview_hash')),
+              android_sdk_preview_license='android_sdk_preview_hash'
+          )
+      ),
   )
 
   test = api.test(
@@ -1745,7 +1898,8 @@
       ),
       api.step_data(
           'cipd search flutter/fuchsia git_revision:%s' % git_revision,
-          api.cipd.example_search('flutter/fuchsia', instances=0)),
+          api.cipd.example_search('flutter/fuchsia', instances=0)
+      ),
       collect_build_output,
       api.properties(
           InputProperties(
@@ -1763,7 +1917,9 @@
               upload_packages=True,
               android_sdk_license='android_sdk_hash',
               android_sdk_preview_license='android_sdk_preview_hash',
-              force_upload=False)),
+              force_upload=False
+          )
+      ),
       api.properties.environ(EnvProperties(SWARMING_TASK_ID='deadbeef')),
   )
   # TODO(fujino): find out why these are not getting skipped based on properties
@@ -1812,17 +1968,20 @@
   ):
     test += api.step_data(
         'Ensure %s does not already exist on cloud storage' % artifact,
-        retcode=1)
+        retcode=1
+    )
   yield test
 
   yield api.test(
       'Linux Fuchsia failing test',
       api.platform('linux', 64),
       api.buildbucket.ci_build(
-          builder='Linux Engine', git_repo=GIT_REPO, project='flutter'),
+          builder='Linux Engine', git_repo=GIT_REPO, project='flutter'
+      ),
       api.step_data(
           'gn --fuchsia --fuchsia-cpu x64 --runtime-mode debug --no-lto',
-          retcode=1),
+          retcode=1
+      ),
       api.properties(
           InputProperties(
               clobber=False,
@@ -1838,7 +1997,9 @@
               upload_packages=True,
               android_sdk_license='android_sdk_hash',
               android_sdk_preview_license='android_sdk_preview_hash',
-              force_upload=True)),
+              force_upload=True
+          )
+      ),
       api.properties.environ(EnvProperties(SWARMING_TASK_ID='deadbeef')),
   )
   yield api.test(
@@ -1846,7 +2007,8 @@
       api.buildbucket.ci_build(
           builder='Linux Host Engine',
           git_repo='https://github.com/flutter/engine',
-          project='flutter'),
+          project='flutter'
+      ),
       # Next line force a fail condition for the bot update
       # first execution.
       api.step_data("Checkout source code.bot_update", retcode=1),
@@ -1866,5 +2028,7 @@
               build_android_debug=True,
               build_android_vulkan=True,
               android_sdk_license='android_sdk_hash',
-              android_sdk_preview_license='android_sdk_preview_hash')),
+              android_sdk_preview_license='android_sdk_preview_hash'
+          )
+      ),
   )