diff options
Diffstat (limited to 'infra/bots/recipe_modules/swarming/examples')
9 files changed, 2937 insertions, 0 deletions
diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/basic.json b/infra/bots/recipe_modules/swarming/examples/full.expected/basic.json new file mode 100644 index 0000000000..9a55d5c3d8 --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/basic.json @@ -0,0 +1,683 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "linux", + "--verbose" + ], + "name": "archive for linux", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "mac", + "--verbose" + ], + "name": "archive for mac", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "2", + "--task-name", + "hello_world/Ubuntu-14.04/hash_for_l", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Ubuntu-14.04", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_linux", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Ubuntu-14.04", + "--tag", + "os:linux", + "--tag", + "stepname:hello_world", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_linux" + ], + "infra_step": true, + "name": "[trigger] hello_world", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Ubuntu-14.04/hash_for_l\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Ubuntu-14.04/hash_for_l:2:0\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }, @@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Ubuntu-14.04/hash_for_l:2:1\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 1, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10100\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10100\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@", + "@@@STEP_LINK@shard #1@https://chromium-swarm-dev.appspot.com/user/task/10100@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Mac-10.9/hash_for_m", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Mac-10.9", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_mac", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Mac-10.9", + "--tag", + "os:mac", + "--tag", + "stepname:hello_world on Mac-10.9", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_mac" + ], + "infra_step": true, + "name": "[trigger] hello_world on Mac-10.9", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Mac-10.9'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Mac-10.9/hash_for_m\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Mac-10.9/hash_for_m\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0000\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LINK@shard #0 isolated out@blah@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Ubuntu-14.04/hash_for_l\", \"tasks\": {\"hello_world/Ubuntu-14.04/hash_for_l:2:0\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}, \"hello_world/Ubuntu-14.04/hash_for_l:2:1\": {\"shard_index\": 1, \"task_id\": \"10100\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10100\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0000\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0100\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LINK@shard #0 isolated out@blah@@@", + "@@@STEP_LINK@shard #1 isolated out@blah@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Mac-10.9/hash_for_m\", \"tasks\": {\"hello_world/Mac-10.9/hash_for_m\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Mac-10.9", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Mac-10.9'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0000\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LINK@shard #0 isolated out@blah@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/show_isolated_out_in_collect_step.json b/infra/bots/recipe_modules/swarming/examples/full.expected/show_isolated_out_in_collect_step.json new file mode 100644 index 0000000000..69019a8494 --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/show_isolated_out_in_collect_step.json @@ -0,0 +1,297 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "rietveld:https://codereview.chromium.org/123/#ps1001", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0000\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/show_shards_in_collect_step.json b/infra/bots/recipe_modules/swarming/examples/full.expected/show_shards_in_collect_step.json new file mode 100644 index 0000000000..f4c2e7bb36 --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/show_shards_in_collect_step.json @@ -0,0 +1,299 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "rietveld:https://codereview.chromium.org/123/#ps1001", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0000\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LINK@shard #0 isolated out@blah@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_expired_new.json b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_expired_new.json new file mode 100644 index 0000000000..5fa8e68abd --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_expired_new.json @@ -0,0 +1,281 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0100\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": \"EXPIRED\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LOG_LINE@no_results_exc@Infra Failure in Shard #0 failed: There isn't enough capacity to run your test@@@", + "@@@STEP_LOG_END@no_results_exc@@@", + "@@@STEP_EXCEPTION@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_expired_old.json b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_expired_old.json new file mode 100644 index 0000000000..f0e2d64568 --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_expired_old.json @@ -0,0 +1,281 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0100\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 48, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LOG_LINE@no_results_exc@Infra Failure in Shard #0 failed: There isn't enough capacity to run your test@@@", + "@@@STEP_LOG_END@no_results_exc@@@", + "@@@STEP_EXCEPTION@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_timeout_new.json b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_timeout_new.json new file mode 100644 index 0000000000..46ca02c42d --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_timeout_new.json @@ -0,0 +1,278 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0100\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": \"TIMED_OUT\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_timeout_old.json b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_timeout_old.json new file mode 100644 index 0000000000..a2741eb88f --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/swarming_timeout_old.json @@ -0,0 +1,278 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0100\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 64, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.expected/trybot.json b/infra/bots/recipe_modules/swarming/examples/full.expected/trybot.json new file mode 100644 index 0000000000..7b23e8cb56 --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.expected/trybot.json @@ -0,0 +1,298 @@ +[ + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", + "--path", + "[START_DIR]/swarming.client", + "--url", + "https://chromium.googlesource.com/external/swarming.client.git" + ], + "name": "git setup (swarming_client)" + }, + { + "cmd": [ + "git", + "retry", + "fetch", + "origin", + "master" + ], + "cwd": "[START_DIR]/swarming.client", + "env": { + "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" + }, + "infra_step": true, + "name": "git fetch (swarming_client)" + }, + { + "cmd": [ + "git", + "checkout", + "-f", + "FETCH_HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git checkout (swarming_client)" + }, + { + "cmd": [ + "git", + "rev-parse", + "HEAD" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "read revision", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" + ] + }, + { + "cmd": [ + "git", + "clean", + "-f", + "-d", + "-x" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "git clean (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "sync" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule sync (swarming_client)" + }, + { + "cmd": [ + "git", + "submodule", + "update", + "--init", + "--recursive" + ], + "cwd": "[START_DIR]/swarming.client", + "infra_step": true, + "name": "submodule update (swarming_client)" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "--version" + ], + "name": "swarming.py --version", + "stdout": "/path/to/tmp/", + "~followup_annotations": [ + "@@@STEP_TEXT@0.8.6@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/isolate.py", + "archive", + "--isolate", + "[START_DIR]/swarming.client/example/payload/hello_world.isolate", + "--isolated", + "[TMP_BASE]/hello_isolated_world_tmp_1/hello_world.isolated", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--config-variable", + "OS", + "win", + "--verbose" + ], + "name": "archive for win", + "stdout": "/path/to/tmp/" + }, + { + "cmd": [ + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "trigger", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--isolate-server", + "https://isolateserver-dev.appspot.com", + "--priority", + "30", + "--shards", + "1", + "--task-name", + "hello_world/Windows-7-SP1/hash_for_w", + "--dump-json", + "/path/to/tmp/json", + "--expiration", + "3600", + "--io-timeout", + "1200", + "--hard-timeout", + "3600", + "--dimension", + "cpu", + "x86-64", + "--dimension", + "gpu", + "none", + "--dimension", + "os", + "Windows-7-SP1", + "--env", + "TESTING", + "1", + "--tag", + "data:hash_for_win", + "--tag", + "master:tryserver", + "--tag", + "name:hello_world", + "--tag", + "os:Windows-7-SP1", + "--tag", + "os:win", + "--tag", + "rietveld:https://codereview.chromium.org/123/#ps1001", + "--tag", + "stepname:hello_world on Windows-7-SP1", + "--verbose", + "--idempotent", + "--user", + "joe", + "--cipd-package", + "bin:super/awesome/pkg:git_revision:deadbeef", + "--isolated", + "hash_for_win" + ], + "infra_step": true, + "name": "[trigger] hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'@@@", + "@@@STEP_LOG_LINE@json.output@{@@@", + "@@@STEP_LOG_LINE@json.output@ \"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"tasks\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"hello_world/Windows-7-SP1/hash_for_w\": {@@@", + "@@@STEP_LOG_LINE@json.output@ \"shard_index\": 0, @@@", + "@@@STEP_LOG_LINE@json.output@ \"task_id\": \"10000\", @@@", + "@@@STEP_LOG_LINE@json.output@ \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@ }@@@", + "@@@STEP_LOG_LINE@json.output@}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LINK@shard #0@https://chromium-swarm-dev.appspot.com/user/task/10000@@@" + ] + }, + { + "cmd": [ + "echo", + "running something locally" + ], + "name": "local step" + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::swarming]/resources/collect_task.py", + "-o", + "/path/to/tmp/json", + "--task-output-dir", + "[TMP_BASE]/hello_isolated_world_tmp_1/task_output_dir", + "--merge-script", + "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py", + "--merge-additional-args", + "[]", + "--", + "python", + "-u", + "[START_DIR]/swarming.client/swarming.py", + "collect", + "--swarming", + "https://chromium-swarm-dev.appspot.com", + "--decorate", + "--print-status-updates", + "--verbose", + "--json", + "{\"base_task_name\": \"hello_world/Windows-7-SP1/hash_for_w\", \"tasks\": {\"hello_world/Windows-7-SP1/hash_for_w\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm-dev.appspot.com/user/task/10000\"}}}", + "--task-summary-json", + "/path/to/tmp/json" + ], + "name": "hello_world on Windows-7-SP1", + "~followup_annotations": [ + "@@@STEP_TEXT@Run on OS: 'Windows-7-SP1'<br>swarming pending 71s@@@", + "@@@STEP_LOG_LINE@json.output@{}@@@", + "@@@STEP_LOG_END@json.output@@@", + "@@@STEP_LOG_LINE@swarming.summary@{@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"shards\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"abandoned_ts\": null, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"bot_id\": \"vm30\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"created_ts\": \"2014-09-25T01:41:00.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"durations\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 5.7, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 31.5@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"exit_codes\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ 0@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"id\": \"148aa78d7aa0000\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"internal_failure\": false, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated_out\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolated\": \"abc123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"namespace\": \"default-gzip\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"modified_ts\": \"2014-09-25 01:42:00\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs\": [@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Heart beat succeeded on win32.\\n\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"Foo\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ], @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"outputs_ref\": {@@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"view_url\": \"blah\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"started_ts\": \"2014-09-25T01:42:11.123\", @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"state\": 112, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"try_number\": 1, @@@", + "@@@STEP_LOG_LINE@swarming.summary@ \"user\": \"unknown\"@@@", + "@@@STEP_LOG_LINE@swarming.summary@ }@@@", + "@@@STEP_LOG_LINE@swarming.summary@ ]@@@", + "@@@STEP_LOG_LINE@swarming.summary@}@@@", + "@@@STEP_LOG_END@swarming.summary@@@", + "@@@STEP_LINK@shard #0 isolated out@blah@@@" + ] + }, + { + "cmd": [ + "python", + "-u", + "RECIPE_MODULE[skia::file]/resources/fileutil.py", + "rmtree", + "[TMP_BASE]/hello_isolated_world_tmp_1" + ], + "infra_step": true, + "name": "rmtree remove temp dir" + }, + { + "name": "$result", + "recipe_result": null, + "status_code": 0 + } +]
\ No newline at end of file diff --git a/infra/bots/recipe_modules/swarming/examples/full.py b/infra/bots/recipe_modules/swarming/examples/full.py new file mode 100644 index 0000000000..f61576a24d --- /dev/null +++ b/infra/bots/recipe_modules/swarming/examples/full.py @@ -0,0 +1,242 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + + +# TODO(borenet): This module was copied from build.git and heavily modified to +# remove dependencies on other modules in build.git. It belongs in a different +# repo. Remove this once it has been moved. + + +import json + +DEPS = [ + 'file', + 'isolate', + 'recipe_engine/json', + 'recipe_engine/path', + 'recipe_engine/properties', + 'recipe_engine/python', + 'recipe_engine/raw_io', + 'recipe_engine/step', + 'swarming', + 'swarming_client', +] + +from recipe_engine.recipe_api import Property + +PROPERTIES = { + 'platforms': Property(default=('win',)), + 'show_isolated_out_in_collect_step': Property(default=True), + 'show_shards_in_collect_step': Property(default=False), + 'gtest_task': Property(default=False), + #'isolated_script_task': Property(default=False), + 'merge': Property(default=None), +} + +def RunSteps(api, platforms, show_isolated_out_in_collect_step, + show_shards_in_collect_step, gtest_task, merge): + # Checkout swarming client. + api.swarming_client.checkout('master') + + # Ensure swarming_client version is fresh enough. + api.swarming.check_client_version(step_test_data=(0, 8, 6)) + + # Configure isolate & swarming modules (this is optional). + api.isolate.isolate_server = 'https://isolateserver-dev.appspot.com' + api.swarming.swarming_server = 'https://chromium-swarm-dev.appspot.com' + api.swarming.add_default_tag('master:tryserver') + api.swarming.default_expiration = 60*60 + api.swarming.default_hard_timeout = 60*60 + api.swarming.default_io_timeout = 20*60 + api.swarming.default_idempotent = True + api.swarming.default_priority = 30 + api.swarming.default_user = 'joe' + api.swarming.set_default_env('TESTING', '1') + api.swarming.verbose = True + + api.swarming.set_default_dimension('inexistent', None) + + api.swarming.show_shards_in_collect_step = show_shards_in_collect_step + api.swarming.show_isolated_out_in_collect_step = ( + show_isolated_out_in_collect_step) + + try: + # Testing ReadOnlyDict.__setattr__() coverage. + api.swarming.default_dimensions['invalid'] = 'foo' + except TypeError: + pass + try: + api.swarming.default_env['invalid'] = 'foo' + except TypeError: + pass + + # Create a temp dir to put *.isolated files into. + temp_dir = api.path.mkdtemp('hello_isolated_world') + + # Prepare a bunch of swarming tasks to run hello_world on multiple platforms. + tasks = [] + for platform in platforms: + # Isolate example hello_world.isolate from swarming client repo. + # TODO(vadimsh): Add a thin wrapper around isolate.py to 'isolate' module? + step_result = api.python( + 'archive for %s' % platform, + api.swarming_client.path.join('isolate.py'), + [ + 'archive', + '--isolate', api.swarming_client.path.join( + 'example', 'payload', 'hello_world.isolate'), + '--isolated', temp_dir.join('hello_world.isolated'), + '--isolate-server', api.isolate.isolate_server, + '--config-variable', 'OS', platform, + '--verbose', + ], stdout=api.raw_io.output_text()) + # TODO(vadimsh): Pass result from isolate.py though --output-json option. + isolated_hash = step_result.stdout.split()[0].strip() + + # Create a task to run the isolated file on swarming, set OS dimension. + # Also generate code coverage for multi-shard case by triggering multiple + # shards on Linux. + task = api.swarming.task('hello_world', isolated_hash, + task_output_dir=temp_dir.join('task_output_dir')) + task.dimensions['os'] = api.swarming.prefered_os_dimension(platform) + task.shards = 2 if platform == 'linux' else 1 + task.tags.add('os:' + platform) + if api.swarming_client.get_script_version('swarming.py') >= (0, 8, 6): + task.cipd_packages = [ + ('bin', 'super/awesome/pkg', 'git_revision:deadbeef')] + tasks.append(task) + + # Launch all tasks. + for task in tasks: + step_result = api.swarming.trigger_task(task) + assert step_result.swarming_task in tasks + + # Recipe can do something useful here locally while tasks are + # running on swarming. + api.step('local step', ['echo', 'running something locally']) + + # Wait for all tasks to complete. + for task in tasks: + step_result = api.swarming.collect_task(task) + data = step_result.swarming.summary + + state = data['shards'][0]['state'] + if api.swarming.State.COMPLETED == state: + state_name = api.swarming.State.to_string(state) + assert 'Completed' == state_name, state_name + assert step_result.swarming_task in tasks + + # Cleanup. + api.file.rmtree('remove temp dir', temp_dir) + + +def GenTests(api): + yield ( + api.test('basic') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.step_data( + 'archive for linux', + stdout=api.raw_io.output_text( + 'hash_for_linux hello_world.isolated')) + + api.step_data( + 'archive for mac', + stdout=api.raw_io.output_text('hash_for_mac hello_world.isolated')) + + api.properties(platforms=('win', 'linux', 'mac'))) + + yield ( + api.test('trybot') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.properties( + rietveld='https://codereview.chromium.org', + issue='123', + patchset='1001')) + + yield ( + api.test('show_shards_in_collect_step') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.properties( + rietveld='https://codereview.chromium.org', + issue='123', + patchset='1001', + show_shards_in_collect_step=True)) + + yield ( + api.test('show_isolated_out_in_collect_step') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.properties( + rietveld='https://codereview.chromium.org', + issue='123', + patchset='1001', + show_isolated_out_in_collect_step=False)) + + data = { + 'shards': [ + { + '': '', + } + ] + } + + data = { + 'shards': [ + { + 'abandoned_ts': '2014-09-25T01:41:00.123', + 'bot_id': 'vm30', + 'completed_ts': None, + 'created_ts': '2014-09-25T01:41:00.123', + 'durations': None, + 'exit_codes': [], + 'failure': False, + 'id': '148aa78d7aa0100', + 'internal_failure': False, + 'isolated_out': None, + 'modified_ts': '2014-09-25 01:42:00', + 'name': 'heartbeat-canary-2014-09-25_01:41:55-os=Windows', + 'outputs': [], + 'started_ts': '2014-09-25T01:42:11.123', + 'state': 0x30, # EXPIRED (old) + 'try_number': None, + 'user': 'unknown', + } + ], + } + + yield ( + api.test('swarming_expired_old') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.step_data('hello_world on Windows-7-SP1', api.swarming.summary(data))) + + data['shards'][0]['state'] = 'EXPIRED' + yield ( + api.test('swarming_expired_new') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.step_data('hello_world on Windows-7-SP1', api.swarming.summary(data))) + + data['shards'][0]['state'] = 0x40 # TIMED_OUT (old) + yield ( + api.test('swarming_timeout_old') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.step_data('hello_world on Windows-7-SP1', api.swarming.summary(data))) + + data['shards'][0]['state'] = 'TIMED_OUT' # TIMED_OUT (old) + yield ( + api.test('swarming_timeout_new') + + api.step_data( + 'archive for win', + stdout=api.raw_io.output_text('hash_for_win hello_world.isolated')) + + api.step_data('hello_world on Windows-7-SP1', api.swarming.summary(data))) |