Move web smoke tests to luci. Change-Id: Ib2d2052facc1242108ed0efeb1d8813eec25a626 Bug: https://github.com/flutter/flutter/issues/64070 Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/5841 Commit-Queue: Godofredo Contreras <godofredoc@google.com> Reviewed-by: Christopher Fujino <fujino@google.com> Reviewed-by: Nurhan Turgut <nurhan@google.com>
diff --git a/recipe_modules/adhoc_validation/api.py b/recipe_modules/adhoc_validation/api.py index 90e5261..3f797ae 100644 --- a/recipe_modules/adhoc_validation/api.py +++ b/recipe_modules/adhoc_validation/api.py
@@ -15,7 +15,10 @@ def available_validations(self): """Returns the list of accepted validations.""" - return ['analyze', 'customer_testing', 'docs', 'fuchsia_precache'] + return [ + 'analyze', 'customer_testing', 'docs', 'docker_build', 'fuchsia_precache', + 'web_smoke_test' + ] def run(self, name, validation): """Runs a validation as a recipe step.
diff --git a/recipe_modules/adhoc_validation/resources/web_smoke_test.sh b/recipe_modules/adhoc_validation/resources/web_smoke_test.sh new file mode 100644 index 0000000..aea9eb9 --- /dev/null +++ b/recipe_modules/adhoc_validation/resources/web_smoke_test.sh
@@ -0,0 +1,12 @@ +#!/bin/bash + +# Web smoke tests. + +set -e + +flutter config --enable-web +chromedriver --port=4444 & +sleep 5 +cd examples/hello_world/ +flutter drive --target=test_driver/smoke_web_engine.dart -d web-server --profile --browser-name=chrome +pkill chromedriver
diff --git a/recipe_modules/flutter_deps/__init__.py b/recipe_modules/flutter_deps/__init__.py index 64425b0..d800d2d 100644 --- a/recipe_modules/flutter_deps/__init__.py +++ b/recipe_modules/flutter_deps/__init__.py
@@ -1,5 +1,6 @@ DEPS = [ 'recipe_engine/cipd', 'recipe_engine/path', + 'recipe_engine/platform', 'recipe_engine/step', ]
diff --git a/recipe_modules/flutter_deps/api.py b/recipe_modules/flutter_deps/api.py index e7a6c53..c970f1f 100644 --- a/recipe_modules/flutter_deps/api.py +++ b/recipe_modules/flutter_deps/api.py
@@ -21,7 +21,9 @@ self.m.cipd.ensure( java_cache_dir, self.m.cipd.EnsureFile().add_package( - 'flutter_internal/java/openjdk/${platform}', version)) + 'flutter_internal/java/openjdk/${platform}', version + ) + ) env['JAVA_HOME'] = java_cache_dir path = env_prefixes.get('PATH', []) path.append(java_cache_dir.join('bin')) @@ -39,15 +41,17 @@ env['CHROME_NO_SANDBOX'] = 'true' chrome_path = self.m.path['cache'].join('chrome', 'chrome') pkgs = self.m.cipd.EnsureFile() - pkgs.add_package('flutter_internal/browsers/chrome-linux', version) + pkgs.add_package('flutter_internal/browsers/chrome/${platform}', version) self.m.cipd.ensure(chrome_path, pkgs) chrome_driver_path = self.m.path['cache'].join('chrome', 'drivers') pkgdriver = self.m.cipd.EnsureFile() pkgdriver.add_package( - 'flutter_internal/browser-drivers/chromedriver-linux', version) + 'flutter_internal/browser-drivers/chrome/${platform}', version + ) self.m.cipd.ensure(chrome_driver_path, pkgdriver) paths = env_prefixes.get('PATH', []) paths.append(chrome_path) paths.append(chrome_driver_path) env_prefixes['PATH'] = paths - env['CHROME_EXECUTABLE'] = chrome_path.join('chrome-linux', 'chrome') + binary_name = 'chrome.exe' if self.m.platform.is_win else 'chrome' + env['CHROME_EXECUTABLE'] = chrome_path.join(binary_name)
diff --git a/recipe_modules/flutter_deps/examples/full.expected/basic.json b/recipe_modules/flutter_deps/examples/full.expected/basic.json index 9418b0d..efdf043 100644 --- a/recipe_modules/flutter_deps/examples/full.expected/basic.json +++ b/recipe_modules/flutter_deps/examples/full.expected/basic.json
@@ -43,7 +43,7 @@ "-root", "[CACHE]/chrome/chrome", "-ensure-file", - "flutter_internal/browsers/chrome-linux latest", + "flutter_internal/browsers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -57,7 +57,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -72,7 +72,7 @@ "-root", "[CACHE]/chrome/drivers", "-ensure-file", - "flutter_internal/browser-drivers/chromedriver-linux latest", + "flutter_internal/browser-drivers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -86,7 +86,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chromedriver-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@",
diff --git a/recipes/flutter/flutter.expected/validators.json b/recipes/flutter/flutter.expected/validators.json index 615592c..0b8cebe 100644 --- a/recipes/flutter/flutter.expected/validators.json +++ b/recipes/flutter/flutter.expected/validators.json
@@ -112,6 +112,68 @@ }, { "cmd": [], + "name": "Chrome and driver dependency" + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[CACHE]/chrome/chrome", + "-ensure-file", + "flutter_internal/browsers/chrome/${platform} latest", + "-max-threads", + "0", + "-json-output", + "/path/to/tmp/json" + ], + "name": "Chrome and driver dependency.ensure_installed", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", + "@@@STEP_LOG_LINE@json.output@ {@@@", + "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/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": [ + "cipd", + "ensure", + "-root", + "[CACHE]/chrome/drivers", + "-ensure-file", + "flutter_internal/browser-drivers/chrome/${platform} latest", + "-max-threads", + "0", + "-json-output", + "/path/to/tmp/json" + ], + "name": "Chrome and driver dependency.ensure_installed (2)", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", + "@@@STEP_LOG_LINE@json.output@ {@@@", + "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/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": [], "name": "prepare environment" }, { @@ -121,13 +183,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.flutter doctor", @@ -142,13 +208,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.download dependencies", @@ -171,13 +241,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.dart analyze.Set execute permission", @@ -191,13 +265,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.dart analyze.analyze",
diff --git a/recipes/flutter/flutter.py b/recipes/flutter/flutter.py index 1512266..8a0b008 100644 --- a/recipes/flutter/flutter.py +++ b/recipes/flutter/flutter.py
@@ -15,6 +15,7 @@ 'flutter/adhoc_validation', 'flutter/repo_util', 'flutter/shard_util', + 'flutter/flutter_deps', 'flutter/display_util', 'recipe_engine/buildbucket', 'recipe_engine/context', @@ -48,6 +49,7 @@ ref=api.properties.get('git_ref') ) env, env_prefixes = api.repo_util.flutter_environment(checkout_path) + api.flutter_deps.chrome_and_driver(env, env_prefixes) with api.context(env=env, env_prefixes=env_prefixes, cwd=checkout_path): with api.step.nest('prepare environment'): api.step('flutter doctor', ['flutter', 'doctor'])
diff --git a/recipes/flutter/flutter_1_20_0.expected/validators.json b/recipes/flutter/flutter_1_20_0.expected/validators.json index 615592c..0b8cebe 100644 --- a/recipes/flutter/flutter_1_20_0.expected/validators.json +++ b/recipes/flutter/flutter_1_20_0.expected/validators.json
@@ -112,6 +112,68 @@ }, { "cmd": [], + "name": "Chrome and driver dependency" + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[CACHE]/chrome/chrome", + "-ensure-file", + "flutter_internal/browsers/chrome/${platform} latest", + "-max-threads", + "0", + "-json-output", + "/path/to/tmp/json" + ], + "name": "Chrome and driver dependency.ensure_installed", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", + "@@@STEP_LOG_LINE@json.output@ {@@@", + "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/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": [ + "cipd", + "ensure", + "-root", + "[CACHE]/chrome/drivers", + "-ensure-file", + "flutter_internal/browser-drivers/chrome/${platform} latest", + "-max-threads", + "0", + "-json-output", + "/path/to/tmp/json" + ], + "name": "Chrome and driver dependency.ensure_installed (2)", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", + "@@@STEP_LOG_LINE@json.output@ {@@@", + "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/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": [], "name": "prepare environment" }, { @@ -121,13 +183,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.flutter doctor", @@ -142,13 +208,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.download dependencies", @@ -171,13 +241,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.dart analyze.Set execute permission", @@ -191,13 +265,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.dart analyze.analyze",
diff --git a/recipes/flutter/flutter_1_20_0.py b/recipes/flutter/flutter_1_20_0.py index 1512266..8a0b008 100644 --- a/recipes/flutter/flutter_1_20_0.py +++ b/recipes/flutter/flutter_1_20_0.py
@@ -15,6 +15,7 @@ 'flutter/adhoc_validation', 'flutter/repo_util', 'flutter/shard_util', + 'flutter/flutter_deps', 'flutter/display_util', 'recipe_engine/buildbucket', 'recipe_engine/context', @@ -48,6 +49,7 @@ ref=api.properties.get('git_ref') ) env, env_prefixes = api.repo_util.flutter_environment(checkout_path) + api.flutter_deps.chrome_and_driver(env, env_prefixes) with api.context(env=env, env_prefixes=env_prefixes, cwd=checkout_path): with api.step.nest('prepare environment'): api.step('flutter doctor', ['flutter', 'doctor'])
diff --git a/recipes/flutter/flutter_1_21_0.expected/validators.json b/recipes/flutter/flutter_1_21_0.expected/validators.json index 615592c..0b8cebe 100644 --- a/recipes/flutter/flutter_1_21_0.expected/validators.json +++ b/recipes/flutter/flutter_1_21_0.expected/validators.json
@@ -112,6 +112,68 @@ }, { "cmd": [], + "name": "Chrome and driver dependency" + }, + { + "cmd": [ + "cipd", + "ensure", + "-root", + "[CACHE]/chrome/chrome", + "-ensure-file", + "flutter_internal/browsers/chrome/${platform} latest", + "-max-threads", + "0", + "-json-output", + "/path/to/tmp/json" + ], + "name": "Chrome and driver dependency.ensure_installed", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", + "@@@STEP_LOG_LINE@json.output@ {@@@", + "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/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": [ + "cipd", + "ensure", + "-root", + "[CACHE]/chrome/drivers", + "-ensure-file", + "flutter_internal/browser-drivers/chrome/${platform} latest", + "-max-threads", + "0", + "-json-output", + "/path/to/tmp/json" + ], + "name": "Chrome and driver dependency.ensure_installed (2)", + "~followup_annotations": [ + "@@@STEP_NEST_LEVEL@1@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", + "@@@STEP_LOG_LINE@json.output@ {@@@", + "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/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": [], "name": "prepare environment" }, { @@ -121,13 +183,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.flutter doctor", @@ -142,13 +208,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.download dependencies", @@ -171,13 +241,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.dart analyze.Set execute permission", @@ -191,13 +265,17 @@ ], "cwd": "[START_DIR]/flutter", "env": { + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", + "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "PUB_CACHE": "[CACHE]/.pub-cache" }, "env_prefixes": { "PATH": [ "[START_DIR]/flutter/bin", - "[START_DIR]/flutter/bin/cache/dart-sdk/bin" + "[START_DIR]/flutter/bin/cache/dart-sdk/bin", + "[CACHE]/chrome/chrome", + "[CACHE]/chrome/drivers" ] }, "name": "prepare environment.dart analyze.analyze",
diff --git a/recipes/flutter/flutter_1_21_0.py b/recipes/flutter/flutter_1_21_0.py index 1512266..8a0b008 100644 --- a/recipes/flutter/flutter_1_21_0.py +++ b/recipes/flutter/flutter_1_21_0.py
@@ -15,6 +15,7 @@ 'flutter/adhoc_validation', 'flutter/repo_util', 'flutter/shard_util', + 'flutter/flutter_deps', 'flutter/display_util', 'recipe_engine/buildbucket', 'recipe_engine/context', @@ -48,6 +49,7 @@ ref=api.properties.get('git_ref') ) env, env_prefixes = api.repo_util.flutter_environment(checkout_path) + api.flutter_deps.chrome_and_driver(env, env_prefixes) with api.context(env=env, env_prefixes=env_prefixes, cwd=checkout_path): with api.step.nest('prepare environment'): api.step('flutter doctor', ['flutter', 'doctor'])
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk.json b/recipes/flutter/flutter_drone.expected/android_sdk.json index 53b1dbc..7a54ea0 100644 --- a/recipes/flutter/flutter_drone.expected/android_sdk.json +++ b/recipes/flutter/flutter_drone.expected/android_sdk.json
@@ -98,7 +98,7 @@ "-root", "[CACHE]/chrome/chrome", "-ensure-file", - "flutter_internal/browsers/chrome-linux latest", + "flutter_internal/browsers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -112,7 +112,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -127,7 +127,7 @@ "-root", "[CACHE]/chrome/drivers", "-ensure-file", - "flutter_internal/browser-drivers/chromedriver-linux latest", + "flutter_internal/browser-drivers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -141,7 +141,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chromedriver-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -189,7 +189,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -215,7 +215,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -253,7 +253,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -301,7 +301,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -349,7 +349,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -397,7 +397,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -448,7 +448,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -484,7 +484,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -522,7 +522,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -555,7 +555,7 @@ "cwd": "[START_DIR]/flutter", "env": { "ANDROID_SDK_ROOT": "[CACHE]/android29", - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java",
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements.json b/recipes/flutter/flutter_drone.expected/no_requirements.json index a9114a7..e652a4a 100644 --- a/recipes/flutter/flutter_drone.expected/no_requirements.json +++ b/recipes/flutter/flutter_drone.expected/no_requirements.json
@@ -98,7 +98,7 @@ "-root", "[CACHE]/chrome/chrome", "-ensure-file", - "flutter_internal/browsers/chrome-linux latest", + "flutter_internal/browsers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -112,7 +112,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -127,7 +127,7 @@ "-root", "[CACHE]/chrome/drivers", "-ensure-file", - "flutter_internal/browser-drivers/chromedriver-linux latest", + "flutter_internal/browser-drivers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -141,7 +141,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chromedriver-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -189,7 +189,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -215,7 +215,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -241,7 +241,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java",
diff --git a/recipes/flutter/flutter_drone_1_21_0.expected/android_sdk.json b/recipes/flutter/flutter_drone_1_21_0.expected/android_sdk.json index 53b1dbc..7a54ea0 100644 --- a/recipes/flutter/flutter_drone_1_21_0.expected/android_sdk.json +++ b/recipes/flutter/flutter_drone_1_21_0.expected/android_sdk.json
@@ -98,7 +98,7 @@ "-root", "[CACHE]/chrome/chrome", "-ensure-file", - "flutter_internal/browsers/chrome-linux latest", + "flutter_internal/browsers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -112,7 +112,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -127,7 +127,7 @@ "-root", "[CACHE]/chrome/drivers", "-ensure-file", - "flutter_internal/browser-drivers/chromedriver-linux latest", + "flutter_internal/browser-drivers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -141,7 +141,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chromedriver-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -189,7 +189,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -215,7 +215,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -253,7 +253,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -301,7 +301,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -349,7 +349,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -397,7 +397,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -448,7 +448,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -484,7 +484,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -522,7 +522,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -555,7 +555,7 @@ "cwd": "[START_DIR]/flutter", "env": { "ANDROID_SDK_ROOT": "[CACHE]/android29", - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java",
diff --git a/recipes/flutter/flutter_drone_1_21_0.expected/no_requirements.json b/recipes/flutter/flutter_drone_1_21_0.expected/no_requirements.json index a9114a7..e652a4a 100644 --- a/recipes/flutter/flutter_drone_1_21_0.expected/no_requirements.json +++ b/recipes/flutter/flutter_drone_1_21_0.expected/no_requirements.json
@@ -98,7 +98,7 @@ "-root", "[CACHE]/chrome/chrome", "-ensure-file", - "flutter_internal/browsers/chrome-linux latest", + "flutter_internal/browsers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -112,7 +112,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browsers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -127,7 +127,7 @@ "-root", "[CACHE]/chrome/drivers", "-ensure-file", - "flutter_internal/browser-drivers/chromedriver-linux latest", + "flutter_internal/browser-drivers/chrome/${platform} latest", "-max-threads", "0", "-json-output", @@ -141,7 +141,7 @@ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@", "@@@STEP_LOG_LINE@json.output@ {@@@", "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@", - "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chromedriver-linux\"@@@", + "@@@STEP_LOG_LINE@json.output@ \"package\": \"flutter_internal/browser-drivers/chrome/resolved-platform\"@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", "@@@STEP_LOG_LINE@json.output@ ]@@@", "@@@STEP_LOG_LINE@json.output@ }@@@", @@ -189,7 +189,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -215,7 +215,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java", @@ -241,7 +241,7 @@ ], "cwd": "[START_DIR]/flutter", "env": { - "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome-linux/chrome", + "CHROME_EXECUTABLE": "[CACHE]/chrome/chrome/chrome", "CHROME_NO_SANDBOX": "true", "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]", "JAVA_HOME": "[CACHE]/java",