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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/skps_version"
    786     ],
    787     "infra_step": true,
    788     "name": "Create [CUSTOM_/_B_WORK]/skps/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_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       "os",
    850       "Ubuntu-14.04",
    851       "--dimension",
    852       "pool",
    853       "Chrome",
    854       "--tag",
    855       "allow_milo:1",
    856       "--tag",
    857       "buildername:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs",
    858       "--tag",
    859       "data:[dummy hash for ct-nanobench-1]",
    860       "--tag",
    861       "name:ct-nanobench-1",
    862       "--tag",
    863       "os:Ubuntu-14.04",
    864       "--tag",
    865       "revision:abc123",
    866       "--tag",
    867       "stepname:ct-nanobench-1",
    868       "--isolated",
    869       "[dummy hash for ct-nanobench-1]"
    870     ],
    871     "infra_step": true,
    872     "name": "[trigger] ct-nanobench-1",
    873     "~followup_annotations": [
    874       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
    875       "@@@STEP_LOG_LINE (a] json.output@{@@@",
    876       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", @@@",
    877       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
    878       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {@@@",
    879       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
    880       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
    881       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
    882       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
    883       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
    884       "@@@STEP_LOG_LINE (a] json.output@}@@@",
    885       "@@@STEP_LOG_END (a] json.output@@@",
    886       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
    887     ]
    888   },
    889   {
    890     "cmd": [
    891       "python",
    892       "-u",
    893       "[START_DIR]/swarming.client/swarming.py",
    894       "trigger",
    895       "--swarming",
    896       "https://chromium-swarm.appspot.com",
    897       "--isolate-server",
    898       "https://isolateserver.appspot.com",
    899       "--priority",
    900       "90",
    901       "--shards",
    902       "1",
    903       "--task-name",
    904       "ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1",
    905       "--dump-json",
    906       "/path/to/tmp/json",
    907       "--expiration",
    908       "72000",
    909       "--io-timeout",
    910       "2400",
    911       "--hard-timeout",
    912       "14400",
    913       "--dimension",
    914       "cpu",
    915       "x86-64",
    916       "--dimension",
    917       "os",
    918       "Ubuntu-14.04",
    919       "--dimension",
    920       "pool",
    921       "Chrome",
    922       "--tag",
    923       "allow_milo:1",
    924       "--tag",
    925       "buildername:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs",
    926       "--tag",
    927       "data:[dummy hash for ct-nanobench-2]",
    928       "--tag",
    929       "name:ct-nanobench-2",
    930       "--tag",
    931       "os:Ubuntu-14.04",
    932       "--tag",
    933       "revision:abc123",
    934       "--tag",
    935       "stepname:ct-nanobench-2",
    936       "--isolated",
    937       "[dummy hash for ct-nanobench-2]"
    938     ],
    939     "infra_step": true,
    940     "name": "[trigger] ct-nanobench-2",
    941     "~followup_annotations": [
    942       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
    943       "@@@STEP_LOG_LINE (a] json.output@{@@@",
    944       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", @@@",
    945       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
    946       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {@@@",
    947       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
    948       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
    949       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
    950       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
    951       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
    952       "@@@STEP_LOG_LINE (a] json.output@}@@@",
    953       "@@@STEP_LOG_END (a] json.output@@@",
    954       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
    955     ]
    956   },
    957   {
    958     "cmd": [
    959       "python",
    960       "-u",
    961       "[START_DIR]/swarming.client/swarming.py",
    962       "trigger",
    963       "--swarming",
    964       "https://chromium-swarm.appspot.com",
    965       "--isolate-server",
    966       "https://isolateserver.appspot.com",
    967       "--priority",
    968       "90",
    969       "--shards",
    970       "1",
    971       "--task-name",
    972       "ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1",
    973       "--dump-json",
    974       "/path/to/tmp/json",
    975       "--expiration",
    976       "72000",
    977       "--io-timeout",
    978       "2400",
    979       "--hard-timeout",
    980       "14400",
    981       "--dimension",
    982       "cpu",
    983       "x86-64",
    984       "--dimension",
    985       "os",
    986       "Ubuntu-14.04",
    987       "--dimension",
    988       "pool",
    989       "Chrome",
    990       "--tag",
    991       "allow_milo:1",
    992       "--tag",
    993       "buildername:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs",
    994       "--tag",
    995       "data:[dummy hash for ct-nanobench-3]",
    996       "--tag",
    997       "name:ct-nanobench-3",
    998       "--tag",
    999       "os:Ubuntu-14.04",
   1000       "--tag",
   1001       "revision:abc123",
   1002       "--tag",
   1003       "stepname:ct-nanobench-3",
   1004       "--isolated",
   1005       "[dummy hash for ct-nanobench-3]"
   1006     ],
   1007     "infra_step": true,
   1008     "name": "[trigger] ct-nanobench-3",
   1009     "~followup_annotations": [
   1010       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
   1011       "@@@STEP_LOG_LINE (a] json.output@{@@@",
   1012       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", @@@",
   1013       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
   1014       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {@@@",
   1015       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
   1016       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
   1017       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
   1018       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
   1019       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
   1020       "@@@STEP_LOG_LINE (a] json.output@}@@@",
   1021       "@@@STEP_LOG_END (a] json.output@@@",
   1022       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
   1023     ]
   1024   },
   1025   {
   1026     "cmd": [
   1027       "python",
   1028       "-u",
   1029       "[START_DIR]/swarming.client/swarming.py",
   1030       "trigger",
   1031       "--swarming",
   1032       "https://chromium-swarm.appspot.com",
   1033       "--isolate-server",
   1034       "https://isolateserver.appspot.com",
   1035       "--priority",
   1036       "90",
   1037       "--shards",
   1038       "1",
   1039       "--task-name",
   1040       "ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1",
   1041       "--dump-json",
   1042       "/path/to/tmp/json",
   1043       "--expiration",
   1044       "72000",
   1045       "--io-timeout",
   1046       "2400",
   1047       "--hard-timeout",
   1048       "14400",
   1049       "--dimension",
   1050       "cpu",
   1051       "x86-64",
   1052       "--dimension",
   1053       "os",
   1054       "Ubuntu-14.04",
   1055       "--dimension",
   1056       "pool",
   1057       "Chrome",
   1058       "--tag",
   1059       "allow_milo:1",
   1060       "--tag",
   1061       "buildername:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs",
   1062       "--tag",
   1063       "data:[dummy hash for ct-nanobench-4]",
   1064       "--tag",
   1065       "name:ct-nanobench-4",
   1066       "--tag",
   1067       "os:Ubuntu-14.04",
   1068       "--tag",
   1069       "revision:abc123",
   1070       "--tag",
   1071       "stepname:ct-nanobench-4",
   1072       "--isolated",
   1073       "[dummy hash for ct-nanobench-4]"
   1074     ],
   1075     "infra_step": true,
   1076     "name": "[trigger] ct-nanobench-4",
   1077     "~followup_annotations": [
   1078       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
   1079       "@@@STEP_LOG_LINE (a] json.output@{@@@",
   1080       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", @@@",
   1081       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
   1082       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {@@@",
   1083       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
   1084       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
   1085       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
   1086       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
   1087       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
   1088       "@@@STEP_LOG_LINE (a] json.output@}@@@",
   1089       "@@@STEP_LOG_END (a] json.output@@@",
   1090       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@"
   1091     ]
   1092   },
   1093   {
   1094     "cmd": [
   1095       "python",
   1096       "-u",
   1097       "[START_DIR]/swarming.client/swarming.py",
   1098       "trigger",
   1099       "--swarming",
   1100       "https://chromium-swarm.appspot.com",
   1101       "--isolate-server",
   1102       "https://isolateserver.appspot.com",
   1103       "--priority",
   1104       "90",
   1105       "--shards",
   1106       "1",
   1107       "--task-name",
   1108       "ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1",
   1109       "--dump-json",
   1110       "/path/to/tmp/json",
   1111       "--expiration",
   1112       "72000",
   1113       "--io-timeout",
   1114       "2400",
   1115       "--hard-timeout",
   1116       "14400",
   1117       "--dimension",
   1118       "cpu",
   1119       "x86-64",
   1120       "--dimension",
   1121       "os",
   1122       "Ubuntu-14.04",
   1123       "--dimension",
   1124       "pool",
   1125       "Chrome",
   1126       "--tag",
   1127       "allow_milo:1",
   1128       "--tag",
   1129       "buildername:Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs",
   1130       "--tag",
   1131       "data:[dummy hash for ct-nanobench-5]",
   1132       "--tag",
   1133       "name:ct-nanobench-5",
   1134       "--tag",
   1135       "os:Ubuntu-14.04",
   1136       "--tag",
   1137       "revision:abc123",
   1138       "--tag",
   1139       "stepname:ct-nanobench-5",
   1140       "--isolated",
   1141       "[dummy hash for ct-nanobench-5]"
   1142     ],
   1143     "infra_step": true,
   1144     "name": "[trigger] ct-nanobench-5",
   1145     "~followup_annotations": [
   1146       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
   1147       "@@@STEP_LOG_LINE (a] json.output@{@@@",
   1148       "@@@STEP_LOG_LINE (a] json.output@  \"base_task_name\": \"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", @@@",
   1149       "@@@STEP_LOG_LINE (a] json.output@  \"tasks\": {@@@",
   1150       "@@@STEP_LOG_LINE (a] json.output@    \"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {@@@",
   1151       "@@@STEP_LOG_LINE (a] json.output@      \"shard_index\": 0, @@@",
   1152       "@@@STEP_LOG_LINE (a] json.output@      \"task_id\": \"10000\", @@@",
   1153       "@@@STEP_LOG_LINE (a] json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
   1154       "@@@STEP_LOG_LINE (a] json.output@    }@@@",
   1155       "@@@STEP_LOG_LINE (a] json.output@  }@@@",
   1156       "@@@STEP_LOG_LINE (a] json.output@}@@@",
   1157       "@@@STEP_LOG_END (a] json.output@@@",
   1158       "@@@STEP_LINK@shard #0@https://chromium-swarm.appspot.com/user/task/10000@@@",
   1159       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/10000@@@"
   1160     ]
   1161   },
   1162   {
   1163     "cmd": [
   1164       "python",
   1165       "-u",
   1166       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1167       "-o",
   1168       "/path/to/tmp/json",
   1169       "--task-output-dir",
   1170       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1",
   1171       "--merge-script",
   1172       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1173       "--merge-additional-args",
   1174       "[]",
   1175       "--",
   1176       "python",
   1177       "-u",
   1178       "[START_DIR]/swarming.client/swarming.py",
   1179       "collect",
   1180       "--swarming",
   1181       "https://chromium-swarm.appspot.com",
   1182       "--decorate",
   1183       "--print-status-updates",
   1184       "--json",
   1185       "{\"base_task_name\": \"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", \"tasks\": {\"ct-nanobench-1/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1186       "--task-summary-json",
   1187       "/path/to/tmp/json"
   1188     ],
   1189     "name": "ct-nanobench-1",
   1190     "~followup_annotations": [
   1191       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1192       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1193       "@@@STEP_LOG_END (a] json.output@@@",
   1194       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1195       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1196       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1197       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1198       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1199       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1200       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1201       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1202       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1203       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1204       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1205       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1206       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1207       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1208       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1209       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1210       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1211       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1212       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1213       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1214       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1215       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1216       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1217       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1218       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1219       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1220       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1221       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1222       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1223       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1224       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1225       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1226       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1227       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1228       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1229       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1230       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1231       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1232       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1233       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1234       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1235       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1236       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1237     ]
   1238   },
   1239   {
   1240     "cmd": [
   1241       "python",
   1242       "-u",
   1243       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1244       "--json-output",
   1245       "/path/to/tmp/json",
   1246       "listdir",
   1247       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0"
   1248     ],
   1249     "infra_step": true,
   1250     "name": "listdir output dir",
   1251     "stdout": "/path/to/tmp/",
   1252     "~followup_annotations": [
   1253       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 1@@@",
   1254       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 2@@@",
   1255       "@@@STEP_LOG_END@listdir@@@"
   1256     ]
   1257   },
   1258   {
   1259     "cmd": [
   1260       "python",
   1261       "-u",
   1262       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1263       "--",
   1264       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1265       "----",
   1266       "cp",
   1267       "-R",
   1268       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 1",
   1269       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1270     ],
   1271     "env": {
   1272       "AWS_CREDENTIAL_FILE": null,
   1273       "BOTO_CONFIG": null
   1274     },
   1275     "infra_step": true,
   1276     "name": "gsutil upload json output",
   1277     "~followup_annotations": [
   1278       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1279     ]
   1280   },
   1281   {
   1282     "cmd": [
   1283       "python",
   1284       "-u",
   1285       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1286       "--",
   1287       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1288       "----",
   1289       "cp",
   1290       "-R",
   1291       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-1/0/file 2",
   1292       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1293     ],
   1294     "env": {
   1295       "AWS_CREDENTIAL_FILE": null,
   1296       "BOTO_CONFIG": null
   1297     },
   1298     "infra_step": true,
   1299     "name": "gsutil upload json output (2)",
   1300     "~followup_annotations": [
   1301       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1302     ]
   1303   },
   1304   {
   1305     "cmd": [
   1306       "python",
   1307       "-u",
   1308       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1309       "-o",
   1310       "/path/to/tmp/json",
   1311       "--task-output-dir",
   1312       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2",
   1313       "--merge-script",
   1314       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1315       "--merge-additional-args",
   1316       "[]",
   1317       "--",
   1318       "python",
   1319       "-u",
   1320       "[START_DIR]/swarming.client/swarming.py",
   1321       "collect",
   1322       "--swarming",
   1323       "https://chromium-swarm.appspot.com",
   1324       "--decorate",
   1325       "--print-status-updates",
   1326       "--json",
   1327       "{\"base_task_name\": \"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", \"tasks\": {\"ct-nanobench-2/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1328       "--task-summary-json",
   1329       "/path/to/tmp/json"
   1330     ],
   1331     "name": "ct-nanobench-2",
   1332     "~followup_annotations": [
   1333       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1334       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1335       "@@@STEP_LOG_END (a] json.output@@@",
   1336       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1337       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1338       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1339       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1340       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1341       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1342       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1343       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1344       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1345       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1346       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1347       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1348       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1349       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1350       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1351       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1352       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1353       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1354       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1355       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1356       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1357       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1358       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1359       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1360       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1361       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1362       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1363       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1364       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1365       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1366       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1367       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1368       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1369       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1370       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1371       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1372       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1373       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1374       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1375       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1376       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1377       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1378       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1379     ]
   1380   },
   1381   {
   1382     "cmd": [
   1383       "python",
   1384       "-u",
   1385       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1386       "--json-output",
   1387       "/path/to/tmp/json",
   1388       "listdir",
   1389       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0"
   1390     ],
   1391     "infra_step": true,
   1392     "name": "listdir output dir (2)",
   1393     "stdout": "/path/to/tmp/",
   1394     "~followup_annotations": [
   1395       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 1@@@",
   1396       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 2@@@",
   1397       "@@@STEP_LOG_END@listdir@@@"
   1398     ]
   1399   },
   1400   {
   1401     "cmd": [
   1402       "python",
   1403       "-u",
   1404       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1405       "--",
   1406       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1407       "----",
   1408       "cp",
   1409       "-R",
   1410       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 1",
   1411       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1412     ],
   1413     "env": {
   1414       "AWS_CREDENTIAL_FILE": null,
   1415       "BOTO_CONFIG": null
   1416     },
   1417     "infra_step": true,
   1418     "name": "gsutil upload json output (3)",
   1419     "~followup_annotations": [
   1420       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1421     ]
   1422   },
   1423   {
   1424     "cmd": [
   1425       "python",
   1426       "-u",
   1427       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1428       "--",
   1429       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1430       "----",
   1431       "cp",
   1432       "-R",
   1433       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-2/0/file 2",
   1434       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1435     ],
   1436     "env": {
   1437       "AWS_CREDENTIAL_FILE": null,
   1438       "BOTO_CONFIG": null
   1439     },
   1440     "infra_step": true,
   1441     "name": "gsutil upload json output (4)",
   1442     "~followup_annotations": [
   1443       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1444     ]
   1445   },
   1446   {
   1447     "cmd": [
   1448       "python",
   1449       "-u",
   1450       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1451       "-o",
   1452       "/path/to/tmp/json",
   1453       "--task-output-dir",
   1454       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3",
   1455       "--merge-script",
   1456       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1457       "--merge-additional-args",
   1458       "[]",
   1459       "--",
   1460       "python",
   1461       "-u",
   1462       "[START_DIR]/swarming.client/swarming.py",
   1463       "collect",
   1464       "--swarming",
   1465       "https://chromium-swarm.appspot.com",
   1466       "--decorate",
   1467       "--print-status-updates",
   1468       "--json",
   1469       "{\"base_task_name\": \"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", \"tasks\": {\"ct-nanobench-3/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1470       "--task-summary-json",
   1471       "/path/to/tmp/json"
   1472     ],
   1473     "name": "ct-nanobench-3",
   1474     "~followup_annotations": [
   1475       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1476       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1477       "@@@STEP_LOG_END (a] json.output@@@",
   1478       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1479       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1480       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1481       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1482       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1483       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1484       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1485       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1486       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1487       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1488       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1489       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1490       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1491       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1492       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1493       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1494       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1495       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1496       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1497       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1498       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1499       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1500       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1501       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1502       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1503       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1504       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1505       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1506       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1507       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1508       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1509       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1510       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1511       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1512       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1513       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1514       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1515       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1516       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1517       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1518       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1519       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1520       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1521     ]
   1522   },
   1523   {
   1524     "cmd": [
   1525       "python",
   1526       "-u",
   1527       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1528       "--json-output",
   1529       "/path/to/tmp/json",
   1530       "listdir",
   1531       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0"
   1532     ],
   1533     "infra_step": true,
   1534     "name": "listdir output dir (3)",
   1535     "stdout": "/path/to/tmp/",
   1536     "~followup_annotations": [
   1537       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 1@@@",
   1538       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 2@@@",
   1539       "@@@STEP_LOG_END@listdir@@@"
   1540     ]
   1541   },
   1542   {
   1543     "cmd": [
   1544       "python",
   1545       "-u",
   1546       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1547       "--",
   1548       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1549       "----",
   1550       "cp",
   1551       "-R",
   1552       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 1",
   1553       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1554     ],
   1555     "env": {
   1556       "AWS_CREDENTIAL_FILE": null,
   1557       "BOTO_CONFIG": null
   1558     },
   1559     "infra_step": true,
   1560     "name": "gsutil upload json output (5)",
   1561     "~followup_annotations": [
   1562       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1563     ]
   1564   },
   1565   {
   1566     "cmd": [
   1567       "python",
   1568       "-u",
   1569       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1570       "--",
   1571       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1572       "----",
   1573       "cp",
   1574       "-R",
   1575       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-3/0/file 2",
   1576       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1577     ],
   1578     "env": {
   1579       "AWS_CREDENTIAL_FILE": null,
   1580       "BOTO_CONFIG": null
   1581     },
   1582     "infra_step": true,
   1583     "name": "gsutil upload json output (6)",
   1584     "~followup_annotations": [
   1585       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1586     ]
   1587   },
   1588   {
   1589     "cmd": [
   1590       "python",
   1591       "-u",
   1592       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1593       "-o",
   1594       "/path/to/tmp/json",
   1595       "--task-output-dir",
   1596       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4",
   1597       "--merge-script",
   1598       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1599       "--merge-additional-args",
   1600       "[]",
   1601       "--",
   1602       "python",
   1603       "-u",
   1604       "[START_DIR]/swarming.client/swarming.py",
   1605       "collect",
   1606       "--swarming",
   1607       "https://chromium-swarm.appspot.com",
   1608       "--decorate",
   1609       "--print-status-updates",
   1610       "--json",
   1611       "{\"base_task_name\": \"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", \"tasks\": {\"ct-nanobench-4/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1612       "--task-summary-json",
   1613       "/path/to/tmp/json"
   1614     ],
   1615     "name": "ct-nanobench-4",
   1616     "~followup_annotations": [
   1617       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1618       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1619       "@@@STEP_LOG_END (a] json.output@@@",
   1620       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1621       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1622       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1623       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1624       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1625       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1626       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1627       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1628       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1629       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1630       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1631       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1632       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1633       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1634       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1635       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1636       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1637       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1638       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1639       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1640       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1641       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1642       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1643       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1644       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1645       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1646       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1647       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1648       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1649       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1650       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1651       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1652       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1653       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1654       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1655       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1656       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1657       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1658       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1659       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1660       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1661       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1662       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1663     ]
   1664   },
   1665   {
   1666     "cmd": [
   1667       "python",
   1668       "-u",
   1669       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1670       "--json-output",
   1671       "/path/to/tmp/json",
   1672       "listdir",
   1673       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0"
   1674     ],
   1675     "infra_step": true,
   1676     "name": "listdir output dir (4)",
   1677     "stdout": "/path/to/tmp/",
   1678     "~followup_annotations": [
   1679       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 1@@@",
   1680       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 2@@@",
   1681       "@@@STEP_LOG_END@listdir@@@"
   1682     ]
   1683   },
   1684   {
   1685     "cmd": [
   1686       "python",
   1687       "-u",
   1688       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1689       "--",
   1690       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1691       "----",
   1692       "cp",
   1693       "-R",
   1694       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 1",
   1695       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1696     ],
   1697     "env": {
   1698       "AWS_CREDENTIAL_FILE": null,
   1699       "BOTO_CONFIG": null
   1700     },
   1701     "infra_step": true,
   1702     "name": "gsutil upload json output (7)",
   1703     "~followup_annotations": [
   1704       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1705     ]
   1706   },
   1707   {
   1708     "cmd": [
   1709       "python",
   1710       "-u",
   1711       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1712       "--",
   1713       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1714       "----",
   1715       "cp",
   1716       "-R",
   1717       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-4/0/file 2",
   1718       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1719     ],
   1720     "env": {
   1721       "AWS_CREDENTIAL_FILE": null,
   1722       "BOTO_CONFIG": null
   1723     },
   1724     "infra_step": true,
   1725     "name": "gsutil upload json output (8)",
   1726     "~followup_annotations": [
   1727       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1728     ]
   1729   },
   1730   {
   1731     "cmd": [
   1732       "python",
   1733       "-u",
   1734       "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
   1735       "-o",
   1736       "/path/to/tmp/json",
   1737       "--task-output-dir",
   1738       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5",
   1739       "--merge-script",
   1740       "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
   1741       "--merge-additional-args",
   1742       "[]",
   1743       "--",
   1744       "python",
   1745       "-u",
   1746       "[START_DIR]/swarming.client/swarming.py",
   1747       "collect",
   1748       "--swarming",
   1749       "https://chromium-swarm.appspot.com",
   1750       "--decorate",
   1751       "--print-status-updates",
   1752       "--json",
   1753       "{\"base_task_name\": \"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\", \"tasks\": {\"ct-nanobench-5/Ubuntu-14.04/[dummy has/Perf-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-CT_BENCH_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
   1754       "--task-summary-json",
   1755       "/path/to/tmp/json"
   1756     ],
   1757     "name": "ct-nanobench-5",
   1758     "~followup_annotations": [
   1759       "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
   1760       "@@@STEP_LOG_LINE (a] json.output@{}@@@",
   1761       "@@@STEP_LOG_END (a] json.output@@@",
   1762       "@@@STEP_LOG_LINE (a] swarming.summary@{@@@",
   1763       "@@@STEP_LOG_LINE (a] swarming.summary@  \"shards\": [@@@",
   1764       "@@@STEP_LOG_LINE (a] swarming.summary@    {@@@",
   1765       "@@@STEP_LOG_LINE (a] swarming.summary@      \"abandoned_ts\": null, @@@",
   1766       "@@@STEP_LOG_LINE (a] swarming.summary@      \"bot_id\": \"vm30\", @@@",
   1767       "@@@STEP_LOG_LINE (a] swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
   1768       "@@@STEP_LOG_LINE (a] swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
   1769       "@@@STEP_LOG_LINE (a] swarming.summary@      \"durations\": [@@@",
   1770       "@@@STEP_LOG_LINE (a] swarming.summary@        5.7, @@@",
   1771       "@@@STEP_LOG_LINE (a] swarming.summary@        31.5@@@",
   1772       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1773       "@@@STEP_LOG_LINE (a] swarming.summary@      \"exit_codes\": [@@@",
   1774       "@@@STEP_LOG_LINE (a] swarming.summary@        0, @@@",
   1775       "@@@STEP_LOG_LINE (a] swarming.summary@        0@@@",
   1776       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1777       "@@@STEP_LOG_LINE (a] swarming.summary@      \"failure\": false, @@@",
   1778       "@@@STEP_LOG_LINE (a] swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
   1779       "@@@STEP_LOG_LINE (a] swarming.summary@      \"internal_failure\": false, @@@",
   1780       "@@@STEP_LOG_LINE (a] swarming.summary@      \"isolated_out\": {@@@",
   1781       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolated\": \"abc123\", @@@",
   1782       "@@@STEP_LOG_LINE (a] swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
   1783       "@@@STEP_LOG_LINE (a] swarming.summary@        \"namespace\": \"default-gzip\", @@@",
   1784       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1785       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1786       "@@@STEP_LOG_LINE (a] swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
   1787       "@@@STEP_LOG_LINE (a] swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
   1788       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs\": [@@@",
   1789       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
   1790       "@@@STEP_LOG_LINE (a] swarming.summary@        \"Foo\"@@@",
   1791       "@@@STEP_LOG_LINE (a] swarming.summary@      ], @@@",
   1792       "@@@STEP_LOG_LINE (a] swarming.summary@      \"outputs_ref\": {@@@",
   1793       "@@@STEP_LOG_LINE (a] swarming.summary@        \"view_url\": \"blah\"@@@",
   1794       "@@@STEP_LOG_LINE (a] swarming.summary@      }, @@@",
   1795       "@@@STEP_LOG_LINE (a] swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
   1796       "@@@STEP_LOG_LINE (a] swarming.summary@      \"state\": 112, @@@",
   1797       "@@@STEP_LOG_LINE (a] swarming.summary@      \"try_number\": 1, @@@",
   1798       "@@@STEP_LOG_LINE (a] swarming.summary@      \"user\": \"unknown\"@@@",
   1799       "@@@STEP_LOG_LINE (a] swarming.summary@    }@@@",
   1800       "@@@STEP_LOG_LINE (a] swarming.summary@  ]@@@",
   1801       "@@@STEP_LOG_LINE (a] swarming.summary@}@@@",
   1802       "@@@STEP_LOG_END (a] swarming.summary@@@",
   1803       "@@@STEP_LINK@shard #0 isolated out@blah@@@",
   1804       "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
   1805     ]
   1806   },
   1807   {
   1808     "cmd": [
   1809       "python",
   1810       "-u",
   1811       "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
   1812       "--json-output",
   1813       "/path/to/tmp/json",
   1814       "listdir",
   1815       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0"
   1816     ],
   1817     "infra_step": true,
   1818     "name": "listdir output dir (5)",
   1819     "stdout": "/path/to/tmp/",
   1820     "~followup_annotations": [
   1821       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 1@@@",
   1822       "@@@STEP_LOG_LINE@listdir@[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 2@@@",
   1823       "@@@STEP_LOG_END@listdir@@@"
   1824     ]
   1825   },
   1826   {
   1827     "cmd": [
   1828       "python",
   1829       "-u",
   1830       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1831       "--",
   1832       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1833       "----",
   1834       "cp",
   1835       "-R",
   1836       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 1",
   1837       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1838     ],
   1839     "env": {
   1840       "AWS_CREDENTIAL_FILE": null,
   1841       "BOTO_CONFIG": null
   1842     },
   1843     "infra_step": true,
   1844     "name": "gsutil upload json output (9)",
   1845     "~followup_annotations": [
   1846       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1847     ]
   1848   },
   1849   {
   1850     "cmd": [
   1851       "python",
   1852       "-u",
   1853       "RECIPE_MODULE[depot_tools::gsutil]/resources/gsutil_smart_retry.py",
   1854       "--",
   1855       "RECIPE_PACKAGE_REPO[depot_tools]/gsutil.py",
   1856       "----",
   1857       "cp",
   1858       "-R",
   1859       "[START_DIR]/swarming_temp_dir/outputs/ct-nanobench-5/0/file 2",
   1860       "gs://skia-perf/ct/10k/2012/05/14/12/"
   1861     ],
   1862     "env": {
   1863       "AWS_CREDENTIAL_FILE": null,
   1864       "BOTO_CONFIG": null
   1865     },
   1866     "infra_step": true,
   1867     "name": "gsutil upload json output (10)",
   1868     "~followup_annotations": [
   1869       "@@@STEP_LINK (a] gsutil.upload@https://storage.cloud.google.com/skia-perf/ct/10k/2012/05/14/12/@@@"
   1870     ]
   1871   },
   1872   {
   1873     "name": "$result",
   1874     "recipe_result": null,
   1875     "status_code": 0
   1876   }
   1877 ]