Add gclient to path of engine builds.
Some scripts rely on gclient being on the path.
Bug: https://github.com/flutter/flutter/issues/126447
Change-Id: Id41b0024eb5d5bfba3119aa54a126115cccee982
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/44203
Reviewed-by: Keyong Han <keyonghan@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipes/engine_v2/builder.expected/basic.json b/recipes/engine_v2/builder.expected/basic.json
index fb3fd70..765e788 100644
--- a/recipes/engine_v2/builder.expected/basic.json
+++ b/recipes/engine_v2/builder.expected/basic.json
@@ -1537,6 +1537,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -1576,6 +1584,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -1625,6 +1641,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1673,6 +1697,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1719,6 +1751,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -1770,6 +1810,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1819,6 +1867,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1876,6 +1932,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1926,6 +1990,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1971,6 +2043,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2015,6 +2095,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2060,6 +2148,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2109,6 +2205,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2154,6 +2258,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2201,6 +2313,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2250,6 +2370,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2295,6 +2423,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2342,6 +2478,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2391,6 +2535,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2436,6 +2588,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2483,6 +2643,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
diff --git a/recipes/engine_v2/builder.expected/dart-internal-flutter.json b/recipes/engine_v2/builder.expected/dart-internal-flutter.json
index 5beff7f..437a519 100644
--- a/recipes/engine_v2/builder.expected/dart-internal-flutter.json
+++ b/recipes/engine_v2/builder.expected/dart-internal-flutter.json
@@ -1644,6 +1644,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -1683,6 +1691,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -1732,6 +1748,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1780,6 +1804,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1826,6 +1858,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -1877,6 +1917,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1926,6 +1974,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1983,6 +2039,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2029,6 +2093,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -2073,6 +2145,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2118,6 +2198,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2162,6 +2250,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2207,6 +2303,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2256,6 +2360,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2301,6 +2413,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2348,6 +2468,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2395,6 +2523,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2441,6 +2577,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -2486,6 +2630,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2531,6 +2683,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2578,6 +2738,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2625,6 +2793,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2671,6 +2847,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -2716,6 +2900,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2761,6 +2953,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2808,6 +3008,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2855,6 +3063,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2901,6 +3117,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
@@ -2941,6 +3165,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart-internal:flutter"
diff --git a/recipes/engine_v2/builder.expected/mac.json b/recipes/engine_v2/builder.expected/mac.json
index 211b294..cf5ca92 100644
--- a/recipes/engine_v2/builder.expected/mac.json
+++ b/recipes/engine_v2/builder.expected/mac.json
@@ -1691,6 +1691,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -1730,6 +1738,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -1779,6 +1795,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1827,6 +1851,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1873,6 +1905,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -1924,6 +1964,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1973,6 +2021,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2030,6 +2086,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2080,6 +2144,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2125,6 +2197,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2169,6 +2249,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2214,6 +2302,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2256,6 +2352,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2300,6 +2404,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2344,6 +2456,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2407,6 +2527,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2471,6 +2599,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2530,6 +2666,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2577,6 +2721,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2626,6 +2778,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2685,6 +2845,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2732,6 +2900,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2781,6 +2957,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2840,6 +3024,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2887,6 +3079,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2936,6 +3136,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -2995,6 +3203,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3042,6 +3258,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -3091,6 +3315,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -3150,6 +3382,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3197,6 +3437,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -3243,6 +3491,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3291,6 +3547,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -3334,6 +3598,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -3377,6 +3649,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "flutter:prod"
@@ -3425,6 +3705,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3470,6 +3758,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3517,6 +3813,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3566,6 +3870,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3611,6 +3923,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3658,6 +3978,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3707,6 +4035,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3752,6 +4088,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -3799,6 +4143,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
diff --git a/recipes/engine_v2/builder.expected/monorepo.json b/recipes/engine_v2/builder.expected/monorepo.json
index 24f96bc..bf47275 100644
--- a/recipes/engine_v2/builder.expected/monorepo.json
+++ b/recipes/engine_v2/builder.expected/monorepo.json
@@ -1592,6 +1592,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart:ci.sandbox"
@@ -1631,6 +1639,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart:ci.sandbox"
@@ -1680,6 +1696,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1728,6 +1752,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1774,6 +1806,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart:ci.sandbox"
@@ -1825,6 +1865,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1874,6 +1922,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1931,6 +1987,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1976,6 +2040,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2020,6 +2092,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2065,6 +2145,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2114,6 +2202,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2159,6 +2255,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2206,6 +2310,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2255,6 +2367,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2300,6 +2420,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2347,6 +2475,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
diff --git a/recipes/engine_v2/builder.expected/monorepo_tryjob.json b/recipes/engine_v2/builder.expected/monorepo_tryjob.json
index aa27168..10f9fe6 100644
--- a/recipes/engine_v2/builder.expected/monorepo_tryjob.json
+++ b/recipes/engine_v2/builder.expected/monorepo_tryjob.json
@@ -1677,6 +1677,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart:ci.sandbox"
@@ -1716,6 +1724,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart:ci.sandbox"
@@ -1765,6 +1781,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1813,6 +1837,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1859,6 +1891,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"luci_context": {
"realm": {
"name": "dart:ci.sandbox"
@@ -1910,6 +1950,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -1959,6 +2007,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2016,6 +2072,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2065,6 +2129,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
@@ -2110,6 +2182,14 @@
"[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
]
},
+ "env_suffixes": {
+ "DEPOT_TOOLS_UPDATE": [
+ "0"
+ ],
+ "PATH": [
+ "RECIPE_REPO[depot_tools]"
+ ]
+ },
"infra_step": true,
"luci_context": {
"realm": {
diff --git a/recipes/engine_v2/builder.py b/recipes/engine_v2/builder.py
index 3bb84d6..ff13048 100644
--- a/recipes/engine_v2/builder.py
+++ b/recipes/engine_v2/builder.py
@@ -35,6 +35,7 @@
from PB.go.chromium.org.luci.buildbucket.proto import build as build_pb2
DEPS = [
+ 'depot_tools/depot_tools',
'depot_tools/gsutil',
'flutter/archives',
'flutter/build_util',
@@ -172,7 +173,7 @@
# Get only local tests.
tests = build.get('tests', [])
with api.context(env=env, env_prefixes=env_prefixes,
- cwd=checkout.join('flutter')):
+ cwd=checkout.join('flutter')), api.depot_tools.on_path():
run_generators(api, pub_dirs, generator_tasks, checkout, env, env_prefixes)
run_tests(api, tests, checkout, env, env_prefixes)
api.flutter_bcid.report_stage('upload')
diff --git a/recipes/engine_v2/builder.pyback b/recipes/engine_v2/builder.pyback
new file mode 100644
index 0000000..ff13048
--- /dev/null
+++ b/recipes/engine_v2/builder.pyback
@@ -0,0 +1,333 @@
+# Copyright 2021 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.
+
+"""Flutter Engine builder recipe.
+
+This recipe is used to build flavors of flutter engine identified by lists of
+gn flags and ninja configs and targets.
+
+
+The following are examples of valid configurations passed to builders using
+this recipe in the builds property:
+
+ {
+ "gn" : [
+ "--ios",
+ "--runtime-mode",
+ "debug",
+ "--simulator",
+ "--no-lto"
+ ],
+ "ninja": {
+ "config": "ios_debug_sim",
+ "targets": ["ios_test_flutter"]
+ }
+ }
+"""
+import copy
+
+from contextlib import contextmanager
+
+from google.protobuf import struct_pb2
+from PB.recipes.flutter.engine.engine import InputProperties
+from PB.recipes.flutter.engine.engine import EnvProperties
+from PB.go.chromium.org.luci.buildbucket.proto import build as build_pb2
+
+DEPS = [
+ 'depot_tools/depot_tools',
+ 'depot_tools/gsutil',
+ 'flutter/archives',
+ 'flutter/build_util',
+ 'flutter/flutter_bcid',
+ 'flutter/flutter_deps',
+ 'flutter/logs_util',
+ 'flutter/monorepo',
+ 'flutter/os_utils',
+ 'flutter/osx_sdk',
+ 'flutter/repo_util',
+ 'flutter/retry',
+ 'flutter/shard_util_v2',
+ 'flutter/signing',
+ 'flutter/test_utils',
+ 'fuchsia/cas_util',
+ 'recipe_engine/bcid_reporter',
+ 'recipe_engine/buildbucket',
+ 'recipe_engine/context',
+ 'recipe_engine/file',
+ 'recipe_engine/path',
+ 'recipe_engine/platform',
+ 'recipe_engine/properties',
+ 'recipe_engine/raw_io',
+ 'recipe_engine/step',
+]
+
+PROPERTIES = InputProperties
+ENV_PROPERTIES = EnvProperties
+ANDROID_ARTIFACTS_BUCKET = 'download.flutter.io'
+
+# Relative paths used to mock paths for testing.
+MOCK_JAR_PATH = (
+ 'io/flutter/x86_debug/'
+ '1.0.0-0005149dca9b248663adcde4bdd7c6c915a76584/'
+ 'x86_debug-1.0.0-0005149dca9b248663adcde4bdd7c6c915a76584.jar'
+)
+MOCK_POM_PATH = (
+ 'io/flutter/x86_debug/'
+ '1.0.0-0005149dca9b248663adcde4bdd7c6c915a76584/'
+ 'x86_debug-1.0.0-0005149dca9b248663adcde4bdd7c6c915a76584.pom'
+)
+
+# Used for mock paths
+DIRECTORY = 'DIRECTORY'
+
+
+def run_generators(api, pub_dirs, generator_tasks, checkout, env, env_prefixes):
+ """Runs sub-builds generators."""
+ # Run pub on all of the pub_dirs.
+ for pub in pub_dirs:
+ pub_dir = api.path.abs_to_path(api.path.dirname(checkout.join(pub)))
+ with api.context(env=env, env_prefixes=env_prefixes, cwd=pub_dir):
+ api.step('dart pub get', ['dart', 'pub', 'get'])
+ for generator_task in generator_tasks:
+ # Generators must run from inside flutter folder.
+ cmd = []
+ for script in generator_task.get('scripts'):
+ full_path_script = checkout.join(script)
+ cmd.append(full_path_script)
+ cmd.extend(generator_task.get('parameters', []))
+ api.step(generator_task.get('name'), cmd)
+
+
+def run_tests(api, tests, checkout, env, env_prefixes):
+ """Runs sub-build tests."""
+ # Run local tests in the builder to optimize resource usage.
+ for test in tests:
+ command = [test.get('language')] if test.get('language') else []
+ # Ideally local tests should be completely hermetic and in theory we can run
+ # them in parallel using futures. I haven't found a flutter engine
+ # configuration with more than one local test but once we find it we
+ # should run the list of tests using parallelism.
+ # TODO(godofredoc): Optimize to run multiple local tests in parallel.
+ command.append(checkout.join(test.get('script')))
+ command.extend(test.get('parameters', []))
+ #api.step(test.get('name'), command)
+ step_name = api.test_utils.test_step_name(test.get('name'))
+
+ def run_test():
+ return api.step(step_name, command)
+
+ # Rerun test step 3 times by default if failing.
+ # TODO(keyonghan): notify tree gardener for test failures/flakes:
+ # https://github.com/flutter/flutter/issues/89308
+ api.logs_util.initialize_logs_collection(env)
+ try:
+ # Run within another context to make the logs env variable available to
+ # test scripts.
+ with api.context(env=env, env_prefixes=env_prefixes):
+ api.retry.wrap(run_test, step_name=test.get('name'))
+ finally:
+ api.logs_util.upload_logs(test.get('name'))
+
+
+def ReadBuildConfig(api, checkout_path):
+ """Reads an standalone build configuration."""
+ config_name = api.properties.get('config_name')
+ config_path = checkout_path.join(
+ 'flutter', 'ci', 'builders', 'standalone', '%s.json' % config_name
+ )
+ config = api.file.read_json(
+ 'Read build config file', config_path, test_data={}
+ )
+ return config
+
+
+def Build(api, checkout, env, env_prefixes, outputs):
+ """Builds a flavor identified as a set of gn and ninja configs."""
+
+ # Mock data for tests. This is required for the archive api to expand the directory to full path
+ # of files.
+ api.path.mock_add_paths(
+ api.path['cache'].join(
+ 'builder/src/out/android_jit_release_x86/zip_archives/download.flutter.io'
+ ), DIRECTORY
+ )
+
+ ninja_tool = {
+ "ninja": api.build_util.build,
+ }
+ build = api.properties.get('build') or ReadBuildConfig(api, checkout)
+ deps = build.get('dependencies', [])
+ api.flutter_deps.required_deps(env, env_prefixes, deps)
+ api.flutter_bcid.report_stage('compile')
+ gn = build.get('gn')
+ if gn:
+ with api.context(env=env, env_prefixes=env_prefixes):
+ api.build_util.run_gn(build.get('gn'), checkout)
+ ninja = build.get('ninja')
+ ninja_tool[ninja.get('tool', 'ninja')
+ ](ninja.get('config'), checkout, ninja.get('targets', []))
+ generator_tasks = build.get('generators', {}).get('tasks', [])
+ pub_dirs = build.get('generators', {}).get('pub_dirs', [])
+ archives = build.get('archives', [])
+ # Get only local tests.
+ tests = build.get('tests', [])
+ with api.context(env=env, env_prefixes=env_prefixes,
+ cwd=checkout.join('flutter')), api.depot_tools.on_path():
+ run_generators(api, pub_dirs, generator_tasks, checkout, env, env_prefixes)
+ run_tests(api, tests, checkout, env, env_prefixes)
+ api.flutter_bcid.report_stage('upload')
+ for archive_config in archives:
+ outputs[archive_config['name']] = Archive(api, checkout, archive_config)
+ api.flutter_bcid.report_stage('upload-complete')
+ # Archive full build. This is inneficient but necessary for global generators.
+ if build.get('cas_archive', True):
+ full_build_hash = api.shard_util_v2.archive_full_build(
+ checkout.join('out', build.get('name')), build.get('name')
+ )
+ outputs['full_build'] = full_build_hash
+
+
+def Archive(api, checkout, archive_config):
+ paths = api.archives.engine_v2_gcs_paths(checkout, archive_config)
+ # Sign artifacts if running on mac and a release candidate branch.
+ is_release_branch = api.repo_util.is_release_candidate_branch(
+ checkout.join('flutter')
+ )
+ if api.platform.is_mac and is_release_branch:
+ signing_paths = [
+ path.local
+ for path in paths
+ if api.signing.requires_signing(path.local)
+ ]
+ api.signing.code_sign(signing_paths)
+ for path in paths:
+ api.archives.upload_artifact(path.local, path.remote)
+ api.flutter_bcid.upload_provenance(path.local, path.remote)
+
+
+def RunSteps(api, properties, env_properties):
+ api.flutter_bcid.report_stage('start')
+ checkout = api.path['cache'].join('builder', 'src')
+ api.file.rmtree('Clobber build output', checkout.join('out'))
+ cache_root = api.path['cache'].join('builder')
+ api.file.ensure_directory('Ensure checkout cache', cache_root)
+
+ # Enable long path support on Windows.
+ api.os_utils.enable_long_paths()
+ env, env_prefixes = api.repo_util.engine_environment(
+ api.path['cache'].join('builder')
+ )
+
+ # Engine path is used inconsistently across the engine repo. We'll start
+ # with [cache]/builder and will adjust it to start using it consistently.
+ env['ENGINE_PATH'] = api.path['cache'].join('builder')
+
+ api.flutter_bcid.report_stage('fetch')
+ if api.monorepo.is_monorepo_ci_build or api.monorepo.is_monorepo_try_build:
+ api.repo_util.monorepo_checkout(cache_root, env, env_prefixes)
+ checkout = api.path['cache'].join('builder', 'engine', 'src')
+ else:
+ api.repo_util.engine_checkout(cache_root, env, env_prefixes)
+ outputs = {}
+ if api.platform.is_mac:
+ with api.osx_sdk('ios'):
+ Build(api, checkout, env, env_prefixes, outputs)
+ else:
+ Build(api, checkout, env, env_prefixes, outputs)
+ output_props = api.step('Set output properties', None)
+ output_props.presentation.properties['cas_output_hash'] = outputs
+
+
+def GenTests(api):
+ build = {
+ "archives": [{
+ "name":
+ "android_jit_release_x86", "type":
+ "gcs", "realm":
+ "production", "base_path":
+ "out/android_jit_release_x86/zip_archives/",
+ "include_paths": [
+ "out/android_jit_release_x86/zip_archives/android-x86-jit-release/artifacts.zip",
+ "out/android_jit_release_x86/zip_archives/download.flutter.io"
+ ]
+ }], "gn": ["--ios"], "ninja": {"config": "ios_debug", "targets": []},
+ "generators": {
+ "pub_dirs": ["dev"], "tasks": [{
+ "name": "generator1", "scripts": ["script1.sh", "dev/felt.dart"],
+ "parameters": ["--argument1"]
+ }]
+ }, "tests": [{
+ "name": "mytest", "script": "myscript.sh",
+ "parameters": ["param1", "param2"], "type": "local"
+ }]
+ }
+ yield api.test(
+ 'basic',
+ api.properties(build=build, no_goma=True),
+ api.buildbucket.ci_build(
+ project='flutter',
+ bucket='prod',
+ builder='linux-host',
+ git_repo='https://flutter.googlesource.com/mirrors/engine',
+ git_ref='refs/heads/main',
+ revision='abcd' * 10,
+ build_number=123,
+ ),
+ )
+ yield api.test(
+ 'config_file',
+ api.properties(no_goma=True, config_name='abc'),
+ api.buildbucket.ci_build(
+ project='flutter',
+ bucket='prod',
+ builder='linux-host',
+ git_repo='https://flutter.googlesource.com/mirrors/engine',
+ git_ref='refs/heads/main',
+ revision='abcd' * 10,
+ build_number=123,
+ ),
+ )
+ yield api.test(
+ 'mac',
+ api.properties(build=build, no_goma=True),
+ api.platform('mac', 64),
+ api.buildbucket.ci_build(
+ project='flutter',
+ bucket='prod',
+ builder='mac-host',
+ git_repo='https://flutter.googlesource.com/mirrors/engine',
+ git_ref='refs/heads/main',
+ revision='abcd' * 10,
+ build_number=123,
+ ),
+ api.step_data(
+ 'Identify branches.git branch',
+ stdout=api.raw_io
+ .output_text('branch1\nbranch2\nflutter-3.2-candidate.5')
+ ),
+ )
+ yield api.test(
+ 'monorepo',
+ api.properties(build=build, no_goma=True),
+ api.monorepo.ci_build(),
+ )
+ yield api.test(
+ 'monorepo_tryjob',
+ api.properties(build=build, no_goma=True),
+ api.monorepo.try_build(),
+ )
+
+ build_custom = dict(build)
+ build_custom["gclient_variables"] = {"example_custom_var": True}
+ build_custom["tests"] = []
+ yield api.test(
+ 'dart-internal-flutter',
+ api.properties(build=build, no_goma=True),
+ api.buildbucket.ci_build(
+ project='dart-internal',
+ bucket='flutter',
+ git_repo='https://flutter.googlesource.com/mirrors/engine',
+ git_ref='refs/heads/main',
+ ),
+ )