Home | History | Annotate | Download | only in ct_skps.expected
      1 [
      2   {
      3     "cmd": [
      4       "python",
      5       "-u",
      6       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
      7       "--json-output",
      8       "/path/to/tmp/json",
      9       "ensure-directory",
     10       "--mode",
     11       "0777",
     12       "[CUSTOM_/_B_WORK]"
     13     ],
     14     "infra_step": true,
     15     "name": "makedirs checkout_path"
     16   },
     17   {
     18     "cmd": [
     19       "python",
     20       "-u",
     21       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
     22       "--json-output",
     23       "/path/to/tmp/json",
     24       "remove",
     25       "[CUSTOM_/_B_WORK]/.gclient_entries"
     26     ],
     27     "infra_step": true,
     28     "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries"
     29   },
     30   {
     31     "cmd": [
     32       "python",
     33       "-u",
     34       "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
     35       "--spec",
     36       "cache_dir = '[CUSTOM_/_B_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
     37       "--patch_root",
     38       "skia",
     39       "--revision_mapping_file",
     40       "{\"got_revision\": \"skia\"}",
     41       "--git-cache-dir",
     42       "[CUSTOM_/_B_CACHE]",
     43       "--cleanup-dir",
     44       "[CLEANUP]/bot_update",
     45       "--output_json",
     46       "/path/to/tmp/json",
     47       "--revision",
     48       "skia@abc123"
     49     ],
     50     "cwd": "[CUSTOM_/_B_WORK]",
     51     "env": {
     52       "GIT_HTTP_LOW_SPEED_LIMIT": "1000",
     53       "GIT_HTTP_LOW_SPEED_TIME": "300",
     54       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
     55     },
     56     "infra_step": true,
     57     "name": "bot_update",
     58     "~followup_annotations": [
     59       "@@@STEP_TEXT@Some step text@@@",
     60       "@@@STEP_LOG_LINE (a] json.output@{@@@",
     61       "@@@STEP_LOG_LINE (a] json.output@  \"did_run\": true, @@@",
     62       "@@@STEP_LOG_LINE (a] json.output@  \"fixed_revisions\": {@@@",
     63       "@@@STEP_LOG_LINE (a] json.output@    \"skia\": \"abc123\"@@@",
     64       "@@@STEP_LOG_LINE (a] json.output@  }, @@@",
     65       "@@@STEP_LOG_LINE (a] json.output@  \"manifest\": {@@@",
     66       "@@@STEP_LOG_LINE (a] json.output@    \"skia\": {@@@",
     67       "@@@STEP_LOG_LINE (a] json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
     68       "@@@STEP_LOG_LINE (a] json.output@      \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
     69       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
     70       "@@@STEP_LOG_LINE (a] json.output@  }, @@@",
     71       "@@@STEP_LOG_LINE (a] json.output@  \"patch_failure\": false, @@@",
     72       "@@@STEP_LOG_LINE (a] json.output@  \"patch_root\": \"skia\", @@@",
     73       "@@@STEP_LOG_LINE (a] json.output@  \"properties\": {@@@",
     74       "@@@STEP_LOG_LINE (a] json.output@    \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
     75       "@@@STEP_LOG_LINE (a] json.output@    \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
     76       "@@@STEP_LOG_LINE (a] json.output@  }, @@@",
     77       "@@@STEP_LOG_LINE (a] json.output@  \"root\": \"skia\", @@@",
     78       "@@@STEP_LOG_LINE (a] json.output@  \"step_text\": \"Some step text\"@@@",
     79       "@@@STEP_LOG_LINE (a] json.output@}@@@",
     80       "@@@STEP_LOG_END (a] json.output@@@",
     81       "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
     82       "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
     83     ]
     84   },
     85   {
     86     "cmd": [
     87       "python",
     88       "-u",
     89       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
     90       "--json-output",
     91       "/path/to/tmp/json",
     92       "ensure-directory",
     93       "--mode",
     94       "0777",
     95       "[START_DIR]/tmp"
     96     ],
     97     "infra_step": true,
     98     "name": "makedirs tmp_dir"
     99   },
    100   {
    101     "cmd": [
    102       "python",
    103       "-u",
    104       "[CUSTOM_/_B_WORK]/skia/bin/fetch-gn"
    105     ],
    106     "cwd": "[CUSTOM_/_B_WORK]/skia",
    107     "env": {
    108       "BUILDTYPE": "Release",
    109       "CHROME_HEADLESS": "1",
    110       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    111       "SKIA_OUT": "[START_DIR]/out"
    112     },
    113     "infra_step": true,
    114     "name": "fetch-gn"
    115   },
    116   {
    117     "cmd": [
    118       "[CUSTOM_/_B_WORK]/skia/bin/gn",
    119       "gen",
    120       "[START_DIR]/out/Release",
    121       "--args=cc=\"gcc\" cxx=\"g++\" is_debug=false"
    122     ],
    123     "cwd": "[CUSTOM_/_B_WORK]/skia",
    124     "env": {
    125       "BUILDTYPE": "Release",
    126       "CHROME_HEADLESS": "1",
    127       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    128       "SKIA_OUT": "[START_DIR]/out"
    129     },
    130     "name": "gn gen"
    131   },
    132   {
    133     "cmd": [
    134       "ninja",
    135       "-C",
    136       "[START_DIR]/out/Release"
    137     ],
    138     "cwd": "[CUSTOM_/_B_WORK]/skia",
    139     "env": {
    140       "BUILDTYPE": "Release",
    141       "CHROME_HEADLESS": "1",
    142       "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
    143       "SKIA_OUT": "[START_DIR]/out"
    144     },
    145     "name": "ninja"
    146   },
    147   {
    148     "cmd": [
    149       "python",
    150       "-u",
    151       "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products_whitelist:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print 'Copying build product %s to %s' % (f, dst_path)\n    shutil.move(f, dst_path)\n",
    152       "[START_DIR]/out/Release",
    153       "[CUSTOM_/_B_WORK]/skia/infra/bots/ct"
    154     ],
    155     "infra_step": true,
    156     "name": "copy build products",
    157     "~followup_annotations": [
    158       "@@@STEP_LOG_LINE (a] python.inline@import errno@@@",
    159       "@@@STEP_LOG_LINE (a] python.inline@import glob@@@",
    160       "@@@STEP_LOG_LINE (a] python.inline@import os@@@",
    161       "@@@STEP_LOG_LINE (a] python.inline@import shutil@@@",
    162       "@@@STEP_LOG_LINE (a] python.inline@import sys@@@",
    163       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    164       "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1]@@@",
    165       "@@@STEP_LOG_LINE (a] python.inline@dst = sys.argv[2]@@@",
    166       "@@@STEP_LOG_LINE (a] python.inline@build_products_whitelist = ['dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'lib/*.so', 'iOSShell.app', 'iOSShell.ipa', 'visualbench', 'visualbench.exe', 'vulkan-1.dll']@@@",
    167       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    168       "@@@STEP_LOG_LINE (a] python.inline@try:@@@",
    169       "@@@STEP_LOG_LINE (a] python.inline@  os.makedirs(dst)@@@",
    170       "@@@STEP_LOG_LINE (a] python.inline@except OSError as e:@@@",
    171       "@@@STEP_LOG_LINE (a] python.inline@  if e.errno != errno.EEXIST:@@@",
    172       "@@@STEP_LOG_LINE (a] python.inline@    raise@@@",
    173       "@@@STEP_LOG_LINE (a] python.inline@@@@",
    174       "@@@STEP_LOG_LINE (a] python.inline@for pattern in build_products_whitelist:@@@",
    175       "@@@STEP_LOG_LINE (a] python.inline@  path = os.path.join(src, pattern)@@@",
    176       "@@@STEP_LOG_LINE (a] python.inline@  for f in glob.glob(path):@@@",
    177       "@@@STEP_LOG_LINE (a] python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
    178       "@@@STEP_LOG_LINE (a] python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
    179       "@@@STEP_LOG_LINE (a] python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
    180       "@@@STEP_LOG_LINE (a] python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
    181       "@@@STEP_LOG_LINE (a] python.inline@    shutil.move(f, dst_path)@@@",
    182       "@@@STEP_LOG_END (a] python.inline@@@"
    183     ]
    184   },
    185   {
    186     "cmd": [
    187       "python",
    188       "-u",
    189       "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py",
    190       "--path",
    191       "[START_DIR]/swarming.client",
    192       "--url",
    193       "https://chromium.googlesource.com/external/swarming.client.git"
    194     ],
    195     "name": "git setup (swarming_client)"
    196   },
    197   {
    198     "cmd": [
    199       "git",
    200       "retry",
    201       "fetch",
    202       "origin",
    203       "master"
    204     ],
    205     "cwd": "[START_DIR]/swarming.client",
    206     "env": {
    207       "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>"
    208     },
    209     "infra_step": true,
    210     "name": "git fetch (swarming_client)"
    211   },
    212   {
    213     "cmd": [
    214       "git",
    215       "checkout",
    216       "-f",
    217       "FETCH_HEAD"
    218     ],
    219     "cwd": "[START_DIR]/swarming.client",
    220     "infra_step": true,
    221     "name": "git checkout (swarming_client)"
    222   },
    223   {
    224     "cmd": [
    225       "git",
    226       "rev-parse",
    227       "HEAD"
    228     ],
    229     "cwd": "[START_DIR]/swarming.client",
    230     "infra_step": true,
    231     "name": "read revision",
    232     "stdout": "/path/to/tmp/",
    233     "~followup_annotations": [
    234       "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@"
    235     ]
    236   },
    237   {
    238     "cmd": [
    239       "git",
    240       "clean",
    241       "-f",
    242       "-d",
    243       "-x"
    244     ],
    245     "cwd": "[START_DIR]/swarming.client",
    246     "infra_step": true,
    247     "name": "git clean (swarming_client)"
    248   },
    249   {
    250     "cmd": [
    251       "git",
    252       "submodule",
    253       "sync"
    254     ],
    255     "cwd": "[START_DIR]/swarming.client",
    256     "infra_step": true,
    257     "name": "submodule sync (swarming_client)"
    258   },
    259   {
    260     "cmd": [
    261       "git",
    262       "submodule",
    263       "update",
    264       "--init",
    265       "--recursive"
    266     ],
    267     "cwd": "[START_DIR]/swarming.client",
    268     "infra_step": true,
    269     "name": "submodule update (swarming_client)"
    270   },
    271   {
    272     "cmd": [
    273       "python",
    274       "-u",
    275       "[START_DIR]/swarming.client/swarming.py",
    276       "--version"
    277     ],
    278     "name": "swarming.py --version",
    279     "stdout": "/path/to/tmp/",
    280     "~followup_annotations": [
    281       "@@@STEP_TEXT (a] 0.8.6@@@"
    282     ]
    283   },
    284   {
    285     "cmd": [
    286       "download_from_google_storage",
    287       "--no_resume",
    288       "--platform=linux*",
    289       "--no_auth",
    290       "--bucket",
    291       "chromium-luci",
    292       "-d",
    293       "[CUSTOM_/_B_WORK]/skia/infra/bots/tools/luci-go/linux64"
    294     ],
    295     "env": {
    296       "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>"
    297     },
    298     "name": "download luci-go linux"
    299   },
    300   {
    301     "cmd": [
    302       "download_from_google_storage",
    303       "--no_resume",
    304       "--platform=darwin",
    305       "--no_auth",
    306       "--bucket",
    307       "chromium-luci",
    308       "-d",
    309       "[CUSTOM_/_B_WORK]/skia/infra/bots/tools/luci-go/mac64"
    310     ],
    311     "env": {
    312       "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>"
    313     },
    314     "name": "download luci-go mac"
    315   },
    316   {
    317     "cmd": [
    318       "download_from_google_storage",
    319       "--no_resume",
    320       "--platform=win32",
    321       "--no_auth",
    322       "--bucket",
    323       "chromium-luci",
    324       "-d",
    325       "[CUSTOM_/_B_WORK]/skia/infra/bots/tools/luci-go/win64"
    326     ],
    327     "env": {
    328       "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>"
    329     },
    330     "name": "download luci-go win"
    331   },
    332   {
    333     "cmd": [
    334       "python",
    335       "-u",
    336       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    337       "--json-output",
    338       "/path/to/tmp/json",
    339       "rmtree",
    340       "[START_DIR]/luci-go"
    341     ],
    342     "infra_step": true,
    343     "name": "rmtree luci-go"
    344   },
    345   {
    346     "cmd": [
    347       "python",
    348       "-u",
    349       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    350       "--json-output",
    351       "/path/to/tmp/json",
    352       "copytree",
    353       "[CUSTOM_/_B_WORK]/skia/infra/bots/tools/luci-go",
    354       "[START_DIR]/luci-go"
    355     ],
    356     "infra_step": true,
    357     "name": "Copy Go binary",
    358     "~followup_annotations": [
    359       "@@@SET_BUILD_PROPERTY@Download SKPs by rank@\"https://pantheon.corp.google.com/storage/browser/cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/\"@@@",
    360       "@@@SET_BUILD_PROPERTY@Webpage rankings@\"https://storage.cloud.google.com/cluster-telemetry/csv/top-1m.csv\"@@@"
    361     ]
    362   },
    363   {
    364     "cmd": [
    365       "python",
    366       "-u",
    367       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    368       "--json-output",
    369       "/path/to/tmp/json",
    370       "rmtree",
    371       "[START_DIR]/swarming_temp_dir"
    372     ],
    373     "infra_step": true,
    374     "name": "rmtree swarming_temp_dir"
    375   },
    376   {
    377     "cmd": [
    378       "python",
    379       "-u",
    380       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    381       "--json-output",
    382       "/path/to/tmp/json",
    383       "rmtree",
    384       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave1"
    385     ],
    386     "infra_step": true,
    387     "name": "rmtree slave1"
    388   },
    389   {
    390     "cmd": [
    391       "python",
    392       "-u",
    393       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    394       "--json-output",
    395       "/path/to/tmp/json",
    396       "ensure-directory",
    397       "--mode",
    398       "0777",
    399       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave1"
    400     ],
    401     "infra_step": true,
    402     "name": "makedirs slave1"
    403   },
    404   {
    405     "cmd": [
    406       "python",
    407       "-u",
    408       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
    409       "--",
    410       "-m",
    411       "cp",
    412       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/1/*.skp",
    413       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/2/*.skp",
    414       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/3/*.skp",
    415       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/4/*.skp",
    416       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/5/*.skp",
    417       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/6/*.skp",
    418       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/7/*.skp",
    419       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/8/*.skp",
    420       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/9/*.skp",
    421       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/10/*.skp",
    422       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave1"
    423     ],
    424     "infra_step": true,
    425     "name": "gsutil cp"
    426   },
    427   {
    428     "cmd": [
    429       "python",
    430       "-u",
    431       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    432       "--json-output",
    433       "/path/to/tmp/json",
    434       "ensure-directory",
    435       "--mode",
    436       "0777",
    437       "[START_DIR]/swarming_temp_dir"
    438     ],
    439     "infra_step": true,
    440     "name": "makedirs swarming tmp dir"
    441   },
    442   {
    443     "cmd": [
    444       "python",
    445       "-u",
    446       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    447       "--json-output",
    448       "/path/to/tmp/json",
    449       "copy",
    450       "{\n    \"args\": [\n        \"--isolate\", \n        \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct/ct_skps.isolate\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-ct-nanobench-1.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Release\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs\", \n        \"--extra-variable\", \n        \"GIT_HASH\", \n        \"9046e2e693bb92a76e972b694580e5d17ad10748\", \n        \"--extra-variable\", \n        \"SLAVE_NUM\", \n        \"1\", \n        \"--extra-variable\", \n        \"TOOL_NAME\", \n        \"nanobench\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
    451       "[START_DIR]/swarming_temp_dir/ct-nanobench-1.isolated.gen.json"
    452     ],
    453     "infra_step": true,
    454     "name": "Write ct-nanobench-1.isolated.gen.json"
    455   },
    456   {
    457     "cmd": [
    458       "python",
    459       "-u",
    460       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    461       "--json-output",
    462       "/path/to/tmp/json",
    463       "rmtree",
    464       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave2"
    465     ],
    466     "infra_step": true,
    467     "name": "rmtree slave2"
    468   },
    469   {
    470     "cmd": [
    471       "python",
    472       "-u",
    473       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    474       "--json-output",
    475       "/path/to/tmp/json",
    476       "ensure-directory",
    477       "--mode",
    478       "0777",
    479       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave2"
    480     ],
    481     "infra_step": true,
    482     "name": "makedirs slave2"
    483   },
    484   {
    485     "cmd": [
    486       "python",
    487       "-u",
    488       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
    489       "--",
    490       "-m",
    491       "cp",
    492       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/11/*.skp",
    493       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/12/*.skp",
    494       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/13/*.skp",
    495       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/14/*.skp",
    496       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/15/*.skp",
    497       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/16/*.skp",
    498       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/17/*.skp",
    499       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/18/*.skp",
    500       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/19/*.skp",
    501       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/20/*.skp",
    502       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave2"
    503     ],
    504     "infra_step": true,
    505     "name": "gsutil cp (2)"
    506   },
    507   {
    508     "cmd": [
    509       "python",
    510       "-u",
    511       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    512       "--json-output",
    513       "/path/to/tmp/json",
    514       "ensure-directory",
    515       "--mode",
    516       "0777",
    517       "[START_DIR]/swarming_temp_dir"
    518     ],
    519     "infra_step": true,
    520     "name": "makedirs swarming tmp dir (2)"
    521   },
    522   {
    523     "cmd": [
    524       "python",
    525       "-u",
    526       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    527       "--json-output",
    528       "/path/to/tmp/json",
    529       "copy",
    530       "{\n    \"args\": [\n        \"--isolate\", \n        \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct/ct_skps.isolate\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-ct-nanobench-2.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Release\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs\", \n        \"--extra-variable\", \n        \"GIT_HASH\", \n        \"9046e2e693bb92a76e972b694580e5d17ad10748\", \n        \"--extra-variable\", \n        \"SLAVE_NUM\", \n        \"2\", \n        \"--extra-variable\", \n        \"TOOL_NAME\", \n        \"nanobench\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
    531       "[START_DIR]/swarming_temp_dir/ct-nanobench-2.isolated.gen.json"
    532     ],
    533     "infra_step": true,
    534     "name": "Write ct-nanobench-2.isolated.gen.json"
    535   },
    536   {
    537     "cmd": [
    538       "python",
    539       "-u",
    540       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    541       "--json-output",
    542       "/path/to/tmp/json",
    543       "rmtree",
    544       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave3"
    545     ],
    546     "infra_step": true,
    547     "name": "rmtree slave3"
    548   },
    549   {
    550     "cmd": [
    551       "python",
    552       "-u",
    553       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    554       "--json-output",
    555       "/path/to/tmp/json",
    556       "ensure-directory",
    557       "--mode",
    558       "0777",
    559       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave3"
    560     ],
    561     "infra_step": true,
    562     "name": "makedirs slave3"
    563   },
    564   {
    565     "cmd": [
    566       "python",
    567       "-u",
    568       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
    569       "--",
    570       "-m",
    571       "cp",
    572       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/21/*.skp",
    573       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/22/*.skp",
    574       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/23/*.skp",
    575       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/24/*.skp",
    576       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/25/*.skp",
    577       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/26/*.skp",
    578       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/27/*.skp",
    579       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/28/*.skp",
    580       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/29/*.skp",
    581       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/30/*.skp",
    582       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave3"
    583     ],
    584     "infra_step": true,
    585     "name": "gsutil cp (3)"
    586   },
    587   {
    588     "cmd": [
    589       "python",
    590       "-u",
    591       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    592       "--json-output",
    593       "/path/to/tmp/json",
    594       "ensure-directory",
    595       "--mode",
    596       "0777",
    597       "[START_DIR]/swarming_temp_dir"
    598     ],
    599     "infra_step": true,
    600     "name": "makedirs swarming tmp dir (3)"
    601   },
    602   {
    603     "cmd": [
    604       "python",
    605       "-u",
    606       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    607       "--json-output",
    608       "/path/to/tmp/json",
    609       "copy",
    610       "{\n    \"args\": [\n        \"--isolate\", \n        \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct/ct_skps.isolate\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-ct-nanobench-3.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Release\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs\", \n        \"--extra-variable\", \n        \"GIT_HASH\", \n        \"9046e2e693bb92a76e972b694580e5d17ad10748\", \n        \"--extra-variable\", \n        \"SLAVE_NUM\", \n        \"3\", \n        \"--extra-variable\", \n        \"TOOL_NAME\", \n        \"nanobench\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
    611       "[START_DIR]/swarming_temp_dir/ct-nanobench-3.isolated.gen.json"
    612     ],
    613     "infra_step": true,
    614     "name": "Write ct-nanobench-3.isolated.gen.json"
    615   },
    616   {
    617     "cmd": [
    618       "python",
    619       "-u",
    620       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    621       "--json-output",
    622       "/path/to/tmp/json",
    623       "rmtree",
    624       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave4"
    625     ],
    626     "infra_step": true,
    627     "name": "rmtree slave4"
    628   },
    629   {
    630     "cmd": [
    631       "python",
    632       "-u",
    633       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    634       "--json-output",
    635       "/path/to/tmp/json",
    636       "ensure-directory",
    637       "--mode",
    638       "0777",
    639       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave4"
    640     ],
    641     "infra_step": true,
    642     "name": "makedirs slave4"
    643   },
    644   {
    645     "cmd": [
    646       "python",
    647       "-u",
    648       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
    649       "--",
    650       "-m",
    651       "cp",
    652       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/31/*.skp",
    653       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/32/*.skp",
    654       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/33/*.skp",
    655       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/34/*.skp",
    656       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/35/*.skp",
    657       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/36/*.skp",
    658       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/37/*.skp",
    659       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/38/*.skp",
    660       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/39/*.skp",
    661       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/40/*.skp",
    662       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave4"
    663     ],
    664     "infra_step": true,
    665     "name": "gsutil cp (4)"
    666   },
    667   {
    668     "cmd": [
    669       "python",
    670       "-u",
    671       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    672       "--json-output",
    673       "/path/to/tmp/json",
    674       "ensure-directory",
    675       "--mode",
    676       "0777",
    677       "[START_DIR]/swarming_temp_dir"
    678     ],
    679     "infra_step": true,
    680     "name": "makedirs swarming tmp dir (4)"
    681   },
    682   {
    683     "cmd": [
    684       "python",
    685       "-u",
    686       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    687       "--json-output",
    688       "/path/to/tmp/json",
    689       "copy",
    690       "{\n    \"args\": [\n        \"--isolate\", \n        \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct/ct_skps.isolate\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-ct-nanobench-4.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Release\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs\", \n        \"--extra-variable\", \n        \"GIT_HASH\", \n        \"9046e2e693bb92a76e972b694580e5d17ad10748\", \n        \"--extra-variable\", \n        \"SLAVE_NUM\", \n        \"4\", \n        \"--extra-variable\", \n        \"TOOL_NAME\", \n        \"nanobench\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
    691       "[START_DIR]/swarming_temp_dir/ct-nanobench-4.isolated.gen.json"
    692     ],
    693     "infra_step": true,
    694     "name": "Write ct-nanobench-4.isolated.gen.json"
    695   },
    696   {
    697     "cmd": [
    698       "python",
    699       "-u",
    700       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    701       "--json-output",
    702       "/path/to/tmp/json",
    703       "rmtree",
    704       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave5"
    705     ],
    706     "infra_step": true,
    707     "name": "rmtree slave5"
    708   },
    709   {
    710     "cmd": [
    711       "python",
    712       "-u",
    713       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    714       "--json-output",
    715       "/path/to/tmp/json",
    716       "ensure-directory",
    717       "--mode",
    718       "0777",
    719       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave5"
    720     ],
    721     "infra_step": true,
    722     "name": "makedirs slave5"
    723   },
    724   {
    725     "cmd": [
    726       "python",
    727       "-u",
    728       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
    729       "--",
    730       "-m",
    731       "cp",
    732       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/41/*.skp",
    733       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/42/*.skp",
    734       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/43/*.skp",
    735       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/44/*.skp",
    736       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/45/*.skp",
    737       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/46/*.skp",
    738       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/47/*.skp",
    739       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/48/*.skp",
    740       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/49/*.skp",
    741       "gs://cluster-telemetry/swarming/skps/10k/c37e844a6f8708-eee762104c75bd/50/*.skp",
    742       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/slave5"
    743     ],
    744     "infra_step": true,
    745     "name": "gsutil cp (5)"
    746   },
    747   {
    748     "cmd": [
    749       "python",
    750       "-u",
    751       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    752       "--json-output",
    753       "/path/to/tmp/json",
    754       "ensure-directory",
    755       "--mode",
    756       "0777",
    757       "[START_DIR]/swarming_temp_dir"
    758     ],
    759     "infra_step": true,
    760     "name": "makedirs swarming tmp dir (5)"
    761   },
    762   {
    763     "cmd": [
    764       "python",
    765       "-u",
    766       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    767       "--json-output",
    768       "/path/to/tmp/json",
    769       "copy",
    770       "{\n    \"args\": [\n        \"--isolate\", \n        \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct/ct_skps.isolate\", \n        \"--isolated\", \n        \"[START_DIR]/swarming_temp_dir/skia-task-ct-nanobench-5.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Release\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs\", \n        \"--extra-variable\", \n        \"GIT_HASH\", \n        \"9046e2e693bb92a76e972b694580e5d17ad10748\", \n        \"--extra-variable\", \n        \"SLAVE_NUM\", \n        \"5\", \n        \"--extra-variable\", \n        \"TOOL_NAME\", \n        \"nanobench\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
    771       "[START_DIR]/swarming_temp_dir/ct-nanobench-5.isolated.gen.json"
    772     ],
    773     "infra_step": true,
    774     "name": "Write ct-nanobench-5.isolated.gen.json"
    775   },
    776   {
    777     "cmd": [
    778       "python",
    779       "-u",
    780       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
    781       "--json-output",
    782       "/path/to/tmp/json",
    783       "copy",
    784       "{\"chromium_build\": \"c37e844a6f8708-eee762104c75bd\", \"num_slaves\": 5, \"page_type\": \"10k\"}",
    785       "[CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/skps_version"
    786     ],
    787     "infra_step": true,
    788     "name": "Create [CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/skps_version"
    789   },
    790   {
    791     "cmd": [
    792       "python",
    793       "-u",
    794       "RECIPE_MODULE[skia::isolate]/resources/isolate.py",
    795       "[START_DIR]/swarming.client",
    796       "batcharchive",
    797       "--dump-json",
    798       "/path/to/tmp/json",
    799       "--isolate-server",
    800       "https://isolateserver.appspot.com",
    801       "--verbose",
    802       "[START_DIR]/swarming_temp_dir/ct-nanobench-1.isolated.gen.json",
    803       "[START_DIR]/swarming_temp_dir/ct-nanobench-2.isolated.gen.json",
    804       "[START_DIR]/swarming_temp_dir/ct-nanobench-3.isolated.gen.json",
    805       "[START_DIR]/swarming_temp_dir/ct-nanobench-4.isolated.gen.json",
    806       "[START_DIR]/swarming_temp_dir/ct-nanobench-5.isolated.gen.json"
    807     ],
    808     "name": "isolate tests",
    809     "~followup_annotations": [
    810       "@@@STEP_LOG_LINE (a] json.output@{@@@",
    811       "@@@STEP_LOG_LINE (a] json.output@  \"ct-nanobench-1\": \"[dummy hash for ct-nanobench-1]\", @@@",
    812       "@@@STEP_LOG_LINE (a] json.output@  \"ct-nanobench-2\": \"[dummy hash for ct-nanobench-2]\", @@@",
    813       "@@@STEP_LOG_LINE (a] json.output@  \"ct-nanobench-3\": \"[dummy hash for ct-nanobench-3]\", @@@",
    814       "@@@STEP_LOG_LINE (a] json.output@  \"ct-nanobench-4\": \"[dummy hash for ct-nanobench-4]\", @@@",
    815       "@@@STEP_LOG_LINE (a] json.output@  \"ct-nanobench-5\": \"[dummy hash for ct-nanobench-5]\"@@@",
    816       "@@@STEP_LOG_LINE (a] json.output@}@@@",
    817       "@@@STEP_LOG_END (a] json.output@@@",
    818       "@@@SET_BUILD_PROPERTY@swarm_hashes@{\"ct-nanobench-1\": \"[dummy hash for ct-nanobench-1]\", \"ct-nanobench-2\": \"[dummy hash for ct-nanobench-2]\", \"ct-nanobench-3\": \"[dummy hash for ct-nanobench-3]\", \"ct-nanobench-4\": \"[dummy hash for ct-nanobench-4]\", \"ct-nanobench-5\": \"[dummy hash for ct-nanobench-5]\"}@@@"
    819     ]
    820   },
    821   {
    822     "cmd": [
    823       "python",
    824       "-u",
    825       "[START_DIR]/swarming.client/swarming.py",
    826       "trigger",
    827       "--swarming",
    828       "https://chromium-swarm.appspot.com",
    829       "--isolate-server",
    830       "https://isolateserver.appspot.com",
    831       "--priority",
    832       "90",
    833       "--shards",
    834       "1",
    835       "--task-name",
    836       "ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1",
    837       "--dump-json",
    838       "/path/to/tmp/json",
    839       "--expiration",
    840       "72000",
    841       "--io-timeout",
    842       "2400",
    843       "--hard-timeout",
    844       "14400",
    845       "--dimension",
    846       "cpu",
    847       "x86-64",
    848       "--dimension",
    849       "gpu",
    850       "10de:104a",
    851       "--dimension",
    852       "os",
    853       "Ubuntu-14.04",
    854       "--dimension",
    855       "pool",
    856       "Chrome",
    857       "--tag",
    858       "allow_milo:1",
    859       "--tag",
    860       "buildername:Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs",
    861       "--tag",
    862       "data:[dummy hash for ct-nanobench-1]",
    863       "--tag",
    864       "name:ct-nanobench-1",
    865       "--tag",
    866       "os:Ubuntu-14.04",
    867       "--tag",
    868       "revision:abc123",
    869       "--tag",
    870       "stepname:ct-nanobench-1",
    871       "--isolated",
    872       "[dummy hash for ct-nanobench-1]"
    873     ],
    874     "infra_step": true,
    875     "name": "[trigger] ct-nanobench-1",
    876     "~followup_annotations": [
    877       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
    878       "@@@STEP_LOG_LINE (a] json.output@{@@@",
    879       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", @@@",
    880       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
    881       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {@@@",
    882       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
    883       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
    884       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
    885       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
    886       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
    887       "@@@STEP_LOG_LINE (a] json.output@}@@@",
    888       "@@@STEP_LOG_END (a] json.output@@@",
    889       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
    890     ]
    891   },
    892   {
    893     "cmd": [
    894       "python",
    895       "-u",
    896       "[START_DIR]/swarming.client/swarming.py",
    897       "trigger",
    898       "--swarming",
    899       "https://chromium-swarm.appspot.com",
    900       "--isolate-server",
    901       "https://isolateserver.appspot.com",
    902       "--priority",
    903       "90",
    904       "--shards",
    905       "1",
    906       "--task-name",
    907       "ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1",
    908       "--dump-json",
    909       "/path/to/tmp/json",
    910       "--expiration",
    911       "72000",
    912       "--io-timeout",
    913       "2400",
    914       "--hard-timeout",
    915       "14400",
    916       "--dimension",
    917       "cpu",
    918       "x86-64",
    919       "--dimension",
    920       "gpu",
    921       "10de:104a",
    922       "--dimension",
    923       "os",
    924       "Ubuntu-14.04",
    925       "--dimension",
    926       "pool",
    927       "Chrome",
    928       "--tag",
    929       "allow_milo:1",
    930       "--tag",
    931       "buildername:Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs",
    932       "--tag",
    933       "data:[dummy hash for ct-nanobench-2]",
    934       "--tag",
    935       "name:ct-nanobench-2",
    936       "--tag",
    937       "os:Ubuntu-14.04",
    938       "--tag",
    939       "revision:abc123",
    940       "--tag",
    941       "stepname:ct-nanobench-2",
    942       "--isolated",
    943       "[dummy hash for ct-nanobench-2]"
    944     ],
    945     "infra_step": true,
    946     "name": "[trigger] ct-nanobench-2",
    947     "~followup_annotations": [
    948       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
    949       "@@@STEP_LOG_LINE (a] json.output@{@@@",
    950       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", @@@",
    951       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
    952       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {@@@",
    953       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
    954       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
    955       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
    956       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
    957       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
    958       "@@@STEP_LOG_LINE (a] json.output@}@@@",
    959       "@@@STEP_LOG_END (a] json.output@@@",
    960       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
    961     ]
    962   },
    963   {
    964     "cmd": [
    965       "python",
    966       "-u",
    967       "[START_DIR]/swarming.client/swarming.py",
    968       "trigger",
    969       "--swarming",
    970       "https://chromium-swarm.appspot.com",
    971       "--isolate-server",
    972       "https://isolateserver.appspot.com",
    973       "--priority",
    974       "90",
    975       "--shards",
    976       "1",
    977       "--task-name",
    978       "ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1",
    979       "--dump-json",
    980       "/path/to/tmp/json",
    981       "--expiration",
    982       "72000",
    983       "--io-timeout",
    984       "2400",
    985       "--hard-timeout",
    986       "14400",
    987       "--dimension",
    988       "cpu",
    989       "x86-64",
    990       "--dimension",
    991       "gpu",
    992       "10de:104a",
    993       "--dimension",
    994       "os",
    995       "Ubuntu-14.04",
    996       "--dimension",
    997       "pool",
    998       "Chrome",
    999       "--tag",
   1000       "allow_milo:1",
   1001       "--tag",
   1002       "buildername:Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs",
   1003       "--tag",
   1004       "data:[dummy hash for ct-nanobench-3]",
   1005       "--tag",
   1006       "name:ct-nanobench-3",
   1007       "--tag",
   1008       "os:Ubuntu-14.04",
   1009       "--tag",
   1010       "revision:abc123",
   1011       "--tag",
   1012       "stepname:ct-nanobench-3",
   1013       "--isolated",
   1014       "[dummy hash for ct-nanobench-3]"
   1015     ],
   1016     "infra_step": true,
   1017     "name": "[trigger] ct-nanobench-3",
   1018     "~followup_annotations": [
   1019       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
   1020       "@@@STEP_LOG_LINE (a] json.output@{@@@",
   1021       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", @@@",
   1022       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
   1023       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {@@@",
   1024       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
   1025       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
   1026       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
   1027       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
   1028       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
   1029       "@@@STEP_LOG_LINE (a] json.output@}@@@",
   1030       "@@@STEP_LOG_END (a] json.output@@@",
   1031       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
   1032     ]
   1033   },
   1034   {
   1035     "cmd": [
   1036       "python",
   1037       "-u",
   1038       "[START_DIR]/swarming.client/swarming.py",
   1039       "trigger",
   1040       "--swarming",
   1041       "https://chromium-swarm.appspot.com",
   1042       "--isolate-server",
   1043       "https://isolateserver.appspot.com",
   1044       "--priority",
   1045       "90",
   1046       "--shards",
   1047       "1",
   1048       "--task-name",
   1049       "ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1",
   1050       "--dump-json",
   1051       "/path/to/tmp/json",
   1052       "--expiration",
   1053       "72000",
   1054       "--io-timeout",
   1055       "2400",
   1056       "--hard-timeout",
   1057       "14400",
   1058       "--dimension",
   1059       "cpu",
   1060       "x86-64",
   1061       "--dimension",
   1062       "gpu",
   1063       "10de:104a",
   1064       "--dimension",
   1065       "os",
   1066       "Ubuntu-14.04",
   1067       "--dimension",
   1068       "pool",
   1069       "Chrome",
   1070       "--tag",
   1071       "allow_milo:1",
   1072       "--tag",
   1073       "buildername:Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs",
   1074       "--tag",
   1075       "data:[dummy hash for ct-nanobench-4]",
   1076       "--tag",
   1077       "name:ct-nanobench-4",
   1078       "--tag",
   1079       "os:Ubuntu-14.04",
   1080       "--tag",
   1081       "revision:abc123",
   1082       "--tag",
   1083       "stepname:ct-nanobench-4",
   1084       "--isolated",
   1085       "[dummy hash for ct-nanobench-4]"
   1086     ],
   1087     "infra_step": true,
   1088     "name": "[trigger] ct-nanobench-4",
   1089     "~followup_annotations": [
   1090       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
   1091       "@@@STEP_LOG_LINE (a] json.output@{@@@",
   1092       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", @@@",
   1093       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
   1094       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {@@@",
   1095       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
   1096       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
   1097       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
   1098       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
   1099       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
   1100       "@@@STEP_LOG_LINE (a] json.output@}@@@",
   1101       "@@@STEP_LOG_END (a] json.output@@@",
   1102       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
   1103     ]
   1104   },
   1105   {
   1106     "cmd": [
   1107       "python",
   1108       "-u",
   1109       "[START_DIR]/swarming.client/swarming.py",
   1110       "trigger",
   1111       "--swarming",
   1112       "https://chromium-swarm.appspot.com",
   1113       "--isolate-server",
   1114       "https://isolateserver.appspot.com",
   1115       "--priority",
   1116       "90",
   1117       "--shards",
   1118       "1",
   1119       "--task-name",
   1120       "ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1",
   1121       "--dump-json",
   1122       "/path/to/tmp/json",
   1123       "--expiration",
   1124       "72000",
   1125       "--io-timeout",
   1126       "2400",
   1127       "--hard-timeout",
   1128       "14400",
   1129       "--dimension",
   1130       "cpu",
   1131       "x86-64",
   1132       "--dimension",
   1133       "gpu",
   1134       "10de:104a",
   1135       "--dimension",
   1136       "os",
   1137       "Ubuntu-14.04",
   1138       "--dimension",
   1139       "pool",
   1140       "Chrome",
   1141       "--tag",
   1142       "allow_milo:1",
   1143       "--tag",
   1144       "buildername:Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs",
   1145       "--tag",
   1146       "data:[dummy hash for ct-nanobench-5]",
   1147       "--tag",
   1148       "name:ct-nanobench-5",
   1149       "--tag",
   1150       "os:Ubuntu-14.04",
   1151       "--tag",
   1152       "revision:abc123",
   1153       "--tag",
   1154       "stepname:ct-nanobench-5",
   1155       "--isolated",
   1156       "[dummy hash for ct-nanobench-5]"
   1157     ],
   1158     "infra_step": true,
   1159     "name": "[trigger] ct-nanobench-5",
   1160     "~followup_annotations": [
   1161       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
   1162       "@@@STEP_LOG_LINE (a] json.output@{@@@",
   1163       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", @@@",
   1164       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
   1165       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {@@@",
   1166       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
   1167       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
   1168       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
   1169       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
   1170       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
   1171       "@@@STEP_LOG_LINE (a] json.output@}@@@",
   1172       "@@@STEP_LOG_END (a] json.output@@@",
   1173       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@",
   1174       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/10000@@@"
   1175     ]
   1176   },
   1177   {
   1178     "cmd": [
   1179       "python",
   1180       "-u",
   1181       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1182       "-o",
   1183       "/path/to/tmp/json",
   1184       "--task-output-dir",
   1185       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1",
   1186       "--merge-script",
   1187       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1188       "--merge-additional-args",
   1189       "[]",
   1190       "--",
   1191       "python",
   1192       "-u",
   1193       "[START_DIR]/swarming.client/swarming.py",
   1194       "collect",
   1195       "--swarming",
   1196       "https://chromium-swarm.appspot.com",
   1197       "--decorate",
   1198       "--print-status-updates",
   1199       "--json",
   1200       "{\"base_task_name\": \"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", \"tasks\": {\"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1201       "--task-summary-json",
   1202       "/path/to/tmp/json"
   1203     ],
   1204     "name": "ct-nanobench-1",
   1205     "~followup_annotations": [
   1206       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1207       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1208       "@@@STEP_LOG_END (a] json.output@@@",
   1209       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1210       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1211       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1212       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1213       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1214       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1215       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1216       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1217       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1218       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1219       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1220       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1221       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1222       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1223       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1224       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1225       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1226       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1227       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1228       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1229       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1230       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1231       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1232       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1233       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1234       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1235       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1236       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1237       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1238       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1239       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1240       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1241       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1242       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1243       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1244       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1245       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1246       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1247       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1248       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1249       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1250       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1251       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1252     ]
   1253   },
   1254   {
   1255     "cmd": [
   1256       "python",
   1257       "-u",
   1258       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1259       "--json-output",
   1260       "/path/to/tmp/json",
   1261       "listdir",
   1262       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0"
   1263     ],
   1264     "infra_step": true,
   1265     "name": "listdir output dir",
   1266     "stdout": "/path/to/tmp/",
   1267     "~followup_annotations": [
   1268       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 1@@@",
   1269       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 2@@@",
   1270       "@@@STEP_LOG_END@listdir@@@"
   1271     ]
   1272   },
   1273   {
   1274     "cmd": [
   1275       "python",
   1276       "-u",
   1277       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1278       "--",
   1279       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1280       "----",
   1281       "cp",
   1282       "-R",
   1283       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 1",
   1284       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1285     ],
   1286     "env": {
   1287       "AWS_CREDENTIAL_FILE": null,
   1288       "BOTO_CONFIG": null
   1289     },
   1290     "infra_step": true,
   1291     "name": "gsutil upload json output",
   1292     "~followup_annotations": [
   1293       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1294     ]
   1295   },
   1296   {
   1297     "cmd": [
   1298       "python",
   1299       "-u",
   1300       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1301       "--",
   1302       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1303       "----",
   1304       "cp",
   1305       "-R",
   1306       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 2",
   1307       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1308     ],
   1309     "env": {
   1310       "AWS_CREDENTIAL_FILE": null,
   1311       "BOTO_CONFIG": null
   1312     },
   1313     "infra_step": true,
   1314     "name": "gsutil upload json output (2)",
   1315     "~followup_annotations": [
   1316       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1317     ]
   1318   },
   1319   {
   1320     "cmd": [
   1321       "python",
   1322       "-u",
   1323       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1324       "-o",
   1325       "/path/to/tmp/json",
   1326       "--task-output-dir",
   1327       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2",
   1328       "--merge-script",
   1329       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1330       "--merge-additional-args",
   1331       "[]",
   1332       "--",
   1333       "python",
   1334       "-u",
   1335       "[START_DIR]/swarming.client/swarming.py",
   1336       "collect",
   1337       "--swarming",
   1338       "https://chromium-swarm.appspot.com",
   1339       "--decorate",
   1340       "--print-status-updates",
   1341       "--json",
   1342       "{\"base_task_name\": \"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", \"tasks\": {\"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1343       "--task-summary-json",
   1344       "/path/to/tmp/json"
   1345     ],
   1346     "name": "ct-nanobench-2",
   1347     "~followup_annotations": [
   1348       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1349       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1350       "@@@STEP_LOG_END (a] json.output@@@",
   1351       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1352       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1353       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1354       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1355       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1356       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1357       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1358       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1359       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1360       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1361       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1362       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1363       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1364       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1365       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1366       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1367       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1368       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1369       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1370       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1371       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1372       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1373       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1374       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1375       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1376       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1377       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1378       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1379       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1380       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1381       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1382       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1383       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1384       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1385       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1386       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1387       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1388       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1389       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1390       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1391       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1392       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1393       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1394     ]
   1395   },
   1396   {
   1397     "cmd": [
   1398       "python",
   1399       "-u",
   1400       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1401       "--json-output",
   1402       "/path/to/tmp/json",
   1403       "listdir",
   1404       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0"
   1405     ],
   1406     "infra_step": true,
   1407     "name": "listdir output dir (2)",
   1408     "stdout": "/path/to/tmp/",
   1409     "~followup_annotations": [
   1410       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 1@@@",
   1411       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 2@@@",
   1412       "@@@STEP_LOG_END@listdir@@@"
   1413     ]
   1414   },
   1415   {
   1416     "cmd": [
   1417       "python",
   1418       "-u",
   1419       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1420       "--",
   1421       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1422       "----",
   1423       "cp",
   1424       "-R",
   1425       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 1",
   1426       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1427     ],
   1428     "env": {
   1429       "AWS_CREDENTIAL_FILE": null,
   1430       "BOTO_CONFIG": null
   1431     },
   1432     "infra_step": true,
   1433     "name": "gsutil upload json output (3)",
   1434     "~followup_annotations": [
   1435       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1436     ]
   1437   },
   1438   {
   1439     "cmd": [
   1440       "python",
   1441       "-u",
   1442       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1443       "--",
   1444       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1445       "----",
   1446       "cp",
   1447       "-R",
   1448       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 2",
   1449       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1450     ],
   1451     "env": {
   1452       "AWS_CREDENTIAL_FILE": null,
   1453       "BOTO_CONFIG": null
   1454     },
   1455     "infra_step": true,
   1456     "name": "gsutil upload json output (4)",
   1457     "~followup_annotations": [
   1458       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1459     ]
   1460   },
   1461   {
   1462     "cmd": [
   1463       "python",
   1464       "-u",
   1465       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1466       "-o",
   1467       "/path/to/tmp/json",
   1468       "--task-output-dir",
   1469       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3",
   1470       "--merge-script",
   1471       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1472       "--merge-additional-args",
   1473       "[]",
   1474       "--",
   1475       "python",
   1476       "-u",
   1477       "[START_DIR]/swarming.client/swarming.py",
   1478       "collect",
   1479       "--swarming",
   1480       "https://chromium-swarm.appspot.com",
   1481       "--decorate",
   1482       "--print-status-updates",
   1483       "--json",
   1484       "{\"base_task_name\": \"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", \"tasks\": {\"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1485       "--task-summary-json",
   1486       "/path/to/tmp/json"
   1487     ],
   1488     "name": "ct-nanobench-3",
   1489     "~followup_annotations": [
   1490       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1491       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1492       "@@@STEP_LOG_END (a] json.output@@@",
   1493       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1494       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1495       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1496       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1497       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1498       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1499       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1500       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1501       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1502       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1503       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1504       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1505       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1506       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1507       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1508       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1509       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1510       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1511       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1512       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1513       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1514       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1515       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1516       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1517       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1518       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1519       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1520       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1521       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1522       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1523       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1524       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1525       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1526       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1527       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1528       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1529       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1530       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1531       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1532       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1533       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1534       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1535       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1536     ]
   1537   },
   1538   {
   1539     "cmd": [
   1540       "python",
   1541       "-u",
   1542       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1543       "--json-output",
   1544       "/path/to/tmp/json",
   1545       "listdir",
   1546       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0"
   1547     ],
   1548     "infra_step": true,
   1549     "name": "listdir output dir (3)",
   1550     "stdout": "/path/to/tmp/",
   1551     "~followup_annotations": [
   1552       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 1@@@",
   1553       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 2@@@",
   1554       "@@@STEP_LOG_END@listdir@@@"
   1555     ]
   1556   },
   1557   {
   1558     "cmd": [
   1559       "python",
   1560       "-u",
   1561       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1562       "--",
   1563       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1564       "----",
   1565       "cp",
   1566       "-R",
   1567       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 1",
   1568       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1569     ],
   1570     "env": {
   1571       "AWS_CREDENTIAL_FILE": null,
   1572       "BOTO_CONFIG": null
   1573     },
   1574     "infra_step": true,
   1575     "name": "gsutil upload json output (5)",
   1576     "~followup_annotations": [
   1577       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1578     ]
   1579   },
   1580   {
   1581     "cmd": [
   1582       "python",
   1583       "-u",
   1584       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1585       "--",
   1586       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1587       "----",
   1588       "cp",
   1589       "-R",
   1590       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 2",
   1591       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1592     ],
   1593     "env": {
   1594       "AWS_CREDENTIAL_FILE": null,
   1595       "BOTO_CONFIG": null
   1596     },
   1597     "infra_step": true,
   1598     "name": "gsutil upload json output (6)",
   1599     "~followup_annotations": [
   1600       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1601     ]
   1602   },
   1603   {
   1604     "cmd": [
   1605       "python",
   1606       "-u",
   1607       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1608       "-o",
   1609       "/path/to/tmp/json",
   1610       "--task-output-dir",
   1611       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4",
   1612       "--merge-script",
   1613       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1614       "--merge-additional-args",
   1615       "[]",
   1616       "--",
   1617       "python",
   1618       "-u",
   1619       "[START_DIR]/swarming.client/swarming.py",
   1620       "collect",
   1621       "--swarming",
   1622       "https://chromium-swarm.appspot.com",
   1623       "--decorate",
   1624       "--print-status-updates",
   1625       "--json",
   1626       "{\"base_task_name\": \"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", \"tasks\": {\"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1627       "--task-summary-json",
   1628       "/path/to/tmp/json"
   1629     ],
   1630     "name": "ct-nanobench-4",
   1631     "~followup_annotations": [
   1632       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1633       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1634       "@@@STEP_LOG_END (a] json.output@@@",
   1635       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1636       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1637       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1638       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1639       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1640       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1641       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1642       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1643       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1644       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1645       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1646       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1647       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1648       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1649       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1650       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1651       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1652       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1653       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1654       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1655       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1656       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1657       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1658       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1659       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1660       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1661       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1662       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1663       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1664       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1665       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1666       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1667       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1668       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1669       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1670       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1671       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1672       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1673       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1674       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1675       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1676       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1677       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1678     ]
   1679   },
   1680   {
   1681     "cmd": [
   1682       "python",
   1683       "-u",
   1684       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1685       "--json-output",
   1686       "/path/to/tmp/json",
   1687       "listdir",
   1688       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0"
   1689     ],
   1690     "infra_step": true,
   1691     "name": "listdir output dir (4)",
   1692     "stdout": "/path/to/tmp/",
   1693     "~followup_annotations": [
   1694       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 1@@@",
   1695       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 2@@@",
   1696       "@@@STEP_LOG_END@listdir@@@"
   1697     ]
   1698   },
   1699   {
   1700     "cmd": [
   1701       "python",
   1702       "-u",
   1703       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1704       "--",
   1705       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1706       "----",
   1707       "cp",
   1708       "-R",
   1709       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 1",
   1710       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1711     ],
   1712     "env": {
   1713       "AWS_CREDENTIAL_FILE": null,
   1714       "BOTO_CONFIG": null
   1715     },
   1716     "infra_step": true,
   1717     "name": "gsutil upload json output (7)",
   1718     "~followup_annotations": [
   1719       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1720     ]
   1721   },
   1722   {
   1723     "cmd": [
   1724       "python",
   1725       "-u",
   1726       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1727       "--",
   1728       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1729       "----",
   1730       "cp",
   1731       "-R",
   1732       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 2",
   1733       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1734     ],
   1735     "env": {
   1736       "AWS_CREDENTIAL_FILE": null,
   1737       "BOTO_CONFIG": null
   1738     },
   1739     "infra_step": true,
   1740     "name": "gsutil upload json output (8)",
   1741     "~followup_annotations": [
   1742       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1743     ]
   1744   },
   1745   {
   1746     "cmd": [
   1747       "python",
   1748       "-u",
   1749       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1750       "-o",
   1751       "/path/to/tmp/json",
   1752       "--task-output-dir",
   1753       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5",
   1754       "--merge-script",
   1755       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1756       "--merge-additional-args",
   1757       "[]",
   1758       "--",
   1759       "python",
   1760       "-u",
   1761       "[START_DIR]/swarming.client/swarming.py",
   1762       "collect",
   1763       "--swarming",
   1764       "https://chromium-swarm.appspot.com",
   1765       "--decorate",
   1766       "--print-status-updates",
   1767       "--json",
   1768       "{\"base_task_name\": \"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\", \"tasks\": {\"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-Golo-GPU-GT610-x86_64-Release-CT_BENCH_1k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1769       "--task-summary-json",
   1770       "/path/to/tmp/json"
   1771     ],
   1772     "name": "ct-nanobench-5",
   1773     "~followup_annotations": [
   1774       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1775       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1776       "@@@STEP_LOG_END (a] json.output@@@",
   1777       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1778       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1779       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1780       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1781       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1782       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1783       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1784       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1785       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1786       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1787       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1788       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1789       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1790       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1791       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1792       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1793       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1794       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1795       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1796       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1797       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1798       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1799       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1800       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1801       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1802       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1803       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1804       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1805       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1806       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1807       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1808       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1809       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1810       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1811       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1812       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1813       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1814       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1815       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1816       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1817       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1818       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1819       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1820     ]
   1821   },
   1822   {
   1823     "cmd": [
   1824       "python",
   1825       "-u",
   1826       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1827       "--json-output",
   1828       "/path/to/tmp/json",
   1829       "listdir",
   1830       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0"
   1831     ],
   1832     "infra_step": true,
   1833     "name": "listdir output dir (5)",
   1834     "stdout": "/path/to/tmp/",
   1835     "~followup_annotations": [
   1836       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 1@@@",
   1837       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 2@@@",
   1838       "@@@STEP_LOG_END@listdir@@@"
   1839     ]
   1840   },
   1841   {
   1842     "cmd": [
   1843       "python",
   1844       "-u",
   1845       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1846       "--",
   1847       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1848       "----",
   1849       "cp",
   1850       "-R",
   1851       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 1",
   1852       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1853     ],
   1854     "env": {
   1855       "AWS_CREDENTIAL_FILE": null,
   1856       "BOTO_CONFIG": null
   1857     },
   1858     "infra_step": true,
   1859     "name": "gsutil upload json output (9)",
   1860     "~followup_annotations": [
   1861       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1862     ]
   1863   },
   1864   {
   1865     "cmd": [
   1866       "python",
   1867       "-u",
   1868       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1869       "--",
   1870       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1871       "----",
   1872       "cp",
   1873       "-R",
   1874       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 2",
   1875       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1876     ],
   1877     "env": {
   1878       "AWS_CREDENTIAL_FILE": null,
   1879       "BOTO_CONFIG": null
   1880     },
   1881     "infra_step": true,
   1882     "name": "gsutil upload json output (10)",
   1883     "~followup_annotations": [
   1884       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1885     ]
   1886   },
   1887   {
   1888     "name": "$result",
   1889     "recipe_result": null,
   1890     "status_code": 0
   1891   }
   1892 ]