• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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@json.output@{@@@",
61      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
62      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
63      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\"@@@",
64      "@@@STEP_LOG_LINE@json.output@  }, @@@",
65      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
66      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
67      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
68      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
69      "@@@STEP_LOG_LINE@json.output@    }@@@",
70      "@@@STEP_LOG_LINE@json.output@  }, @@@",
71      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
72      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
73      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
74      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
75      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
76      "@@@STEP_LOG_LINE@json.output@  }, @@@",
77      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
78      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
79      "@@@STEP_LOG_LINE@json.output@}@@@",
80      "@@@STEP_LOG_END@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": "Debug",
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/Debug",
121      "--args=cc=\"gcc\" cxx=\"g++\" extra_cflags=[\"-O1\"]"
122    ],
123    "cwd": "[CUSTOM_/_B_WORK]/skia",
124    "env": {
125      "BUILDTYPE": "Debug",
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/Debug"
137    ],
138    "cwd": "[CUSTOM_/_B_WORK]/skia",
139    "env": {
140      "BUILDTYPE": "Debug",
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/Debug",
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@python.inline@import errno@@@",
159      "@@@STEP_LOG_LINE@python.inline@import glob@@@",
160      "@@@STEP_LOG_LINE@python.inline@import os@@@",
161      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
162      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
163      "@@@STEP_LOG_LINE@python.inline@@@@",
164      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
165      "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
166      "@@@STEP_LOG_LINE@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@python.inline@@@@",
168      "@@@STEP_LOG_LINE@python.inline@try:@@@",
169      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(dst)@@@",
170      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
171      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
172      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
173      "@@@STEP_LOG_LINE@python.inline@@@@",
174      "@@@STEP_LOG_LINE@python.inline@for pattern in build_products_whitelist:@@@",
175      "@@@STEP_LOG_LINE@python.inline@  path = os.path.join(src, pattern)@@@",
176      "@@@STEP_LOG_LINE@python.inline@  for f in glob.glob(path):@@@",
177      "@@@STEP_LOG_LINE@python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
178      "@@@STEP_LOG_LINE@python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
179      "@@@STEP_LOG_LINE@python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
180      "@@@STEP_LOG_LINE@python.inline@    print 'Copying build product %s to %s' % (f, dst_path)@@@",
181      "@@@STEP_LOG_LINE@python.inline@    shutil.move(f, dst_path)@@@",
182      "@@@STEP_LOG_END@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@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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-1.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Debug\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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        \"dm\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
451      "[START_DIR]/swarming_temp_dir/ct-dm-1.isolated.gen.json"
452    ],
453    "infra_step": true,
454    "name": "Write ct-dm-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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-2.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Debug\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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        \"dm\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
531      "[START_DIR]/swarming_temp_dir/ct-dm-2.isolated.gen.json"
532    ],
533    "infra_step": true,
534    "name": "Write ct-dm-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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-3.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Debug\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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        \"dm\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
611      "[START_DIR]/swarming_temp_dir/ct-dm-3.isolated.gen.json"
612    ],
613    "infra_step": true,
614    "name": "Write ct-dm-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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-4.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Debug\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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        \"dm\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
691      "[START_DIR]/swarming_temp_dir/ct-dm-4.isolated.gen.json"
692    ],
693    "infra_step": true,
694    "name": "Write ct-dm-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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-5.isolated\", \n        \"--config-variable\", \n        \"OS\", \n        \"linux\", \n        \"--extra-variable\", \n        \"CONFIGURATION\", \n        \"Debug\", \n        \"--extra-variable\", \n        \"BUILDER\", \n        \"Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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        \"dm\"\n    ], \n    \"dir\": \"[CUSTOM_/_B_WORK]/skia/infra/bots/ct\", \n    \"version\": 1\n}",
771      "[START_DIR]/swarming_temp_dir/ct-dm-5.isolated.gen.json"
772    ],
773    "infra_step": true,
774    "name": "Write ct-dm-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/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/skps_version"
786    ],
787    "infra_step": true,
788    "name": "Create [CUSTOM_/_B_WORK]/skps/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-1.isolated.gen.json",
803      "[START_DIR]/swarming_temp_dir/ct-dm-2.isolated.gen.json",
804      "[START_DIR]/swarming_temp_dir/ct-dm-3.isolated.gen.json",
805      "[START_DIR]/swarming_temp_dir/ct-dm-4.isolated.gen.json",
806      "[START_DIR]/swarming_temp_dir/ct-dm-5.isolated.gen.json"
807    ],
808    "name": "isolate tests",
809    "~followup_annotations": [
810      "@@@STEP_LOG_LINE@json.output@{@@@",
811      "@@@STEP_LOG_LINE@json.output@  \"ct-dm-1\": \"[dummy hash for ct-dm-1]\", @@@",
812      "@@@STEP_LOG_LINE@json.output@  \"ct-dm-2\": \"[dummy hash for ct-dm-2]\", @@@",
813      "@@@STEP_LOG_LINE@json.output@  \"ct-dm-3\": \"[dummy hash for ct-dm-3]\", @@@",
814      "@@@STEP_LOG_LINE@json.output@  \"ct-dm-4\": \"[dummy hash for ct-dm-4]\", @@@",
815      "@@@STEP_LOG_LINE@json.output@  \"ct-dm-5\": \"[dummy hash for ct-dm-5]\"@@@",
816      "@@@STEP_LOG_LINE@json.output@}@@@",
817      "@@@STEP_LOG_END@json.output@@@",
818      "@@@SET_BUILD_PROPERTY@swarm_hashes@{\"ct-dm-1\": \"[dummy hash for ct-dm-1]\", \"ct-dm-2\": \"[dummy hash for ct-dm-2]\", \"ct-dm-3\": \"[dummy hash for ct-dm-3]\", \"ct-dm-4\": \"[dummy hash for ct-dm-4]\", \"ct-dm-5\": \"[dummy hash for ct-dm-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-dm-1/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs",
858      "--tag",
859      "data:[dummy hash for ct-dm-1]",
860      "--tag",
861      "name:ct-dm-1",
862      "--tag",
863      "os:Ubuntu-14.04",
864      "--tag",
865      "revision:abc123",
866      "--tag",
867      "stepname:ct-dm-1",
868      "--isolated",
869      "[dummy hash for ct-dm-1]"
870    ],
871    "infra_step": true,
872    "name": "[trigger] ct-dm-1",
873    "~followup_annotations": [
874      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
875      "@@@STEP_LOG_LINE@json.output@{@@@",
876      "@@@STEP_LOG_LINE@json.output@  \"base_task_name\": \"ct-dm-1/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", @@@",
877      "@@@STEP_LOG_LINE@json.output@  \"tasks\": {@@@",
878      "@@@STEP_LOG_LINE@json.output@    \"ct-dm-1/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {@@@",
879      "@@@STEP_LOG_LINE@json.output@      \"shard_index\": 0, @@@",
880      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"10000\", @@@",
881      "@@@STEP_LOG_LINE@json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
882      "@@@STEP_LOG_LINE@json.output@    }@@@",
883      "@@@STEP_LOG_LINE@json.output@  }@@@",
884      "@@@STEP_LOG_LINE@json.output@}@@@",
885      "@@@STEP_LOG_END@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-dm-2/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs",
926      "--tag",
927      "data:[dummy hash for ct-dm-2]",
928      "--tag",
929      "name:ct-dm-2",
930      "--tag",
931      "os:Ubuntu-14.04",
932      "--tag",
933      "revision:abc123",
934      "--tag",
935      "stepname:ct-dm-2",
936      "--isolated",
937      "[dummy hash for ct-dm-2]"
938    ],
939    "infra_step": true,
940    "name": "[trigger] ct-dm-2",
941    "~followup_annotations": [
942      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
943      "@@@STEP_LOG_LINE@json.output@{@@@",
944      "@@@STEP_LOG_LINE@json.output@  \"base_task_name\": \"ct-dm-2/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", @@@",
945      "@@@STEP_LOG_LINE@json.output@  \"tasks\": {@@@",
946      "@@@STEP_LOG_LINE@json.output@    \"ct-dm-2/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {@@@",
947      "@@@STEP_LOG_LINE@json.output@      \"shard_index\": 0, @@@",
948      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"10000\", @@@",
949      "@@@STEP_LOG_LINE@json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
950      "@@@STEP_LOG_LINE@json.output@    }@@@",
951      "@@@STEP_LOG_LINE@json.output@  }@@@",
952      "@@@STEP_LOG_LINE@json.output@}@@@",
953      "@@@STEP_LOG_END@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-dm-3/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs",
994      "--tag",
995      "data:[dummy hash for ct-dm-3]",
996      "--tag",
997      "name:ct-dm-3",
998      "--tag",
999      "os:Ubuntu-14.04",
1000      "--tag",
1001      "revision:abc123",
1002      "--tag",
1003      "stepname:ct-dm-3",
1004      "--isolated",
1005      "[dummy hash for ct-dm-3]"
1006    ],
1007    "infra_step": true,
1008    "name": "[trigger] ct-dm-3",
1009    "~followup_annotations": [
1010      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
1011      "@@@STEP_LOG_LINE@json.output@{@@@",
1012      "@@@STEP_LOG_LINE@json.output@  \"base_task_name\": \"ct-dm-3/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", @@@",
1013      "@@@STEP_LOG_LINE@json.output@  \"tasks\": {@@@",
1014      "@@@STEP_LOG_LINE@json.output@    \"ct-dm-3/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {@@@",
1015      "@@@STEP_LOG_LINE@json.output@      \"shard_index\": 0, @@@",
1016      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"10000\", @@@",
1017      "@@@STEP_LOG_LINE@json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
1018      "@@@STEP_LOG_LINE@json.output@    }@@@",
1019      "@@@STEP_LOG_LINE@json.output@  }@@@",
1020      "@@@STEP_LOG_LINE@json.output@}@@@",
1021      "@@@STEP_LOG_END@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-dm-4/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs",
1062      "--tag",
1063      "data:[dummy hash for ct-dm-4]",
1064      "--tag",
1065      "name:ct-dm-4",
1066      "--tag",
1067      "os:Ubuntu-14.04",
1068      "--tag",
1069      "revision:abc123",
1070      "--tag",
1071      "stepname:ct-dm-4",
1072      "--isolated",
1073      "[dummy hash for ct-dm-4]"
1074    ],
1075    "infra_step": true,
1076    "name": "[trigger] ct-dm-4",
1077    "~followup_annotations": [
1078      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
1079      "@@@STEP_LOG_LINE@json.output@{@@@",
1080      "@@@STEP_LOG_LINE@json.output@  \"base_task_name\": \"ct-dm-4/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", @@@",
1081      "@@@STEP_LOG_LINE@json.output@  \"tasks\": {@@@",
1082      "@@@STEP_LOG_LINE@json.output@    \"ct-dm-4/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {@@@",
1083      "@@@STEP_LOG_LINE@json.output@      \"shard_index\": 0, @@@",
1084      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"10000\", @@@",
1085      "@@@STEP_LOG_LINE@json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
1086      "@@@STEP_LOG_LINE@json.output@    }@@@",
1087      "@@@STEP_LOG_LINE@json.output@  }@@@",
1088      "@@@STEP_LOG_LINE@json.output@}@@@",
1089      "@@@STEP_LOG_END@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-dm-5/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs",
1130      "--tag",
1131      "data:[dummy hash for ct-dm-5]",
1132      "--tag",
1133      "name:ct-dm-5",
1134      "--tag",
1135      "os:Ubuntu-14.04",
1136      "--tag",
1137      "revision:abc123",
1138      "--tag",
1139      "stepname:ct-dm-5",
1140      "--isolated",
1141      "[dummy hash for ct-dm-5]"
1142    ],
1143    "infra_step": true,
1144    "name": "[trigger] ct-dm-5",
1145    "~followup_annotations": [
1146      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'@@@",
1147      "@@@STEP_LOG_LINE@json.output@{@@@",
1148      "@@@STEP_LOG_LINE@json.output@  \"base_task_name\": \"ct-dm-5/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", @@@",
1149      "@@@STEP_LOG_LINE@json.output@  \"tasks\": {@@@",
1150      "@@@STEP_LOG_LINE@json.output@    \"ct-dm-5/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {@@@",
1151      "@@@STEP_LOG_LINE@json.output@      \"shard_index\": 0, @@@",
1152      "@@@STEP_LOG_LINE@json.output@      \"task_id\": \"10000\", @@@",
1153      "@@@STEP_LOG_LINE@json.output@      \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"@@@",
1154      "@@@STEP_LOG_LINE@json.output@    }@@@",
1155      "@@@STEP_LOG_LINE@json.output@  }@@@",
1156      "@@@STEP_LOG_LINE@json.output@}@@@",
1157      "@@@STEP_LOG_END@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-dm-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-dm-1/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", \"tasks\": {\"ct-dm-1/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_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-dm-1",
1190    "~followup_annotations": [
1191      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
1192      "@@@STEP_LOG_LINE@json.output@{}@@@",
1193      "@@@STEP_LOG_END@json.output@@@",
1194      "@@@STEP_LOG_LINE@swarming.summary@{@@@",
1195      "@@@STEP_LOG_LINE@swarming.summary@  \"shards\": [@@@",
1196      "@@@STEP_LOG_LINE@swarming.summary@    {@@@",
1197      "@@@STEP_LOG_LINE@swarming.summary@      \"abandoned_ts\": null, @@@",
1198      "@@@STEP_LOG_LINE@swarming.summary@      \"bot_id\": \"vm30\", @@@",
1199      "@@@STEP_LOG_LINE@swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
1200      "@@@STEP_LOG_LINE@swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
1201      "@@@STEP_LOG_LINE@swarming.summary@      \"durations\": [@@@",
1202      "@@@STEP_LOG_LINE@swarming.summary@        5.7, @@@",
1203      "@@@STEP_LOG_LINE@swarming.summary@        31.5@@@",
1204      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1205      "@@@STEP_LOG_LINE@swarming.summary@      \"exit_codes\": [@@@",
1206      "@@@STEP_LOG_LINE@swarming.summary@        0, @@@",
1207      "@@@STEP_LOG_LINE@swarming.summary@        0@@@",
1208      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1209      "@@@STEP_LOG_LINE@swarming.summary@      \"failure\": false, @@@",
1210      "@@@STEP_LOG_LINE@swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
1211      "@@@STEP_LOG_LINE@swarming.summary@      \"internal_failure\": false, @@@",
1212      "@@@STEP_LOG_LINE@swarming.summary@      \"isolated_out\": {@@@",
1213      "@@@STEP_LOG_LINE@swarming.summary@        \"isolated\": \"abc123\", @@@",
1214      "@@@STEP_LOG_LINE@swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
1215      "@@@STEP_LOG_LINE@swarming.summary@        \"namespace\": \"default-gzip\", @@@",
1216      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1217      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1218      "@@@STEP_LOG_LINE@swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
1219      "@@@STEP_LOG_LINE@swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
1220      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs\": [@@@",
1221      "@@@STEP_LOG_LINE@swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
1222      "@@@STEP_LOG_LINE@swarming.summary@        \"Foo\"@@@",
1223      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1224      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs_ref\": {@@@",
1225      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1226      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1227      "@@@STEP_LOG_LINE@swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
1228      "@@@STEP_LOG_LINE@swarming.summary@      \"state\": 112, @@@",
1229      "@@@STEP_LOG_LINE@swarming.summary@      \"try_number\": 1, @@@",
1230      "@@@STEP_LOG_LINE@swarming.summary@      \"user\": \"unknown\"@@@",
1231      "@@@STEP_LOG_LINE@swarming.summary@    }@@@",
1232      "@@@STEP_LOG_LINE@swarming.summary@  ]@@@",
1233      "@@@STEP_LOG_LINE@swarming.summary@}@@@",
1234      "@@@STEP_LOG_END@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[skia::swarming]/resources/collect_task.py",
1244      "-o",
1245      "/path/to/tmp/json",
1246      "--task-output-dir",
1247      "[START_DIR]/swarming_temp_dir/outputs/ct-dm-2",
1248      "--merge-script",
1249      "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
1250      "--merge-additional-args",
1251      "[]",
1252      "--",
1253      "python",
1254      "-u",
1255      "[START_DIR]/swarming.client/swarming.py",
1256      "collect",
1257      "--swarming",
1258      "https://chromium-swarm.appspot.com",
1259      "--decorate",
1260      "--print-status-updates",
1261      "--json",
1262      "{\"base_task_name\": \"ct-dm-2/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", \"tasks\": {\"ct-dm-2/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
1263      "--task-summary-json",
1264      "/path/to/tmp/json"
1265    ],
1266    "name": "ct-dm-2",
1267    "~followup_annotations": [
1268      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
1269      "@@@STEP_LOG_LINE@json.output@{}@@@",
1270      "@@@STEP_LOG_END@json.output@@@",
1271      "@@@STEP_LOG_LINE@swarming.summary@{@@@",
1272      "@@@STEP_LOG_LINE@swarming.summary@  \"shards\": [@@@",
1273      "@@@STEP_LOG_LINE@swarming.summary@    {@@@",
1274      "@@@STEP_LOG_LINE@swarming.summary@      \"abandoned_ts\": null, @@@",
1275      "@@@STEP_LOG_LINE@swarming.summary@      \"bot_id\": \"vm30\", @@@",
1276      "@@@STEP_LOG_LINE@swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
1277      "@@@STEP_LOG_LINE@swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
1278      "@@@STEP_LOG_LINE@swarming.summary@      \"durations\": [@@@",
1279      "@@@STEP_LOG_LINE@swarming.summary@        5.7, @@@",
1280      "@@@STEP_LOG_LINE@swarming.summary@        31.5@@@",
1281      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1282      "@@@STEP_LOG_LINE@swarming.summary@      \"exit_codes\": [@@@",
1283      "@@@STEP_LOG_LINE@swarming.summary@        0, @@@",
1284      "@@@STEP_LOG_LINE@swarming.summary@        0@@@",
1285      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1286      "@@@STEP_LOG_LINE@swarming.summary@      \"failure\": false, @@@",
1287      "@@@STEP_LOG_LINE@swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
1288      "@@@STEP_LOG_LINE@swarming.summary@      \"internal_failure\": false, @@@",
1289      "@@@STEP_LOG_LINE@swarming.summary@      \"isolated_out\": {@@@",
1290      "@@@STEP_LOG_LINE@swarming.summary@        \"isolated\": \"abc123\", @@@",
1291      "@@@STEP_LOG_LINE@swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
1292      "@@@STEP_LOG_LINE@swarming.summary@        \"namespace\": \"default-gzip\", @@@",
1293      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1294      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1295      "@@@STEP_LOG_LINE@swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
1296      "@@@STEP_LOG_LINE@swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
1297      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs\": [@@@",
1298      "@@@STEP_LOG_LINE@swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
1299      "@@@STEP_LOG_LINE@swarming.summary@        \"Foo\"@@@",
1300      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1301      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs_ref\": {@@@",
1302      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1303      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1304      "@@@STEP_LOG_LINE@swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
1305      "@@@STEP_LOG_LINE@swarming.summary@      \"state\": 112, @@@",
1306      "@@@STEP_LOG_LINE@swarming.summary@      \"try_number\": 1, @@@",
1307      "@@@STEP_LOG_LINE@swarming.summary@      \"user\": \"unknown\"@@@",
1308      "@@@STEP_LOG_LINE@swarming.summary@    }@@@",
1309      "@@@STEP_LOG_LINE@swarming.summary@  ]@@@",
1310      "@@@STEP_LOG_LINE@swarming.summary@}@@@",
1311      "@@@STEP_LOG_END@swarming.summary@@@",
1312      "@@@STEP_LINK@shard #0 isolated out@blah@@@",
1313      "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
1314    ]
1315  },
1316  {
1317    "cmd": [
1318      "python",
1319      "-u",
1320      "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
1321      "-o",
1322      "/path/to/tmp/json",
1323      "--task-output-dir",
1324      "[START_DIR]/swarming_temp_dir/outputs/ct-dm-3",
1325      "--merge-script",
1326      "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
1327      "--merge-additional-args",
1328      "[]",
1329      "--",
1330      "python",
1331      "-u",
1332      "[START_DIR]/swarming.client/swarming.py",
1333      "collect",
1334      "--swarming",
1335      "https://chromium-swarm.appspot.com",
1336      "--decorate",
1337      "--print-status-updates",
1338      "--json",
1339      "{\"base_task_name\": \"ct-dm-3/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", \"tasks\": {\"ct-dm-3/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
1340      "--task-summary-json",
1341      "/path/to/tmp/json"
1342    ],
1343    "name": "ct-dm-3",
1344    "~followup_annotations": [
1345      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
1346      "@@@STEP_LOG_LINE@json.output@{}@@@",
1347      "@@@STEP_LOG_END@json.output@@@",
1348      "@@@STEP_LOG_LINE@swarming.summary@{@@@",
1349      "@@@STEP_LOG_LINE@swarming.summary@  \"shards\": [@@@",
1350      "@@@STEP_LOG_LINE@swarming.summary@    {@@@",
1351      "@@@STEP_LOG_LINE@swarming.summary@      \"abandoned_ts\": null, @@@",
1352      "@@@STEP_LOG_LINE@swarming.summary@      \"bot_id\": \"vm30\", @@@",
1353      "@@@STEP_LOG_LINE@swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
1354      "@@@STEP_LOG_LINE@swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
1355      "@@@STEP_LOG_LINE@swarming.summary@      \"durations\": [@@@",
1356      "@@@STEP_LOG_LINE@swarming.summary@        5.7, @@@",
1357      "@@@STEP_LOG_LINE@swarming.summary@        31.5@@@",
1358      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1359      "@@@STEP_LOG_LINE@swarming.summary@      \"exit_codes\": [@@@",
1360      "@@@STEP_LOG_LINE@swarming.summary@        0, @@@",
1361      "@@@STEP_LOG_LINE@swarming.summary@        0@@@",
1362      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1363      "@@@STEP_LOG_LINE@swarming.summary@      \"failure\": false, @@@",
1364      "@@@STEP_LOG_LINE@swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
1365      "@@@STEP_LOG_LINE@swarming.summary@      \"internal_failure\": false, @@@",
1366      "@@@STEP_LOG_LINE@swarming.summary@      \"isolated_out\": {@@@",
1367      "@@@STEP_LOG_LINE@swarming.summary@        \"isolated\": \"abc123\", @@@",
1368      "@@@STEP_LOG_LINE@swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
1369      "@@@STEP_LOG_LINE@swarming.summary@        \"namespace\": \"default-gzip\", @@@",
1370      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1371      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1372      "@@@STEP_LOG_LINE@swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
1373      "@@@STEP_LOG_LINE@swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
1374      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs\": [@@@",
1375      "@@@STEP_LOG_LINE@swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
1376      "@@@STEP_LOG_LINE@swarming.summary@        \"Foo\"@@@",
1377      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1378      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs_ref\": {@@@",
1379      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1380      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1381      "@@@STEP_LOG_LINE@swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
1382      "@@@STEP_LOG_LINE@swarming.summary@      \"state\": 112, @@@",
1383      "@@@STEP_LOG_LINE@swarming.summary@      \"try_number\": 1, @@@",
1384      "@@@STEP_LOG_LINE@swarming.summary@      \"user\": \"unknown\"@@@",
1385      "@@@STEP_LOG_LINE@swarming.summary@    }@@@",
1386      "@@@STEP_LOG_LINE@swarming.summary@  ]@@@",
1387      "@@@STEP_LOG_LINE@swarming.summary@}@@@",
1388      "@@@STEP_LOG_END@swarming.summary@@@",
1389      "@@@STEP_LINK@shard #0 isolated out@blah@@@",
1390      "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
1391    ]
1392  },
1393  {
1394    "cmd": [
1395      "python",
1396      "-u",
1397      "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
1398      "-o",
1399      "/path/to/tmp/json",
1400      "--task-output-dir",
1401      "[START_DIR]/swarming_temp_dir/outputs/ct-dm-4",
1402      "--merge-script",
1403      "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
1404      "--merge-additional-args",
1405      "[]",
1406      "--",
1407      "python",
1408      "-u",
1409      "[START_DIR]/swarming.client/swarming.py",
1410      "collect",
1411      "--swarming",
1412      "https://chromium-swarm.appspot.com",
1413      "--decorate",
1414      "--print-status-updates",
1415      "--json",
1416      "{\"base_task_name\": \"ct-dm-4/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", \"tasks\": {\"ct-dm-4/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
1417      "--task-summary-json",
1418      "/path/to/tmp/json"
1419    ],
1420    "name": "ct-dm-4",
1421    "~followup_annotations": [
1422      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
1423      "@@@STEP_LOG_LINE@json.output@{}@@@",
1424      "@@@STEP_LOG_END@json.output@@@",
1425      "@@@STEP_LOG_LINE@swarming.summary@{@@@",
1426      "@@@STEP_LOG_LINE@swarming.summary@  \"shards\": [@@@",
1427      "@@@STEP_LOG_LINE@swarming.summary@    {@@@",
1428      "@@@STEP_LOG_LINE@swarming.summary@      \"abandoned_ts\": null, @@@",
1429      "@@@STEP_LOG_LINE@swarming.summary@      \"bot_id\": \"vm30\", @@@",
1430      "@@@STEP_LOG_LINE@swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
1431      "@@@STEP_LOG_LINE@swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
1432      "@@@STEP_LOG_LINE@swarming.summary@      \"durations\": [@@@",
1433      "@@@STEP_LOG_LINE@swarming.summary@        5.7, @@@",
1434      "@@@STEP_LOG_LINE@swarming.summary@        31.5@@@",
1435      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1436      "@@@STEP_LOG_LINE@swarming.summary@      \"exit_codes\": [@@@",
1437      "@@@STEP_LOG_LINE@swarming.summary@        0, @@@",
1438      "@@@STEP_LOG_LINE@swarming.summary@        0@@@",
1439      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1440      "@@@STEP_LOG_LINE@swarming.summary@      \"failure\": false, @@@",
1441      "@@@STEP_LOG_LINE@swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
1442      "@@@STEP_LOG_LINE@swarming.summary@      \"internal_failure\": false, @@@",
1443      "@@@STEP_LOG_LINE@swarming.summary@      \"isolated_out\": {@@@",
1444      "@@@STEP_LOG_LINE@swarming.summary@        \"isolated\": \"abc123\", @@@",
1445      "@@@STEP_LOG_LINE@swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
1446      "@@@STEP_LOG_LINE@swarming.summary@        \"namespace\": \"default-gzip\", @@@",
1447      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1448      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1449      "@@@STEP_LOG_LINE@swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
1450      "@@@STEP_LOG_LINE@swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
1451      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs\": [@@@",
1452      "@@@STEP_LOG_LINE@swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
1453      "@@@STEP_LOG_LINE@swarming.summary@        \"Foo\"@@@",
1454      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1455      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs_ref\": {@@@",
1456      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1457      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1458      "@@@STEP_LOG_LINE@swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
1459      "@@@STEP_LOG_LINE@swarming.summary@      \"state\": 112, @@@",
1460      "@@@STEP_LOG_LINE@swarming.summary@      \"try_number\": 1, @@@",
1461      "@@@STEP_LOG_LINE@swarming.summary@      \"user\": \"unknown\"@@@",
1462      "@@@STEP_LOG_LINE@swarming.summary@    }@@@",
1463      "@@@STEP_LOG_LINE@swarming.summary@  ]@@@",
1464      "@@@STEP_LOG_LINE@swarming.summary@}@@@",
1465      "@@@STEP_LOG_END@swarming.summary@@@",
1466      "@@@STEP_LINK@shard #0 isolated out@blah@@@",
1467      "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
1468    ]
1469  },
1470  {
1471    "cmd": [
1472      "python",
1473      "-u",
1474      "RECIPE_MODULE[skia::swarming]/resources/collect_task.py",
1475      "-o",
1476      "/path/to/tmp/json",
1477      "--task-output-dir",
1478      "[START_DIR]/swarming_temp_dir/outputs/ct-dm-5",
1479      "--merge-script",
1480      "RECIPE_MODULE[skia::swarming]/resources/noop_merge.py",
1481      "--merge-additional-args",
1482      "[]",
1483      "--",
1484      "python",
1485      "-u",
1486      "[START_DIR]/swarming.client/swarming.py",
1487      "collect",
1488      "--swarming",
1489      "https://chromium-swarm.appspot.com",
1490      "--decorate",
1491      "--print-status-updates",
1492      "--json",
1493      "{\"base_task_name\": \"ct-dm-5/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\", \"tasks\": {\"ct-dm-5/Ubuntu-14.04/[dummy has/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Debug-CT_DM_10k_SKPs/-1\": {\"shard_index\": 0, \"task_id\": \"10000\", \"view_url\": \"https://chromium-swarm.appspot.com/user/task/10000\"}}}",
1494      "--task-summary-json",
1495      "/path/to/tmp/json"
1496    ],
1497    "name": "ct-dm-5",
1498    "~followup_annotations": [
1499      "@@@STEP_TEXT@Run on OS: 'Ubuntu-14.04'<br>swarming pending 71s@@@",
1500      "@@@STEP_LOG_LINE@json.output@{}@@@",
1501      "@@@STEP_LOG_END@json.output@@@",
1502      "@@@STEP_LOG_LINE@swarming.summary@{@@@",
1503      "@@@STEP_LOG_LINE@swarming.summary@  \"shards\": [@@@",
1504      "@@@STEP_LOG_LINE@swarming.summary@    {@@@",
1505      "@@@STEP_LOG_LINE@swarming.summary@      \"abandoned_ts\": null, @@@",
1506      "@@@STEP_LOG_LINE@swarming.summary@      \"bot_id\": \"vm30\", @@@",
1507      "@@@STEP_LOG_LINE@swarming.summary@      \"completed_ts\": \"2014-09-25T01:42:00.123\", @@@",
1508      "@@@STEP_LOG_LINE@swarming.summary@      \"created_ts\": \"2014-09-25T01:41:00.123\", @@@",
1509      "@@@STEP_LOG_LINE@swarming.summary@      \"durations\": [@@@",
1510      "@@@STEP_LOG_LINE@swarming.summary@        5.7, @@@",
1511      "@@@STEP_LOG_LINE@swarming.summary@        31.5@@@",
1512      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1513      "@@@STEP_LOG_LINE@swarming.summary@      \"exit_codes\": [@@@",
1514      "@@@STEP_LOG_LINE@swarming.summary@        0, @@@",
1515      "@@@STEP_LOG_LINE@swarming.summary@        0@@@",
1516      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1517      "@@@STEP_LOG_LINE@swarming.summary@      \"failure\": false, @@@",
1518      "@@@STEP_LOG_LINE@swarming.summary@      \"id\": \"148aa78d7aa0000\", @@@",
1519      "@@@STEP_LOG_LINE@swarming.summary@      \"internal_failure\": false, @@@",
1520      "@@@STEP_LOG_LINE@swarming.summary@      \"isolated_out\": {@@@",
1521      "@@@STEP_LOG_LINE@swarming.summary@        \"isolated\": \"abc123\", @@@",
1522      "@@@STEP_LOG_LINE@swarming.summary@        \"isolatedserver\": \"https://isolateserver.appspot.com\", @@@",
1523      "@@@STEP_LOG_LINE@swarming.summary@        \"namespace\": \"default-gzip\", @@@",
1524      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1525      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1526      "@@@STEP_LOG_LINE@swarming.summary@      \"modified_ts\": \"2014-09-25 01:42:00\", @@@",
1527      "@@@STEP_LOG_LINE@swarming.summary@      \"name\": \"heartbeat-canary-2014-09-25_01:41:55-os=Windows\", @@@",
1528      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs\": [@@@",
1529      "@@@STEP_LOG_LINE@swarming.summary@        \"Heart beat succeeded on win32.\\n\", @@@",
1530      "@@@STEP_LOG_LINE@swarming.summary@        \"Foo\"@@@",
1531      "@@@STEP_LOG_LINE@swarming.summary@      ], @@@",
1532      "@@@STEP_LOG_LINE@swarming.summary@      \"outputs_ref\": {@@@",
1533      "@@@STEP_LOG_LINE@swarming.summary@        \"view_url\": \"blah\"@@@",
1534      "@@@STEP_LOG_LINE@swarming.summary@      }, @@@",
1535      "@@@STEP_LOG_LINE@swarming.summary@      \"started_ts\": \"2014-09-25T01:42:11.123\", @@@",
1536      "@@@STEP_LOG_LINE@swarming.summary@      \"state\": 112, @@@",
1537      "@@@STEP_LOG_LINE@swarming.summary@      \"try_number\": 1, @@@",
1538      "@@@STEP_LOG_LINE@swarming.summary@      \"user\": \"unknown\"@@@",
1539      "@@@STEP_LOG_LINE@swarming.summary@    }@@@",
1540      "@@@STEP_LOG_LINE@swarming.summary@  ]@@@",
1541      "@@@STEP_LOG_LINE@swarming.summary@}@@@",
1542      "@@@STEP_LOG_END@swarming.summary@@@",
1543      "@@@STEP_LINK@shard #0 isolated out@blah@@@",
1544      "@@@STEP_LINK@view steps on Milo@https://luci-milo.appspot.com/swarming/task/148aa78d7aa0000@@@"
1545    ]
1546  },
1547  {
1548    "name": "$result",
1549    "recipe_result": null,
1550    "status_code": 0
1551  }
1552]