Reland "Use archive APIs on the builder recipe."
This reverts commit cc911dcef1396a555226ccaf20eefed214f1c0b1.
Reason for revert: The archive module has been fixed to list only files.
Original change's description:
> Revert "Use archive APIs on the builder recipe."
>
> This reverts commit 76bde32798d089e4ab722a7e4ecd702c6afb8f6c.
>
> Reason for revert: glob expansion is returning directories and failing at the provenance generation step.
>
> Original change's description:
> > Use archive APIs on the builder recipe.
> >
> > This is to simplify the archiving process and to be able to pass one
> > file at the time for the provenance generation.
> >
> > Bug: https://github.com/flutter/flutter/issues/113193
> > Change-Id: I16394fa3fa3806887415963823946e21bff3c556
> > Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/35163
> > Reviewed-by: Yusuf Mohsinally <mohsinally@google.com>
> > Reviewed-by: Ricardo Amador <ricardoamador@google.com>
> > Commit-Queue: Godofredo Contreras <godofredoc@google.com>
>
> TBR=godofredoc@google.com,keyonghan@google.com,flutter-scoped@luci-project-accounts.iam.gserviceaccount.com,mohsinally@google.com,ricardoamador@google.com
>
> Change-Id: Iaa16d344bd093693ed344423c677955075034939
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: https://github.com/flutter/flutter/issues/113193
> Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/35180
> Commit-Queue: Godofredo Contreras <godofredoc@google.com>
> Reviewed-by: Godofredo Contreras <godofredoc@google.com>
# Not skipping CQ checks because this is a reland.
Bug: https://github.com/flutter/flutter/issues/113193
Change-Id: I4e58c6e177f327bdde6788069e45bcbb99b0f076
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/35182
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
Reviewed-by: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipes/engine_v2/builder.expected/basic.json b/recipes/engine_v2/builder.expected/basic.json
index dec167a..0b5f503 100644
--- a/recipes/engine_v2/builder.expected/basic.json
+++ b/recipes/engine_v2/builder.expected/basic.json
@@ -375,13 +375,9 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/obj"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -403,17 +399,13 @@
]
},
"infra_step": true,
- "name": "Remove out/host_debug_unopt/obj"
+ "name": "git rev-parse"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/stripped.exe"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -435,18 +427,13 @@
]
},
"infra_step": true,
- "name": "Remove out/host_debug_unopt/stripped.exe"
+ "name": "git rev-parse (2)"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -468,7 +455,7 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/"
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -480,7 +467,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -502,7 +489,112 @@
]
},
"infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "name": "Ensure flutter_infra_release/flutter/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_1/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Ensure flutter_infra_release/flutter/out/host_debug_unopt"
},
{
"cmd": [
@@ -513,7 +605,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -535,7 +627,45 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/file.zip"
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
},
{
"cmd": [
@@ -547,7 +677,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -569,7 +699,7 @@
]
},
"infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
+ "name": "Ensure out/host_debug_unopt"
},
{
"cmd": [
@@ -580,7 +710,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -602,20 +732,20 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/download.flutter.io"
+ "name": "Copy gs://flutter_archives_v2/out/host_debug_unopt/download.flutter.io"
},
{
"cmd": [
- "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
- "archive",
- "-cas-instance",
- "projects/example-cas-server/instances/default_instance",
- "-dump-digest",
- "/path/to/tmp/",
- "-log-level",
- "debug",
- "-paths",
- "[CLEANUP]/host_debug_unopt_tmp_1:."
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -637,16 +767,16 @@
]
},
"infra_step": true,
- "name": "Archive host_debug_unopt",
+ "name": "gsutil out/host_debug_unopt/download.flutter.io",
"~followup_annotations": [
- "@@@STEP_LINK@CAS UI@https://cas-viewer.appspot.com/projects/example-cas-server/instances/default_instance/blobs/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0/tree@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.expected/basic_custom_vars.json b/recipes/engine_v2/builder.expected/basic_custom_vars.json
index 74a14fa..d33b993 100644
--- a/recipes/engine_v2/builder.expected/basic_custom_vars.json
+++ b/recipes/engine_v2/builder.expected/basic_custom_vars.json
@@ -679,13 +679,9 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/obj"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -707,17 +703,13 @@
]
},
"infra_step": true,
- "name": "Remove out/host_debug_unopt/obj"
+ "name": "git rev-parse"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/stripped.exe"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -739,18 +731,13 @@
]
},
"infra_step": true,
- "name": "Remove out/host_debug_unopt/stripped.exe"
+ "name": "git rev-parse (2)"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -772,7 +759,7 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/"
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -784,7 +771,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -806,7 +793,112 @@
]
},
"infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "name": "Ensure flutter_infra_release/flutter/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_1/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Ensure flutter_infra_release/flutter/out/host_debug_unopt"
},
{
"cmd": [
@@ -817,7 +909,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -839,7 +931,45 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/file.zip"
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
},
{
"cmd": [
@@ -851,7 +981,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -873,7 +1003,7 @@
]
},
"infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
+ "name": "Ensure out/host_debug_unopt"
},
{
"cmd": [
@@ -884,7 +1014,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -906,20 +1036,20 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/download.flutter.io"
+ "name": "Copy gs://flutter_archives_v2/out/host_debug_unopt/download.flutter.io"
},
{
"cmd": [
- "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
- "archive",
- "-cas-instance",
- "projects/example-cas-server/instances/default_instance",
- "-dump-digest",
- "/path/to/tmp/",
- "-log-level",
- "debug",
- "-paths",
- "[CLEANUP]/host_debug_unopt_tmp_1:."
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -941,16 +1071,16 @@
]
},
"infra_step": true,
- "name": "Archive host_debug_unopt",
+ "name": "gsutil out/host_debug_unopt/download.flutter.io",
"~followup_annotations": [
- "@@@STEP_LINK@CAS UI@https://cas-viewer.appspot.com/projects/example-cas-server/instances/default_instance/blobs/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0/tree@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.expected/basic_gcs.json b/recipes/engine_v2/builder.expected/basic_gcs.json
index d6e751a..8888c83 100644
--- a/recipes/engine_v2/builder.expected/basic_gcs.json
+++ b/recipes/engine_v2/builder.expected/basic_gcs.json
@@ -375,237 +375,6 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/obj"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Remove out/host_debug_unopt/obj"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/stripped.exe"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Remove out/host_debug_unopt/stripped.exe"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Copy out/host_debug_unopt/"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CACHE]/builder/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Copy out/host_debug_unopt/file.zip"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
- ],
- "cwd": "[CACHE]/builder/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": ""
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "name": "Copy out/host_debug_unopt/download.flutter.io"
- },
- {
- "cmd": [
"git",
"rev-parse",
"HEAD"
@@ -634,16 +403,9 @@
},
{
"cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
- "--",
- "RECIPE_REPO[depot_tools]/gsutil.py",
- "----",
- "cp",
- "-r",
- "[CLEANUP]/host_debug_unopt_tmp_1/*",
- "gs://flutter_archives_v2/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -665,10 +427,35 @@
]
},
"infra_step": true,
- "name": "gsutil host_debug_unopt",
- "~followup_annotations": [
- "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/@@@"
- ]
+ "name": "git rev-parse (2)"
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -677,9 +464,10 @@
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
- "glob",
- "[CLEANUP]/host_debug_unopt_tmp_1",
- "*"
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -701,11 +489,40 @@
]
},
"infra_step": true,
- "name": "Generate provenance",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@glob@[CLEANUP]/host_debug_unopt_tmp_1/file.txt@@@",
- "@@@STEP_LOG_END@glob@@@"
- ]
+ "name": "Ensure flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out/host_debug_unopt"
},
{
"cmd": [
@@ -717,7 +534,7 @@
"----",
"cp",
"-r",
- "[CLEANUP]/host_debug_unopt_tmp_1/download.flutter.io/",
+ "[CLEANUP]/tmp_tmp_1/*",
"gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/src/flutter",
@@ -740,7 +557,7 @@
]
},
"infra_step": true,
- "name": "gsutil host_debug_unopt (2)",
+ "name": "gsutil flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out/host_debug_unopt",
"~followup_annotations": [
"@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
@@ -752,9 +569,10 @@
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
- "glob",
- "[CLEANUP]/host_debug_unopt_tmp_1",
- "download.flutter.io/*"
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -776,17 +594,189 @@
]
},
"infra_step": true,
- "name": "Generate provenance (2)",
+ "name": "Ensure flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt/file.zip",
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
"~followup_annotations": [
- "@@@STEP_LOG_LINE@glob@[CLEANUP]/host_debug_unopt_tmp_1/file.txt@@@",
- "@@@STEP_LOG_END@glob@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Ensure out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io",
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Copy gs://flutter_archives_v2/out/host_debug_unopt/download.flutter.io"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil out/host_debug_unopt/download.flutter.io",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"gs://flutter_archives_v2/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde//host_debug_unopt_tmp_1\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.expected/dart-internal-flutter.json b/recipes/engine_v2/builder.expected/dart-internal-flutter.json
index baf717b..e319896 100644
--- a/recipes/engine_v2/builder.expected/dart-internal-flutter.json
+++ b/recipes/engine_v2/builder.expected/dart-internal-flutter.json
@@ -693,13 +693,9 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/obj"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -733,17 +729,13 @@
"hostname": "rdbhost"
}
},
- "name": "Remove out/host_debug_unopt/obj"
+ "name": "git rev-parse"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/stripped.exe"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -777,18 +769,13 @@
"hostname": "rdbhost"
}
},
- "name": "Remove out/host_debug_unopt/stripped.exe"
+ "name": "git rev-parse (2)"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -822,7 +809,7 @@
"hostname": "rdbhost"
}
},
- "name": "Copy out/host_debug_unopt/"
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -834,7 +821,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -868,7 +855,237 @@
"hostname": "rdbhost"
}
},
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "name": "Ensure flutter_infra_release/flutter/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_1/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "file_hash",
+ "[CACHE]/builder/src/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Compute file hash",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@Hash calculated: bec717bf6cd9f8126d10782e5ed69f4de69245f5d0b19b81df21e7e55e4dd9d4@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/reporter/snoopy_broker",
+ "-report-gcs",
+ "-digest",
+ "bec717bf6cd9f8126d10782e5ed69f4de69245f5d0b19b81df21e7e55e4dd9d4",
+ "-gcs-uri",
+ "gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "snoop: report_gcs"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Ensure flutter_infra_release/flutter/out/host_debug_unopt"
},
{
"cmd": [
@@ -879,7 +1096,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -913,7 +1130,146 @@
"hostname": "rdbhost"
}
},
- "name": "Copy out/host_debug_unopt/file.zip"
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "file_hash",
+ "[CACHE]/builder/src/out/host_debug_unopt/file.zip"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Compute file hash (2)",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@Hash calculated: 9779c0ee68c3a22baf1da9b44f5f3505e2833e3c5b5e5d317bfb5be9c924dc8e@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/reporter/snoopy_broker",
+ "-report-gcs",
+ "-digest",
+ "9779c0ee68c3a22baf1da9b44f5f3505e2833e3c5b5e5d317bfb5be9c924dc8e",
+ "-gcs-uri",
+ "gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "snoop: report_gcs (2)"
},
{
"cmd": [
@@ -925,7 +1281,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -959,7 +1315,7 @@
"hostname": "rdbhost"
}
},
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
+ "name": "Ensure out/host_debug_unopt"
},
{
"cmd": [
@@ -970,7 +1326,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -1004,20 +1360,20 @@
"hostname": "rdbhost"
}
},
- "name": "Copy out/host_debug_unopt/download.flutter.io"
+ "name": "Copy gs://flutter_archives_v2/out/host_debug_unopt/download.flutter.io"
},
{
"cmd": [
- "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
- "archive",
- "-cas-instance",
- "projects/example-cas-server/instances/default_instance",
- "-dump-digest",
- "/path/to/tmp/",
- "-log-level",
- "debug",
- "-paths",
- "[CLEANUP]/host_debug_unopt_tmp_1:."
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -1051,13 +1407,102 @@
"hostname": "rdbhost"
}
},
- "name": "Archive host_debug_unopt",
+ "name": "gsutil out/host_debug_unopt/download.flutter.io",
"~followup_annotations": [
- "@@@STEP_LINK@CAS UI@https://cas-viewer.appspot.com/projects/example-cas-server/instances/default_instance/blobs/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0/tree@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
"cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "file_hash",
+ "[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Compute file hash (3)",
+ "~followup_annotations": [
+ "@@@STEP_TEXT@Hash calculated: b44a4873962783d418872d9324aadf52fbd7aa206534b7158ea61c3cdc8cfea2@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "[START_DIR]/reporter/snoopy_broker",
+ "-report-gcs",
+ "-digest",
+ "b44a4873962783d418872d9324aadf52fbd7aa206534b7158ea61c3cdc8cfea2",
+ "-gcs-uri",
+ "gs://flutter_archives_v2/out/host_debug_unopt/download.flutter.io"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "luci_context": {
+ "realm": {
+ "name": "dart-internal:flutter"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "snoop: report_gcs (3)"
+ },
+ {
+ "cmd": [
"[START_DIR]/reporter/snoopy_broker",
"-report-stage",
"-stage",
@@ -1100,7 +1545,7 @@
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.expected/mac.json b/recipes/engine_v2/builder.expected/mac.json
index cac50d5..5d141f4 100644
--- a/recipes/engine_v2/builder.expected/mac.json
+++ b/recipes/engine_v2/builder.expected/mac.json
@@ -449,13 +449,9 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/obj"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -477,17 +473,13 @@
]
},
"infra_step": true,
- "name": "Remove out/host_debug_unopt/obj"
+ "name": "git rev-parse"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/src/out/host_debug_unopt/stripped.exe"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -509,18 +501,13 @@
]
},
"infra_step": true,
- "name": "Remove out/host_debug_unopt/stripped.exe"
+ "name": "git rev-parse (2)"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
+ "git",
+ "rev-parse",
+ "HEAD"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -542,7 +529,7 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/"
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -554,7 +541,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -576,7 +563,112 @@
]
},
"infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "name": "Ensure flutter_infra_release/flutter/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/flutter_infra_release/flutter/out"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "darwin",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_1/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "darwin",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "darwin",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "Ensure flutter_infra_release/flutter/out/host_debug_unopt"
},
{
"cmd": [
@@ -587,7 +679,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
+ "[CLEANUP]/tmp_tmp_2/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -609,7 +701,45 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/file.zip"
+ "name": "Copy gs://flutter_archives_v2/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "darwin",
+ "REVISION": ""
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "name": "gsutil flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
},
{
"cmd": [
@@ -621,7 +751,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -643,7 +773,7 @@
]
},
"infra_step": true,
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
+ "name": "Ensure out/host_debug_unopt"
},
{
"cmd": [
@@ -654,7 +784,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
+ "[CLEANUP]/tmp_tmp_3/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -676,20 +806,20 @@
]
},
"infra_step": true,
- "name": "Copy out/host_debug_unopt/download.flutter.io"
+ "name": "Copy gs://flutter_archives_v2/out/host_debug_unopt/download.flutter.io"
},
{
"cmd": [
- "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
- "archive",
- "-cas-instance",
- "projects/example-cas-server/instances/default_instance",
- "-dump-digest",
- "/path/to/tmp/",
- "-log-level",
- "debug",
- "-paths",
- "[CLEANUP]/host_debug_unopt_tmp_1:."
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/src/flutter",
"env": {
@@ -711,9 +841,9 @@
]
},
"infra_step": true,
- "name": "Archive host_debug_unopt",
+ "name": "gsutil out/host_debug_unopt/download.flutter.io",
"~followup_annotations": [
- "@@@STEP_LINK@CAS UI@https://cas-viewer.appspot.com/projects/example-cas-server/instances/default_instance/blobs/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0/tree@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
@@ -729,7 +859,7 @@
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.expected/monorepo.json b/recipes/engine_v2/builder.expected/monorepo.json
index f1f8664..b4fe57b 100644
--- a/recipes/engine_v2/builder.expected/monorepo.json
+++ b/recipes/engine_v2/builder.expected/monorepo.json
@@ -602,15 +602,11 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/engine/src/out/host_debug_unopt/obj"
+ "git",
+ "rev-parse",
+ "HEAD"
],
- "cwd": "[CACHE]/builder/engine/src/flutter",
+ "cwd": "[CACHE]/builder/engine/src/../../monorepo",
"env": {
"ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
@@ -642,19 +638,15 @@
"hostname": "rdbhost"
}
},
- "name": "Remove out/host_debug_unopt/obj"
+ "name": "git rev-parse"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/engine/src/out/host_debug_unopt/stripped.exe"
+ "git",
+ "rev-parse",
+ "HEAD"
],
- "cwd": "[CACHE]/builder/engine/src/flutter",
+ "cwd": "[CACHE]/builder/engine/src/../../monorepo",
"env": {
"ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
@@ -686,20 +678,15 @@
"hostname": "rdbhost"
}
},
- "name": "Remove out/host_debug_unopt/stripped.exe"
+ "name": "git rev-parse (2)"
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/engine/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
+ "git",
+ "rev-parse",
+ "HEAD"
],
- "cwd": "[CACHE]/builder/engine/src/flutter",
+ "cwd": "[CACHE]/builder/engine/src/../../monorepo",
"env": {
"ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
@@ -731,7 +718,7 @@
"hostname": "rdbhost"
}
},
- "name": "Copy out/host_debug_unopt/"
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -743,7 +730,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_1/monorepo/flutter_infra_release/flutter/out"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -777,7 +764,148 @@
"hostname": "rdbhost"
}
},
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "name": "Ensure monorepo/flutter_infra_release/flutter/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/engine/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/monorepo/flutter_infra_release/flutter/out"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Copy gs://flutter_archives_v2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_1/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "gsutil monorepo/flutter_infra_release/flutter/out/host_debug_unopt",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Ensure monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
},
{
"cmd": [
@@ -788,7 +916,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/engine/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
+ "[CLEANUP]/tmp_tmp_2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -822,7 +950,57 @@
"hostname": "rdbhost"
}
},
- "name": "Copy out/host_debug_unopt/file.zip"
+ "name": "Copy gs://flutter_archives_v2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "gsutil monorepo/flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
},
{
"cmd": [
@@ -834,7 +1012,7 @@
"ensure-directory",
"--mode",
"0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
+ "[CLEANUP]/tmp_tmp_3/monorepo/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -868,7 +1046,7 @@
"hostname": "rdbhost"
}
},
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
+ "name": "Ensure monorepo/out/host_debug_unopt"
},
{
"cmd": [
@@ -879,7 +1057,7 @@
"/path/to/tmp/json",
"copy",
"[CACHE]/builder/engine/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
+ "[CLEANUP]/tmp_tmp_3/monorepo/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -913,20 +1091,20 @@
"hostname": "rdbhost"
}
},
- "name": "Copy out/host_debug_unopt/download.flutter.io"
+ "name": "Copy gs://flutter_archives_v2/monorepo/out/host_debug_unopt/download.flutter.io"
},
{
"cmd": [
- "[START_DIR]/cipd_tool/infra/tools/luci/cas/git_revision%3Amock_infra_git_revision/cas",
- "archive",
- "-cas-instance",
- "projects/example-cas-server/instances/default_instance",
- "-dump-digest",
- "/path/to/tmp/",
- "-log-level",
- "debug",
- "-paths",
- "[CLEANUP]/host_debug_unopt_tmp_1:."
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -960,16 +1138,16 @@
"hostname": "rdbhost"
}
},
- "name": "Archive host_debug_unopt",
+ "name": "gsutil monorepo/out/host_debug_unopt/download.flutter.io",
"~followup_annotations": [
- "@@@STEP_LINK@CAS UI@https://cas-viewer.appspot.com/projects/example-cas-server/instances/default_instance/blobs/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0/tree@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.expected/monorepo_gcs.json b/recipes/engine_v2/builder.expected/monorepo_gcs.json
index 4bc7e63..881f4fb 100644
--- a/recipes/engine_v2/builder.expected/monorepo_gcs.json
+++ b/recipes/engine_v2/builder.expected/monorepo_gcs.json
@@ -602,321 +602,6 @@
},
{
"cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/engine/src/out/host_debug_unopt/obj"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Remove out/host_debug_unopt/obj"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "rmtree",
- "[CACHE]/builder/engine/src/out/host_debug_unopt/stripped.exe"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Remove out/host_debug_unopt/stripped.exe"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copytree",
- "[CACHE]/builder/engine/src/out/host_debug_unopt",
- "[CLEANUP]/host_debug_unopt_tmp_1/host_debug_unopt"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Copy out/host_debug_unopt/"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CACHE]/builder/engine/src/out/host_debug_unopt/file.zip",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/file.zip"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Copy out/host_debug_unopt/file.zip"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "ensure-directory",
- "--mode",
- "0777",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Ensuring [CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt (2)"
- },
- {
- "cmd": [
- "vpython3",
- "-u",
- "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
- "--json-output",
- "/path/to/tmp/json",
- "copy",
- "[CACHE]/builder/engine/src/out/host_debug_unopt/download.flutter.io",
- "[CLEANUP]/host_debug_unopt_tmp_1/out/host_debug_unopt/download.flutter.io"
- ],
- "cwd": "[CACHE]/builder/engine/src/flutter",
- "env": {
- "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
- "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
- "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
- "ENGINE_PATH": "[CACHE]/builder",
- "GIT_BRANCH": "",
- "LUCI_BRANCH": "",
- "LUCI_CI": "True",
- "LUCI_PR": "",
- "LUCI_WORKDIR": "[START_DIR]",
- "OS": "linux",
- "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
- },
- "env_prefixes": {
- "PATH": [
- "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
- ]
- },
- "infra_step": true,
- "luci_context": {
- "realm": {
- "name": "dart:ci.sandbox"
- },
- "resultdb": {
- "current_invocation": {
- "name": "invocations/build:8945511751514863184",
- "update_token": "token"
- },
- "hostname": "rdbhost"
- }
- },
- "name": "Copy out/host_debug_unopt/download.flutter.io"
- },
- {
- "cmd": [
"git",
"rev-parse",
"HEAD"
@@ -957,18 +642,11 @@
},
{
"cmd": [
- "python3",
- "-u",
- "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
- "--",
- "RECIPE_REPO[depot_tools]/gsutil.py",
- "----",
- "cp",
- "-r",
- "[CLEANUP]/host_debug_unopt_tmp_1/*",
- "gs://flutter_archives_v2/monorepo/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/"
+ "git",
+ "rev-parse",
+ "HEAD"
],
- "cwd": "[CACHE]/builder/engine/src/flutter",
+ "cwd": "[CACHE]/builder/engine/src/../../monorepo",
"env": {
"ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
"DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
@@ -1000,10 +678,47 @@
"hostname": "rdbhost"
}
},
- "name": "gsutil host_debug_unopt",
- "~followup_annotations": [
- "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/monorepo/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde/@@@"
- ]
+ "name": "git rev-parse (2)"
+ },
+ {
+ "cmd": [
+ "git",
+ "rev-parse",
+ "HEAD"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/../../monorepo",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "git rev-parse (3)"
},
{
"cmd": [
@@ -1012,9 +727,10 @@
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
- "glob",
- "[CLEANUP]/host_debug_unopt_tmp_1",
- "*"
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_1/monorepo/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -1048,11 +764,52 @@
"hostname": "rdbhost"
}
},
- "name": "Generate provenance",
- "~followup_annotations": [
- "@@@STEP_LOG_LINE@glob@[CLEANUP]/host_debug_unopt_tmp_1/file.txt@@@",
- "@@@STEP_LOG_END@glob@@@"
- ]
+ "name": "Ensure monorepo/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/engine/src/out/host_debug_unopt",
+ "[CLEANUP]/tmp_tmp_1/monorepo/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Copy gs://flutter_archives_v2/monorepo/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out/host_debug_unopt"
},
{
"cmd": [
@@ -1064,8 +821,8 @@
"----",
"cp",
"-r",
- "[CLEANUP]/host_debug_unopt_tmp_1/download.flutter.io/",
- "gs://flutter_archives_v2/monorepo/"
+ "[CLEANUP]/tmp_tmp_1/*",
+ "gs://flutter_archives_v2/"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -1099,9 +856,9 @@
"hostname": "rdbhost"
}
},
- "name": "gsutil host_debug_unopt (2)",
+ "name": "gsutil monorepo/flutter_infra_release/flutter12345abcde12345abcde12345abcde12345abcde/out/host_debug_unopt",
"~followup_annotations": [
- "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/monorepo/@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
@@ -1111,9 +868,10 @@
"RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
"--json-output",
"/path/to/tmp/json",
- "glob",
- "[CLEANUP]/host_debug_unopt_tmp_1",
- "download.flutter.io/*"
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
],
"cwd": "[CACHE]/builder/engine/src/flutter",
"env": {
@@ -1147,17 +905,249 @@
"hostname": "rdbhost"
}
},
- "name": "Generate provenance (2)",
+ "name": "Ensure monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/engine/src/out/host_debug_unopt/file.zip",
+ "[CLEANUP]/tmp_tmp_2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Copy gs://flutter_archives_v2/monorepo/flutter_infra_release/flutter/out/host_debug_unopt/file.zip"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_2/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "gsutil monorepo/flutter_infra_release/flutter/out/host_debug_unopt/file.zip",
"~followup_annotations": [
- "@@@STEP_LOG_LINE@glob@[CLEANUP]/host_debug_unopt_tmp_1/file.txt@@@",
- "@@@STEP_LOG_END@glob@@@"
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
+ ]
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "ensure-directory",
+ "--mode",
+ "0777",
+ "[CLEANUP]/tmp_tmp_3/monorepo/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Ensure monorepo/out/host_debug_unopt"
+ },
+ {
+ "cmd": [
+ "vpython3",
+ "-u",
+ "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
+ "--json-output",
+ "/path/to/tmp/json",
+ "copy",
+ "[CACHE]/builder/engine/src/out/host_debug_unopt/download.flutter.io",
+ "[CLEANUP]/tmp_tmp_3/monorepo/out/host_debug_unopt"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "Copy gs://flutter_archives_v2/monorepo/out/host_debug_unopt/download.flutter.io"
+ },
+ {
+ "cmd": [
+ "python3",
+ "-u",
+ "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
+ "--",
+ "RECIPE_REPO[depot_tools]/gsutil.py",
+ "----",
+ "cp",
+ "-r",
+ "[CLEANUP]/tmp_tmp_3/*",
+ "gs://flutter_archives_v2/"
+ ],
+ "cwd": "[CACHE]/builder/engine/src/flutter",
+ "env": {
+ "ANDROID_HOME": "[CACHE]/builder/src/third_party/android_tools/sdk",
+ "DEPOT_TOOLS": "RECIPE_REPO[depot_tools]",
+ "ENGINE_CHECKOUT_PATH": "[CACHE]/builder",
+ "ENGINE_PATH": "[CACHE]/builder",
+ "GIT_BRANCH": "",
+ "LUCI_BRANCH": "",
+ "LUCI_CI": "True",
+ "LUCI_PR": "",
+ "LUCI_WORKDIR": "[START_DIR]",
+ "OS": "linux",
+ "REVISION": "2d72510e447ab60a9728aeea2362d8be2cbd7789"
+ },
+ "env_prefixes": {
+ "PATH": [
+ "[CACHE]/builder/src/third_party/dart/tools/sdks/dart-sdk/bin"
+ ]
+ },
+ "infra_step": true,
+ "luci_context": {
+ "realm": {
+ "name": "dart:ci.sandbox"
+ },
+ "resultdb": {
+ "current_invocation": {
+ "name": "invocations/build:8945511751514863184",
+ "update_token": "token"
+ },
+ "hostname": "rdbhost"
+ }
+ },
+ "name": "gsutil monorepo/out/host_debug_unopt/download.flutter.io",
+ "~followup_annotations": [
+ "@@@STEP_LINK@gsutil.upload@https://console.cloud.google.com/storage/browser/flutter_archives_v2/@@@"
]
},
{
"cmd": [],
"name": "Set output properties",
"~followup_annotations": [
- "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": \"gs://flutter_archives_v2/monorepo/flutter_infra_release/flutter/12345abcde12345abcde12345abcde12345abcde//host_debug_unopt_tmp_1\"}@@@"
+ "@@@SET_BUILD_PROPERTY@cas_output_hash@{\"full_build\": \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855/0\", \"host_debug_unopt\": null}@@@"
]
},
{
diff --git a/recipes/engine_v2/builder.py b/recipes/engine_v2/builder.py
index 6fa16c3..2c37728 100644
--- a/recipes/engine_v2/builder.py
+++ b/recipes/engine_v2/builder.py
@@ -36,6 +36,7 @@
DEPS = [
'depot_tools/gsutil',
+ 'flutter/archives',
'flutter/flutter_bcid',
'flutter/build_util',
'flutter/flutter_deps',
@@ -132,75 +133,13 @@
def Archive(api, checkout, archive_config):
- archive_dir = api.path.mkdtemp(archive_config['name'])
- # First remove paths from excluding list.
- for exclude_path in archive_config.get('exclude_paths', []):
- full_exclude_path = api.path.abspath(checkout.join(exclude_path))
- api.file.rmtree('Remove %s' % exclude_path, full_exclude_path)
- # Mock a directory path to make tests pass.
- api.path.mock_add_directory(api.path.abspath(checkout.join('out/host_debug_unopt/')))
- api.path.mock_add_file(api.path.abspath(checkout.join('out/host_debug_unopt/file.zip')))
-
- # Android artifacts are uploaded to a different bucket. If they exist we need a second
- # gsutil upload.
- upload_android_artifacts = False
- for include_path in archive_config.get('include_paths', []):
- full_include_path = api.path.abspath(checkout.join(include_path))
- if include_path.endswith(ANDROID_ARTIFACTS_BUCKET):
- upload_android_artifacts = True
- if api.path.isdir(full_include_path):
- dir_name = api.path.basename(full_include_path)
- api.file.copytree('Copy %s' % include_path, full_include_path, archive_dir.join(dir_name))
- else:
- dir_name = api.path.dirname(full_include_path)
- full_base_path = api.path.abspath(checkout.join(archive_config.get('base_path','')))
- rel_path = api.path.relpath(dir_name, full_base_path)
- rel_path = '' if rel_path == '.' else rel_path
- base_name = api.path.basename(full_include_path)
- api.file.ensure_directory('Ensuring %s' % archive_dir.join(rel_path), archive_dir.join(rel_path))
- api.file.copy('Copy %s' % include_path, full_include_path, archive_dir.join(rel_path, base_name))
- if archive_config.get('type') == 'gcs' and archive_config.get('include_paths', []):
- bucket = 'flutter_archives_v2'
- if api.buildbucket.gitiles_commit.project == 'monorepo':
- commit = api.repo_util.get_commit(checkout.join('../../monorepo'))
- artifact_prefix = 'monorepo/'
- else:
- commit = api.repo_util.get_commit(checkout.join('flutter'))
- artifact_prefix = ''
- artifact_path = '%sflutter_infra_release/flutter/%s/' % (artifact_prefix,
- commit)
- api.gsutil.upload(
- source='%s/*' % archive_dir,
- bucket=bucket,
- dest=artifact_path,
- args=['-r'],
- name=archive_config['name'],
- )
- for local_filepath in api.file.glob_paths('Generate provenance', archive_dir, '*', test_data=('file.txt',)):
- remote_filepath = 'gs://%s/%s/%s' % (bucket, artifact_path, api.path.basename(str(local_filepath)))
- api.flutter_bcid.upload_provenance(local_filepath, remote_filepath)
- # Jar and pom files are uploaded to download.flutter.io while all the other artifacts
- # are uploaded to flutter_infra_release. If we override paths artifacts need to be organized
- # as gs://<overriden_bucket>/flutter_infra_release for non android artifacts and
- # gs://<overriden_bucket>/download.flutter.io for android artifacts.
- if upload_android_artifacts:
- android_artifact_path = artifact_prefix
- api.gsutil.upload(
- source='%s/%s/' % (archive_dir, ANDROID_ARTIFACTS_BUCKET),
- bucket=bucket,
- dest=android_artifact_path,
- args=['-r'],
- name=archive_config['name'],
+ paths = api.archives.engine_v2_gcs_paths(checkout, archive_config)
+ for path in paths:
+ api.archives.upload_artifact(path.local, path.remote)
+ api.flutter_bcid.upload_provenance(
+ path.local,
+ path.remote
)
- for local_filepath in api.file.glob_paths('Generate provenance', archive_dir,
- 'download.flutter.io/*', test_data=('file.txt',)):
- remote_filepath = 'gs://%s/%s/%s' % (bucket, artifact_path,
- api.path.basename(str(local_filepath)))
- api.flutter_bcid.upload_provenance(local_filepath, remote_filepath)
- return 'gs://%s/%s/%s' % ( bucket, artifact_path, api.path.basename(archive_dir))
- # Archive using CAS by default
- return api.cas_util.upload(archive_dir, step_name='Archive %s' % archive_config['name'])
-
def RunSteps(api, properties, env_properties):
api.flutter_bcid.report_stage('start')