Start using xcode static paths for devicelab tests.
This is to avoid spending 10+ mins downloading and installing xcode on
tasks that run for <5 mins. This also prevents the exit code -9 when
installing/removing xcode.
Change-Id: Ifb40345421f86498d4d05e1c8c665d7743c70802
Bug: https://github.com/flutter/flutter/issues/68322
Reviewed-on: https://flutter-review.googlesource.com/c/recipes/+/10620
Reviewed-by: Casey Hillers <chillers@google.com>
Commit-Queue: Godofredo Contreras <godofredoc@google.com>
diff --git a/recipes/devicelab/devicelab_drone.expected/basic.json b/recipes/devicelab/devicelab_drone.expected/basic.json
index afcf108..a0e1a60 100644
--- a/recipes/devicelab/devicelab_drone.expected/basic.json
+++ b/recipes/devicelab/devicelab_drone.expected/basic.json
@@ -160,9 +160,42 @@
]
},
{
+ "cmd": [],
+ "name": "Dependencies"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "-ensure-file",
+ "infra/tools/luci/vpython/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "name": "Dependencies.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/vpython/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
"cmd": [
"flutter",
- "update-packages"
+ "doctor"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -178,10 +211,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter update-packages"
+ "name": "flutter doctor"
},
{
"cmd": [
@@ -202,7 +236,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "pub get"
@@ -228,11 +263,13 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter doctor"
+ "name": "flutter doctor (2)"
},
{
"cmd": [
@@ -241,7 +278,7 @@
"-t",
"abc",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--luci-builder",
"Linux abc",
"--git-branch",
@@ -262,8 +299,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "run abc"
@@ -301,8 +340,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -338,8 +379,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -383,8 +426,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -419,8 +464,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill chrome",
@@ -448,8 +495,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill dart",
@@ -477,8 +526,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill flutter",
@@ -506,8 +557,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill java",
@@ -535,8 +588,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill adb",
@@ -568,8 +623,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "OS info (2)"
diff --git a/recipes/devicelab/devicelab_drone.expected/no-task-name.json b/recipes/devicelab/devicelab_drone.expected/no-task-name.json
index 52e8c83..a14f2b8 100644
--- a/recipes/devicelab/devicelab_drone.expected/no-task-name.json
+++ b/recipes/devicelab/devicelab_drone.expected/no-task-name.json
@@ -18,7 +18,7 @@
"The recipe has crashed at point 'Uncaught exception'!",
"",
"Traceback (most recent call last):",
- " File \"RECIPE_REPO[flutter]/recipes/devicelab/devicelab_drone.py\", line 32, in RunSteps",
+ " File \"RECIPE_REPO[flutter]/recipes/devicelab/devicelab_drone.py\", line 33, in RunSteps",
" raise ValueError('A task_name property is required')",
"ValueError: A task_name property is required"
]
diff --git a/recipes/devicelab/devicelab_drone.expected/post-submit.json b/recipes/devicelab/devicelab_drone.expected/post-submit.json
index 0281e68..62bb078 100644
--- a/recipes/devicelab/devicelab_drone.expected/post-submit.json
+++ b/recipes/devicelab/devicelab_drone.expected/post-submit.json
@@ -161,9 +161,42 @@
]
},
{
+ "cmd": [],
+ "name": "Dependencies"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "-ensure-file",
+ "infra/tools/luci/vpython/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "name": "Dependencies.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/vpython/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
"cmd": [
"flutter",
- "update-packages"
+ "doctor"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -179,10 +212,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter update-packages"
+ "name": "flutter doctor"
},
{
"cmd": [
@@ -203,7 +237,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "pub get"
@@ -229,11 +264,13 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter doctor"
+ "name": "flutter doctor (2)"
},
{
"cmd": [
@@ -242,7 +279,7 @@
"-t",
"abc",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--luci-builder",
"Linux abc"
],
@@ -261,8 +298,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "run abc"
@@ -300,8 +339,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -337,8 +378,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -382,8 +425,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -418,8 +463,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill chrome",
@@ -447,8 +494,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill dart",
@@ -476,8 +525,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill flutter",
@@ -505,8 +556,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill java",
@@ -534,8 +587,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill adb",
@@ -567,8 +622,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "OS info (2)"
@@ -598,7 +655,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -616,7 +674,7 @@
"/path/to/tmp/json",
"copy",
"extra.secret.token.should.not.be.logged",
- "[CLEANUP]/tmp_tmp_3"
+ "[CLEANUP]/tmp_tmp_4"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -632,7 +690,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -647,9 +706,9 @@
"bin/test_runner.dart",
"upload-metrics",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--service-account-token-file",
- "[CLEANUP]/tmp_tmp_3"
+ "[CLEANUP]/tmp_tmp_4"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -665,7 +724,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Upload metrics.upload metrics",
diff --git a/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json b/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
index 718c28d..efa2a02 100644
--- a/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
+++ b/recipes/devicelab/devicelab_drone.expected/upload-metrics-mac.json
@@ -161,9 +161,42 @@
]
},
{
+ "cmd": [],
+ "name": "Dependencies"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "-ensure-file",
+ "infra/tools/luci/vpython/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "name": "Dependencies.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/vpython/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
"cmd": [
"flutter",
- "update-packages"
+ "doctor"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -179,10 +212,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter update-packages"
+ "name": "flutter doctor"
},
{
"cmd": [
@@ -203,7 +237,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "pub get"
@@ -228,10 +263,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter doctor"
+ "name": "flutter doctor (2)"
},
{
"cmd": [
@@ -254,8 +290,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Set execute permission"
@@ -266,7 +304,7 @@
"-t",
"abc",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--luci-builder",
"Mac abc"
],
@@ -285,8 +323,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "run abc"
@@ -324,8 +364,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -361,8 +403,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -406,8 +450,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -442,8 +488,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill chrome",
@@ -471,8 +519,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill dart",
@@ -500,8 +550,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill flutter",
@@ -529,8 +581,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill java",
@@ -558,8 +612,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill adb",
@@ -591,8 +647,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "OS info (2)"
@@ -622,7 +680,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -640,7 +699,7 @@
"/path/to/tmp/json",
"copy",
"extra.secret.token.should.not.be.logged",
- "[CLEANUP]/tmp_tmp_3"
+ "[CLEANUP]/tmp_tmp_4"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -656,7 +715,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -671,9 +731,9 @@
"bin/test_runner.dart",
"upload-metrics",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--service-account-token-file",
- "[CLEANUP]/tmp_tmp_3"
+ "[CLEANUP]/tmp_tmp_4"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -689,7 +749,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Upload metrics.upload metrics",
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json b/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
index ce37a31..c8a97a0 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-chromium-mac.json
@@ -161,9 +161,42 @@
]
},
{
+ "cmd": [],
+ "name": "Dependencies"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "-ensure-file",
+ "infra/tools/luci/vpython/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "name": "Dependencies.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/vpython/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
"cmd": [
"flutter",
- "update-packages"
+ "doctor"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -179,10 +212,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter update-packages"
+ "name": "flutter doctor"
},
{
"cmd": [
@@ -203,7 +237,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "pub get"
@@ -228,10 +263,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter doctor"
+ "name": "flutter doctor (2)"
},
{
"cmd": [
@@ -254,8 +290,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Set execute permission"
@@ -266,7 +304,7 @@
"-t",
"abc",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--luci-builder",
"Mac abc"
],
@@ -285,8 +323,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "run abc"
@@ -324,8 +364,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -361,8 +403,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -406,8 +450,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -442,8 +488,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill chrome",
@@ -471,8 +519,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill dart",
@@ -500,8 +550,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill flutter",
@@ -529,8 +581,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill java",
@@ -558,8 +612,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill adb",
@@ -591,8 +647,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "OS info (2)"
diff --git a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
index ce37a31..c8a97a0 100644
--- a/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
+++ b/recipes/devicelab/devicelab_drone.expected/xcode-devicelab.json
@@ -161,9 +161,42 @@
]
},
{
+ "cmd": [],
+ "name": "Dependencies"
+ },
+ {
+ "cmd": [
+ "cipd",
+ "ensure",
+ "-root",
+ "[CLEANUP]/tmp_tmp_2/vpython",
+ "-ensure-file",
+ "infra/tools/luci/vpython/${platform} latest",
+ "-max-threads",
+ "0",
+ "-json-output",
+ "/path/to/tmp/json"
+ ],
+ "name": "Dependencies.ensure_installed",
+ "~followup_annotations": [
+ "@@@STEP_NEST_LEVEL@1@@@",
+ "@@@STEP_LOG_LINE@json.output@{@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"result\": {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"\": [@@@",
+ "@@@STEP_LOG_LINE@json.output@ {@@@",
+ "@@@STEP_LOG_LINE@json.output@ \"instance_id\": \"resolved-instance_id-of-latest----------\", @@@",
+ "@@@STEP_LOG_LINE@json.output@ \"package\": \"infra/tools/luci/vpython/resolved-platform\"@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@ ]@@@",
+ "@@@STEP_LOG_LINE@json.output@ }@@@",
+ "@@@STEP_LOG_LINE@json.output@}@@@",
+ "@@@STEP_LOG_END@json.output@@@"
+ ]
+ },
+ {
"cmd": [
"flutter",
- "update-packages"
+ "doctor"
],
"cwd": "[CLEANUP]/tmp_tmp_1/flutter sdk/dev/devicelab",
"env": {
@@ -179,10 +212,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter update-packages"
+ "name": "flutter doctor"
},
{
"cmd": [
@@ -203,7 +237,8 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "pub get"
@@ -228,10 +263,11 @@
"env_prefixes": {
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
- "name": "flutter doctor"
+ "name": "flutter doctor (2)"
},
{
"cmd": [
@@ -254,8 +290,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Set execute permission"
@@ -266,7 +304,7 @@
"-t",
"abc",
"--results-file",
- "[CLEANUP]/tmp_tmp_2",
+ "[CLEANUP]/tmp_tmp_3",
"--luci-builder",
"Mac abc"
],
@@ -285,8 +323,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "run abc"
@@ -324,8 +364,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -361,8 +403,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -406,8 +450,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"infra_step": true,
@@ -442,8 +488,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill chrome",
@@ -471,8 +519,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill dart",
@@ -500,8 +550,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill flutter",
@@ -529,8 +581,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill java",
@@ -558,8 +612,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "Killing Processes.kill adb",
@@ -591,8 +647,10 @@
"PATH": [
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython",
"[CLEANUP]/tmp_tmp_1/flutter sdk/bin",
- "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin"
+ "[CLEANUP]/tmp_tmp_1/flutter sdk/bin/cache/dart-sdk/bin",
+ "[CLEANUP]/tmp_tmp_2/vpython"
]
},
"name": "OS info (2)"
diff --git a/recipes/devicelab/devicelab_drone.py b/recipes/devicelab/devicelab_drone.py
index f92868a..6167002 100644
--- a/recipes/devicelab/devicelab_drone.py
+++ b/recipes/devicelab/devicelab_drone.py
@@ -11,12 +11,13 @@
'flutter/repo_util',
'flutter/os_utils',
'recipe_engine/buildbucket',
- 'flutter/osx_sdk',
+ 'flutter/devicelab_osx_sdk',
'recipe_engine/context',
'recipe_engine/file',
'recipe_engine/path',
'recipe_engine/properties',
'recipe_engine/raw_io',
+ 'recipe_engine/runtime',
'recipe_engine/service_account',
'recipe_engine/step',
'recipe_engine/swarming',
@@ -40,8 +41,10 @@
)
env, env_prefixes = api.repo_util.flutter_environment(flutter_path)
api.logs_util.initialize_logs_collection(env)
- deps = api.properties.get('dependencies', [])
- api.flutter_deps.required_deps(env, env_prefixes, deps)
+ with api.step.nest('Dependencies'):
+ deps = api.properties.get('dependencies', [])
+ api.flutter_deps.required_deps(env, env_prefixes, deps)
+ api.flutter_deps.vpython(env, env_prefixes, 'latest')
devicelab_path = flutter_path.join('dev', 'devicelab')
git_branch = api.buildbucket.gitiles_commit.ref.replace('refs/heads/', '')
# Create tmp file to store results in
@@ -57,12 +60,12 @@
# git_branch is set only when the build was triggered by buildbucket.
runner_params.extend(['--git-branch', git_branch])
with api.context(env=env, env_prefixes=env_prefixes, cwd=devicelab_path):
- api.step('flutter update-packages', ['flutter', 'update-packages'])
+ api.step('flutter doctor', ['flutter', 'doctor'])
api.step('pub get', ['pub', 'get'])
dep_list = {d['dependency']: d.get('version') for d in deps}
if dep_list.has_key('xcode'):
api.os_utils.clean_derived_data()
- with api.osx_sdk('ios'):
+ with api.devicelab_osx_sdk('ios'):
api.flutter_deps.gems(
env, env_prefixes, flutter_path.join('dev', 'ci', 'mac')
)
@@ -103,7 +106,7 @@
luci-auth only gurantees a service account token life of 3 minutes. To work
around this limitation, results uploading is separate from the the test run.
"""
- if not api.properties.get('upload_metrics'):
+ if not api.properties.get('upload_metrics') or api.runtime.is_experimental:
return
with api.step.nest('Upload metrics'):
service_account = api.service_account.default()