Reland "Reland "Use logs_util.upload_logs in the flutter_drone recipe.""
This reverts commit 2e9c17ce72ae354230b6942f355977e005b4f5a4.
Reason for revert: Fixed by https://github.com/flutter/flutter/pull/153966, hopefully the last one.
Original change's description:
> Revert "Reland "Use logs_util.upload_logs in the flutter_drone recipe.""
>
> This reverts commit fd459d0f5591fc06874b2a248b2d9c6de3ecc231.
>
> Reason for revert: Broke another test (https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20web_long_running_tests_5_5/18054/overview)
>
> Original change's description:
> > Reland "Use logs_util.upload_logs in the flutter_drone recipe."
> >
> > This reverts commit 69d6127512b217887ea632fa4c34776da7788e13.
> >
> > Reason for revert: The affected test (https://github.com/flutter/flutter/pull/153888) has been fixed to handle the variable.
> >
> > Original change's description:
> > > Revert "Use logs_util.upload_logs in the flutter_drone recipe."
> > >
> > > This reverts commit b111cd3ef2297e66905cc48c2cfedce0cf1ba46f.
> > >
> > > Reason for revert: https://ci.chromium.org/ui/p/flutter/builders/prod/Mac_arm64%20framework_tests_misc/3191/overview
> > >
> > > Original change's description:
> > > > Use logs_util.upload_logs in the flutter_drone recipe.
> > > >
> > > > Bug: https://github.com/flutter/flutter/issues/152775
> > > > Change-Id: I3840d064a96e32e32c23c04422eea7802ddfdeeb
> > > > Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/59220
> > > > Reviewed-by: Christopher Fujino <fujino@google.com>
> > > > Reviewed-by: Zach Anderson <zra@google.com>
> > >
> > > TBR=zra@google.com,fujino@google.com,matanl@google.com
> > >
> > > Change-Id: I13bb70a1bcb0109e4e87639e0cc8b0964a97b932
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: https://github.com/flutter/flutter/issues/152775
> > > Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/59341
> > > Reviewed-by: Zach Anderson <zra@google.com>
> > > Reviewed-by: Christopher Fujino <fujino@google.com>
> > > Reviewed-by: Chris Bracken <cbracken@google.com>
> >
> > # Not skipping CQ checks because this is a reland.
> >
> > Bug: https://github.com/flutter/flutter/issues/152775
> > Change-Id: I155c914a46e3dbe623578b6c327225cb736a479f
> > Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/59343
> > Reviewed-by: Chris Bracken <cbracken@google.com>
> > Reviewed-by: Christopher Fujino <fujino@google.com>
> > Reviewed-by: Matan Lurey <matanl@google.com>
>
> TBR=zra@google.com,fujino@google.com,cbracken@google.com,matanl@google.com
>
> Change-Id: I0bf451f142fd7ce785b8faea7bc6a5c78014431a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/flutter/flutter/issues/152775
> Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/59347
> Reviewed-by: Matan Lurey <matanl@google.com>
> Commit-Queue: Matan Lurey <matanl@google.com>
> Reviewed-by: Christopher Fujino <fujino@google.com>
Bug: https://github.com/flutter/flutter/issues/152775
Change-Id: I109d7dead105aea7cb76ab93bb2b9f881215d004
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/59349
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Matan Lurey <matanl@google.com>
Reviewed-by: Matan Lurey <matanl@google.com>
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk.json b/recipes/flutter/flutter_drone.expected/android_sdk.json
index 14ada67..58654ae 100644
--- a/recipes/flutter/flutter_drone.expected/android_sdk.json
+++ b/recipes/flutter/flutter_drone.expected/android_sdk.json
@@ -261,6 +261,107 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/android/sdk",
+ "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
+ "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
+ "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
+ "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
+ "GRADLE_USER_HOME": "[CACHE]/gradle",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/android/sdk",
+ "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
+ "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
+ "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
+ "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
+ "GRADLE_USER_HOME": "[CACHE]/gradle",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -277,6 +378,8 @@
"ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"GRADLE_OPTS": "-Dorg.gradle.daemon=false",
@@ -326,6 +429,8 @@
"ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"GRADLE_OPTS": "-Dorg.gradle.daemon=false",
diff --git a/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json b/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
index 7dce935..4a1b747 100644
--- a/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/android_sdk_reduced.json
@@ -261,6 +261,107 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/android/sdk",
+ "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
+ "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
+ "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
+ "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
+ "GRADLE_USER_HOME": "[CACHE]/gradle",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/android/sdk",
+ "ANDROID_NDK_PATH": "[CACHE]/android/ndk",
+ "ANDROID_SDK_HOME": "[CLEANUP]/tmp_tmp_1",
+ "ANDROID_SDK_ROOT": "[CACHE]/android/sdk",
+ "ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "GRADLE_OPTS": "-Dorg.gradle.daemon=false",
+ "GRADLE_USER_HOME": "[CACHE]/gradle",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -277,6 +378,8 @@
"ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"GRADLE_OPTS": "-Dorg.gradle.daemon=false",
@@ -326,6 +429,8 @@
"ANDROID_USER_HOME": "[CLEANUP]/tmp_tmp_1/.android",
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"GRADLE_OPTS": "-Dorg.gradle.daemon=false",
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements.json b/recipes/flutter/flutter_drone.expected/no_requirements.json
index 512d4bf..611348f 100644
--- a/recipes/flutter/flutter_drone.expected/no_requirements.json
+++ b/recipes/flutter/flutter_drone.expected/no_requirements.json
@@ -202,6 +202,93 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -213,6 +300,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
@@ -255,6 +344,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
diff --git a/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json b/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
index d977005..3d87503 100644
--- a/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/no_requirements_reduced.json
@@ -202,6 +202,93 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -213,6 +300,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
@@ -255,6 +344,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
diff --git a/recipes/flutter/flutter_drone.expected/web_engine.json b/recipes/flutter/flutter_drone.expected/web_engine.json
index fdf7582..17bf6f5 100644
--- a/recipes/flutter/flutter_drone.expected/web_engine.json
+++ b/recipes/flutter/flutter_drone.expected/web_engine.json
@@ -374,6 +374,97 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -387,6 +478,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
@@ -432,6 +525,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
diff --git a/recipes/flutter/flutter_drone.expected/web_engine_reduced.json b/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
index c140f0c..f884786 100644
--- a/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/web_engine_reduced.json
@@ -374,6 +374,97 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CLEANUP]/builder/src/flutter/prebuilts/${platform}/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -387,6 +478,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
@@ -432,6 +525,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOCAL_WEB_SDK": "[CLEANUP]/builder/src/out",
diff --git a/recipes/flutter/flutter_drone.expected/xcode.json b/recipes/flutter/flutter_drone.expected/xcode.json
index 512d4bf..611348f 100644
--- a/recipes/flutter/flutter_drone.expected/xcode.json
+++ b/recipes/flutter/flutter_drone.expected/xcode.json
@@ -202,6 +202,93 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "False",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -213,6 +300,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
@@ -255,6 +344,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
diff --git a/recipes/flutter/flutter_drone.expected/xcode_reduced.json b/recipes/flutter/flutter_drone.expected/xcode_reduced.json
index d977005..3d87503 100644
--- a/recipes/flutter/flutter_drone.expected/xcode_reduced.json
+++ b/recipes/flutter/flutter_drone.expected/xcode_reduced.json
@@ -202,6 +202,93 @@
"name": "flutter doctor"
},
{
+ "cmd": [],
+ "name": "Initialize logs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0o777",
+ "[CLEANUP]/flutter_logs_dir"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Ensure [CLEANUP]/flutter_logs_dir",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "",
+ "[CLEANUP]/flutter_logs_dir/noop.txt"
+ ],
+ "cwd": "[START_DIR]/flutter",
+ "env": {
+ "ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "OS": "linux",
+ "PUB_CACHE": "[START_DIR]/.pub-cache",
+ "REDUCED_TEST_SET": "True",
+ "REVISION": "12345abcde12345abcde12345abcde12345abcde",
+ "SDK_CHECKOUT_PATH": "[START_DIR]/flutter",
+ "SHARD": null,
+ "SUBSHARD": null
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin",
+ "[START_DIR]/flutter/bin",
+ "[START_DIR]/flutter/bin/cache/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Initialize logs.Write noop file",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@"
+ ]
+ },
+ {
"cmd": [
"bash",
"RECIPE_MODULE[flutter::test_utils]/resources/runner.sh",
@@ -213,6 +300,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
@@ -255,6 +344,8 @@
"env": {
"ARTIFACT_HUB_REPOSITORY": "artifactregistry://us-maven.pkg.dev/artifact-foundry-prod/maven-3p",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "FLUTTER_LOGS_DIR": "[CLEANUP]/flutter_logs_dir",
+ "FLUTTER_TEST_OUTPUTS_DIR": "[CLEANUP]/flutter_logs_dir",
"GCP_PROJECT": "flutter-infra",
"GIT_BRANCH": "",
"LOGS_FILE": "[CLEANUP]/tmp_tmp_1",
diff --git a/recipes/flutter/flutter_drone.py b/recipes/flutter/flutter_drone.py
index e39c72d..cbc9221 100644
--- a/recipes/flutter/flutter_drone.py
+++ b/recipes/flutter/flutter_drone.py
@@ -46,6 +46,8 @@
'test_timeout_secs'
) or default_timeout_secs
env['GCP_PROJECT'] = 'flutter-infra'
+ api.logs_util.initialize_logs_collection(env)
+
with api.context(env=env, env_prefixes=env_prefixes):
api.test_utils.run_test(
'run test.dart for %s shard and subshard %s' %