• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2  {
3    "cmd": [
4      "python",
5      "-u",
6      "\nimport os\nSSH_MACHINE_FILE = os.path.expanduser('~/ssh_machine.json')\nwith open(SSH_MACHINE_FILE, 'r') as f:\n  print f.read()\n"
7    ],
8    "env": {
9      "BUILDTYPE": "Debug",
10      "CHROME_HEADLESS": "1",
11      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
12      "SKIA_OUT": "[START_DIR]/out"
13    },
14    "infra_step": true,
15    "name": "read chromeos ip",
16    "stdout": "/path/to/tmp/",
17    "~followup_annotations": [
18      "@@@STEP_LOG_LINE@python.inline@@@@",
19      "@@@STEP_LOG_LINE@python.inline@import os@@@",
20      "@@@STEP_LOG_LINE@python.inline@SSH_MACHINE_FILE = os.path.expanduser('~/ssh_machine.json')@@@",
21      "@@@STEP_LOG_LINE@python.inline@with open(SSH_MACHINE_FILE, 'r') as f:@@@",
22      "@@@STEP_LOG_LINE@python.inline@  print f.read()@@@",
23      "@@@STEP_LOG_END@python.inline@@@"
24    ]
25  },
26  {
27    "cmd": [
28      "ssh",
29      "-oConnectTimeout=15",
30      "-oBatchMode=yes",
31      "-t",
32      "-t",
33      "foo@127.0.0.1",
34      "mkdir",
35      "-p",
36      "/home/chronos/user/resources"
37    ],
38    "env": {
39      "BUILDTYPE": "Debug",
40      "CHROME_HEADLESS": "1",
41      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
42      "SKIA_OUT": "[START_DIR]/out"
43    },
44    "infra_step": true,
45    "name": "mkdir /home/chronos/user/resources"
46  },
47  {
48    "cmd": [
49      "ssh",
50      "-oConnectTimeout=15",
51      "-oBatchMode=yes",
52      "-t",
53      "-t",
54      "foo@127.0.0.1",
55      "sudo",
56      "mount",
57      "-i",
58      "-o",
59      "remount,exec",
60      "/home/chronos"
61    ],
62    "env": {
63      "BUILDTYPE": "Debug",
64      "CHROME_HEADLESS": "1",
65      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
66      "SKIA_OUT": "[START_DIR]/out"
67    },
68    "infra_step": true,
69    "name": "remount /home/chronos/user/ as exec"
70  },
71  {
72    "cmd": [
73      "ssh",
74      "-oConnectTimeout=15",
75      "-oBatchMode=yes",
76      "-t",
77      "-t",
78      "foo@127.0.0.1",
79      "rm",
80      "-rf",
81      "/home/chronos/user/bin"
82    ],
83    "env": {
84      "BUILDTYPE": "Debug",
85      "CHROME_HEADLESS": "1",
86      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
87      "SKIA_OUT": "[START_DIR]/out"
88    },
89    "infra_step": true,
90    "name": "rm /home/chronos/user/bin"
91  },
92  {
93    "cmd": [
94      "ssh",
95      "-oConnectTimeout=15",
96      "-oBatchMode=yes",
97      "-t",
98      "-t",
99      "foo@127.0.0.1",
100      "mkdir",
101      "-p",
102      "/home/chronos/user/bin"
103    ],
104    "env": {
105      "BUILDTYPE": "Debug",
106      "CHROME_HEADLESS": "1",
107      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
108      "SKIA_OUT": "[START_DIR]/out"
109    },
110    "infra_step": true,
111    "name": "mkdir /home/chronos/user/bin"
112  },
113  {
114    "cmd": [
115      "python",
116      "-u",
117      "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
118      "[START_DIR]/skia/resources",
119      "foo@127.0.0.1:/home/chronos/user/resources"
120    ],
121    "infra_step": true,
122    "name": "scp -r [START_DIR]/skia/resources foo@127.0.0.1:/home/chronos/user/resources",
123    "~followup_annotations": [
124      "@@@STEP_LOG_LINE@python.inline@@@@",
125      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
126      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
127      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
128      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
129      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
130      "@@@STEP_LOG_END@python.inline@@@"
131    ]
132  },
133  {
134    "cmd": [
135      "python",
136      "-u",
137      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
138      "--json-output",
139      "/path/to/tmp/json",
140      "copy",
141      "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
142      "/path/to/tmp/"
143    ],
144    "infra_step": true,
145    "name": "Get downloaded SKP VERSION"
146  },
147  {
148    "cmd": [
149      "python",
150      "-u",
151      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
152      "--json-output",
153      "/path/to/tmp/json",
154      "copy",
155      "42",
156      "[START_DIR]/tmp/SKP_VERSION"
157    ],
158    "infra_step": true,
159    "name": "write SKP_VERSION"
160  },
161  {
162    "cmd": [
163      "ssh",
164      "-oConnectTimeout=15",
165      "-oBatchMode=yes",
166      "-t",
167      "-t",
168      "foo@127.0.0.1",
169      "cat",
170      "/home/chronos/user/SKP_VERSION"
171    ],
172    "env": {
173      "BUILDTYPE": "Debug",
174      "CHROME_HEADLESS": "1",
175      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
176      "SKIA_OUT": "[START_DIR]/out"
177    },
178    "infra_step": true,
179    "name": "read /home/chronos/user/SKP_VERSION",
180    "stdout": "/path/to/tmp/"
181  },
182  {
183    "cmd": [
184      "ssh",
185      "-oConnectTimeout=15",
186      "-oBatchMode=yes",
187      "-t",
188      "-t",
189      "foo@127.0.0.1",
190      "rm",
191      "-f",
192      "/home/chronos/user/SKP_VERSION"
193    ],
194    "env": {
195      "BUILDTYPE": "Debug",
196      "CHROME_HEADLESS": "1",
197      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
198      "SKIA_OUT": "[START_DIR]/out"
199    },
200    "infra_step": true,
201    "name": "rm /home/chronos/user/SKP_VERSION"
202  },
203  {
204    "cmd": [
205      "ssh",
206      "-oConnectTimeout=15",
207      "-oBatchMode=yes",
208      "-t",
209      "-t",
210      "foo@127.0.0.1",
211      "rm",
212      "-rf",
213      "/home/chronos/user/skps"
214    ],
215    "env": {
216      "BUILDTYPE": "Debug",
217      "CHROME_HEADLESS": "1",
218      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
219      "SKIA_OUT": "[START_DIR]/out"
220    },
221    "infra_step": true,
222    "name": "rm /home/chronos/user/skps"
223  },
224  {
225    "cmd": [
226      "ssh",
227      "-oConnectTimeout=15",
228      "-oBatchMode=yes",
229      "-t",
230      "-t",
231      "foo@127.0.0.1",
232      "mkdir",
233      "-p",
234      "/home/chronos/user/skps"
235    ],
236    "env": {
237      "BUILDTYPE": "Debug",
238      "CHROME_HEADLESS": "1",
239      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
240      "SKIA_OUT": "[START_DIR]/out"
241    },
242    "infra_step": true,
243    "name": "mkdir /home/chronos/user/skps"
244  },
245  {
246    "cmd": [
247      "python",
248      "-u",
249      "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
250      "[START_DIR]/skp",
251      "foo@127.0.0.1:/home/chronos/user/skps"
252    ],
253    "infra_step": true,
254    "name": "scp -r [START_DIR]/skp foo@127.0.0.1:/home/chronos/user/skps",
255    "~followup_annotations": [
256      "@@@STEP_LOG_LINE@python.inline@@@@",
257      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
258      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
259      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
260      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
261      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
262      "@@@STEP_LOG_END@python.inline@@@"
263    ]
264  },
265  {
266    "cmd": [
267      "python",
268      "-u",
269      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
270      "[START_DIR]/tmp/SKP_VERSION",
271      "foo@127.0.0.1:/home/chronos/user/SKP_VERSION"
272    ],
273    "infra_step": true,
274    "name": "scp [START_DIR]/tmp/SKP_VERSION foo@127.0.0.1:/home/chronos/user/SKP_VERSION",
275    "~followup_annotations": [
276      "@@@STEP_LOG_LINE@python.inline@@@@",
277      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
278      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
279      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
280      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
281      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
282      "@@@STEP_LOG_END@python.inline@@@"
283    ]
284  },
285  {
286    "cmd": [
287      "python",
288      "-u",
289      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
290      "--json-output",
291      "/path/to/tmp/json",
292      "copy",
293      "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
294      "/path/to/tmp/"
295    ],
296    "infra_step": true,
297    "name": "Get downloaded skimage VERSION"
298  },
299  {
300    "cmd": [
301      "python",
302      "-u",
303      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
304      "--json-output",
305      "/path/to/tmp/json",
306      "copy",
307      "42",
308      "[START_DIR]/tmp/SK_IMAGE_VERSION"
309    ],
310    "infra_step": true,
311    "name": "write SK_IMAGE_VERSION"
312  },
313  {
314    "cmd": [
315      "ssh",
316      "-oConnectTimeout=15",
317      "-oBatchMode=yes",
318      "-t",
319      "-t",
320      "foo@127.0.0.1",
321      "cat",
322      "/home/chronos/user/SK_IMAGE_VERSION"
323    ],
324    "env": {
325      "BUILDTYPE": "Debug",
326      "CHROME_HEADLESS": "1",
327      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
328      "SKIA_OUT": "[START_DIR]/out"
329    },
330    "infra_step": true,
331    "name": "read /home/chronos/user/SK_IMAGE_VERSION",
332    "stdout": "/path/to/tmp/"
333  },
334  {
335    "cmd": [
336      "ssh",
337      "-oConnectTimeout=15",
338      "-oBatchMode=yes",
339      "-t",
340      "-t",
341      "foo@127.0.0.1",
342      "rm",
343      "-f",
344      "/home/chronos/user/SK_IMAGE_VERSION"
345    ],
346    "env": {
347      "BUILDTYPE": "Debug",
348      "CHROME_HEADLESS": "1",
349      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
350      "SKIA_OUT": "[START_DIR]/out"
351    },
352    "infra_step": true,
353    "name": "rm /home/chronos/user/SK_IMAGE_VERSION"
354  },
355  {
356    "cmd": [
357      "ssh",
358      "-oConnectTimeout=15",
359      "-oBatchMode=yes",
360      "-t",
361      "-t",
362      "foo@127.0.0.1",
363      "rm",
364      "-rf",
365      "/home/chronos/user/images"
366    ],
367    "env": {
368      "BUILDTYPE": "Debug",
369      "CHROME_HEADLESS": "1",
370      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
371      "SKIA_OUT": "[START_DIR]/out"
372    },
373    "infra_step": true,
374    "name": "rm /home/chronos/user/images"
375  },
376  {
377    "cmd": [
378      "ssh",
379      "-oConnectTimeout=15",
380      "-oBatchMode=yes",
381      "-t",
382      "-t",
383      "foo@127.0.0.1",
384      "mkdir",
385      "-p",
386      "/home/chronos/user/images"
387    ],
388    "env": {
389      "BUILDTYPE": "Debug",
390      "CHROME_HEADLESS": "1",
391      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
392      "SKIA_OUT": "[START_DIR]/out"
393    },
394    "infra_step": true,
395    "name": "mkdir /home/chronos/user/images"
396  },
397  {
398    "cmd": [
399      "python",
400      "-u",
401      "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
402      "[START_DIR]/skimage",
403      "foo@127.0.0.1:/home/chronos/user/images"
404    ],
405    "infra_step": true,
406    "name": "scp -r [START_DIR]/skimage foo@127.0.0.1:/home/chronos/user/images",
407    "~followup_annotations": [
408      "@@@STEP_LOG_LINE@python.inline@@@@",
409      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
410      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
411      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
412      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
413      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
414      "@@@STEP_LOG_END@python.inline@@@"
415    ]
416  },
417  {
418    "cmd": [
419      "python",
420      "-u",
421      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
422      "[START_DIR]/tmp/SK_IMAGE_VERSION",
423      "foo@127.0.0.1:/home/chronos/user/SK_IMAGE_VERSION"
424    ],
425    "infra_step": true,
426    "name": "scp [START_DIR]/tmp/SK_IMAGE_VERSION foo@127.0.0.1:/home/chronos/user/SK_IMAGE_VERSION",
427    "~followup_annotations": [
428      "@@@STEP_LOG_LINE@python.inline@@@@",
429      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
430      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
431      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
432      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
433      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
434      "@@@STEP_LOG_END@python.inline@@@"
435    ]
436  },
437  {
438    "cmd": [
439      "python",
440      "-u",
441      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
442      "--json-output",
443      "/path/to/tmp/json",
444      "copy",
445      "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
446      "/path/to/tmp/"
447    ],
448    "infra_step": true,
449    "name": "Get downloaded SVG VERSION"
450  },
451  {
452    "cmd": [
453      "python",
454      "-u",
455      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
456      "--json-output",
457      "/path/to/tmp/json",
458      "copy",
459      "42",
460      "[START_DIR]/tmp/SVG_VERSION"
461    ],
462    "infra_step": true,
463    "name": "write SVG_VERSION"
464  },
465  {
466    "cmd": [
467      "ssh",
468      "-oConnectTimeout=15",
469      "-oBatchMode=yes",
470      "-t",
471      "-t",
472      "foo@127.0.0.1",
473      "cat",
474      "/home/chronos/user/SVG_VERSION"
475    ],
476    "env": {
477      "BUILDTYPE": "Debug",
478      "CHROME_HEADLESS": "1",
479      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
480      "SKIA_OUT": "[START_DIR]/out"
481    },
482    "infra_step": true,
483    "name": "read /home/chronos/user/SVG_VERSION",
484    "stdout": "/path/to/tmp/"
485  },
486  {
487    "cmd": [
488      "ssh",
489      "-oConnectTimeout=15",
490      "-oBatchMode=yes",
491      "-t",
492      "-t",
493      "foo@127.0.0.1",
494      "rm",
495      "-f",
496      "/home/chronos/user/SVG_VERSION"
497    ],
498    "env": {
499      "BUILDTYPE": "Debug",
500      "CHROME_HEADLESS": "1",
501      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
502      "SKIA_OUT": "[START_DIR]/out"
503    },
504    "infra_step": true,
505    "name": "rm /home/chronos/user/SVG_VERSION"
506  },
507  {
508    "cmd": [
509      "ssh",
510      "-oConnectTimeout=15",
511      "-oBatchMode=yes",
512      "-t",
513      "-t",
514      "foo@127.0.0.1",
515      "rm",
516      "-rf",
517      "/home/chronos/user/svgs"
518    ],
519    "env": {
520      "BUILDTYPE": "Debug",
521      "CHROME_HEADLESS": "1",
522      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
523      "SKIA_OUT": "[START_DIR]/out"
524    },
525    "infra_step": true,
526    "name": "rm /home/chronos/user/svgs"
527  },
528  {
529    "cmd": [
530      "ssh",
531      "-oConnectTimeout=15",
532      "-oBatchMode=yes",
533      "-t",
534      "-t",
535      "foo@127.0.0.1",
536      "mkdir",
537      "-p",
538      "/home/chronos/user/svgs"
539    ],
540    "env": {
541      "BUILDTYPE": "Debug",
542      "CHROME_HEADLESS": "1",
543      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
544      "SKIA_OUT": "[START_DIR]/out"
545    },
546    "infra_step": true,
547    "name": "mkdir /home/chronos/user/svgs"
548  },
549  {
550    "cmd": [
551      "python",
552      "-u",
553      "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
554      "[START_DIR]/svg",
555      "foo@127.0.0.1:/home/chronos/user/svgs"
556    ],
557    "infra_step": true,
558    "name": "scp -r [START_DIR]/svg foo@127.0.0.1:/home/chronos/user/svgs",
559    "~followup_annotations": [
560      "@@@STEP_LOG_LINE@python.inline@@@@",
561      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
562      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
563      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
564      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
565      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
566      "@@@STEP_LOG_END@python.inline@@@"
567    ]
568  },
569  {
570    "cmd": [
571      "python",
572      "-u",
573      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
574      "[START_DIR]/tmp/SVG_VERSION",
575      "foo@127.0.0.1:/home/chronos/user/SVG_VERSION"
576    ],
577    "infra_step": true,
578    "name": "scp [START_DIR]/tmp/SVG_VERSION foo@127.0.0.1:/home/chronos/user/SVG_VERSION",
579    "~followup_annotations": [
580      "@@@STEP_LOG_LINE@python.inline@@@@",
581      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
582      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
583      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
584      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
585      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
586      "@@@STEP_LOG_END@python.inline@@@"
587    ]
588  },
589  {
590    "cmd": [
591      "python",
592      "-u",
593      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
594      "--json-output",
595      "/path/to/tmp/json",
596      "rmtree",
597      "[CUSTOM_[SWARM_OUT_DIR]]/dm"
598    ],
599    "infra_step": true,
600    "name": "rmtree dm"
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      "ensure-directory",
610      "--mode",
611      "0777",
612      "[CUSTOM_[SWARM_OUT_DIR]]/dm"
613    ],
614    "infra_step": true,
615    "name": "makedirs dm"
616  },
617  {
618    "cmd": [
619      "ssh",
620      "-oConnectTimeout=15",
621      "-oBatchMode=yes",
622      "-t",
623      "-t",
624      "foo@127.0.0.1",
625      "rm",
626      "-rf",
627      "/home/chronos/user/dm_out"
628    ],
629    "env": {
630      "BUILDTYPE": "Debug",
631      "CHROME_HEADLESS": "1",
632      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
633      "SKIA_OUT": "[START_DIR]/out"
634    },
635    "infra_step": true,
636    "name": "rm /home/chronos/user/dm_out"
637  },
638  {
639    "cmd": [
640      "ssh",
641      "-oConnectTimeout=15",
642      "-oBatchMode=yes",
643      "-t",
644      "-t",
645      "foo@127.0.0.1",
646      "mkdir",
647      "-p",
648      "/home/chronos/user/dm_out"
649    ],
650    "env": {
651      "BUILDTYPE": "Debug",
652      "CHROME_HEADLESS": "1",
653      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
654      "SKIA_OUT": "[START_DIR]/out"
655    },
656    "infra_step": true,
657    "name": "mkdir /home/chronos/user/dm_out"
658  },
659  {
660    "cmd": [
661      "python",
662      "-u",
663      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
664      "--json-output",
665      "/path/to/tmp/json",
666      "ensure-directory",
667      "--mode",
668      "0777",
669      "[START_DIR]/tmp"
670    ],
671    "infra_step": true,
672    "name": "makedirs tmp_dir"
673  },
674  {
675    "cmd": [
676      "python",
677      "-u",
678      "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sys.argv[1], 'w') as f:\n        f.write(hashes)\n        break\n  except Exception as e:\n    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n    print e\n    if retry == RETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print 'Retry in %d seconds.' % waittime\n    time.sleep(waittime)\n",
679      "[START_DIR]/tmp/uninteresting_hashes.txt"
680    ],
681    "env": {
682      "BUILDTYPE": "Debug",
683      "CHROME_HEADLESS": "1",
684      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
685      "SKIA_OUT": "[START_DIR]/out"
686    },
687    "infra_step": true,
688    "name": "get uninteresting hashes",
689    "~followup_annotations": [
690      "@@@STEP_LOG_LINE@python.inline@@@@",
691      "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
692      "@@@STEP_LOG_LINE@python.inline@import math@@@",
693      "@@@STEP_LOG_LINE@python.inline@import socket@@@",
694      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
695      "@@@STEP_LOG_LINE@python.inline@import time@@@",
696      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
697      "@@@STEP_LOG_LINE@python.inline@@@@",
698      "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@",
699      "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
700      "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
701      "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
702      "@@@STEP_LOG_LINE@python.inline@@@@",
703      "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
704      "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
705      "@@@STEP_LOG_LINE@python.inline@  try:@@@",
706      "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@",
707      "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
708      "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@",
709      "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[1], 'w') as f:@@@",
710      "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@",
711      "@@@STEP_LOG_LINE@python.inline@        break@@@",
712      "@@@STEP_LOG_LINE@python.inline@  except Exception as e:@@@",
713      "@@@STEP_LOG_LINE@python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
714      "@@@STEP_LOG_LINE@python.inline@    print e@@@",
715      "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@",
716      "@@@STEP_LOG_LINE@python.inline@      raise@@@",
717      "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
718      "@@@STEP_LOG_LINE@python.inline@    print 'Retry in %d seconds.' % waittime@@@",
719      "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@",
720      "@@@STEP_LOG_END@python.inline@@@"
721    ]
722  },
723  {
724    "cmd": [
725      "python",
726      "-u",
727      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
728      "[START_DIR]/tmp/uninteresting_hashes.txt",
729      "foo@127.0.0.1:/home/chronos/user/uninteresting_hashes.txt"
730    ],
731    "infra_step": true,
732    "name": "scp [START_DIR]/tmp/uninteresting_hashes.txt foo@127.0.0.1:/home/chronos/user/uninteresting_hashes.txt",
733    "~followup_annotations": [
734      "@@@STEP_LOG_LINE@python.inline@@@@",
735      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
736      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
737      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
738      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
739      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
740      "@@@STEP_LOG_END@python.inline@@@"
741    ]
742  },
743  {
744    "cmd": [
745      "python",
746      "-u",
747      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
748    ],
749    "name": "get swarming bot id",
750    "stdout": "/path/to/tmp/",
751    "~followup_annotations": [
752      "@@@STEP_LOG_LINE@python.inline@import os@@@",
753      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
754      "@@@STEP_LOG_END@python.inline@@@"
755    ]
756  },
757  {
758    "cmd": [
759      "python",
760      "-u",
761      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
762    ],
763    "name": "get swarming task id",
764    "stdout": "/path/to/tmp/",
765    "~followup_annotations": [
766      "@@@STEP_LOG_LINE@python.inline@import os@@@",
767      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
768      "@@@STEP_LOG_END@python.inline@@@"
769    ]
770  },
771  {
772    "cmd": [
773      "python",
774      "-u",
775      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
776      "[START_DIR]/out/Debug/dm",
777      "foo@127.0.0.1:/home/chronos/user/bin/dm"
778    ],
779    "env": {
780      "BUILDTYPE": "Debug",
781      "CHROME_HEADLESS": "1",
782      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
783      "SKIA_OUT": "[START_DIR]/out"
784    },
785    "infra_step": true,
786    "name": "scp [START_DIR]/out/Debug/dm foo@127.0.0.1:/home/chronos/user/bin/dm",
787    "~followup_annotations": [
788      "@@@STEP_LOG_LINE@python.inline@@@@",
789      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
790      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
791      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
792      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
793      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
794      "@@@STEP_LOG_END@python.inline@@@"
795    ]
796  },
797  {
798    "cmd": [
799      "ssh",
800      "-oConnectTimeout=15",
801      "-oBatchMode=yes",
802      "-t",
803      "-t",
804      "foo@127.0.0.1",
805      "chmod",
806      "+x",
807      "/home/chronos/user/bin/dm"
808    ],
809    "env": {
810      "BUILDTYPE": "Debug",
811      "CHROME_HEADLESS": "1",
812      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
813      "SKIA_OUT": "[START_DIR]/out"
814    },
815    "infra_step": true,
816    "name": "chmod dm"
817  },
818  {
819    "cmd": [
820      "ssh",
821      "-oConnectTimeout=15",
822      "-oBatchMode=yes",
823      "-t",
824      "-t",
825      "foo@127.0.0.1",
826      "/home/chronos/user/bin/dm",
827      "--undefok",
828      "--resourcePath",
829      "/home/chronos/user/resources",
830      "--skps",
831      "/home/chronos/user/skps",
832      "--images",
833      "/home/chronos/user/images/dm",
834      "--colorImages",
835      "/home/chronos/user/images/colorspace",
836      "--nameByHash",
837      "--properties",
838      "gitHash",
839      "abc123",
840      "builder",
841      "Test-ChromeOS-Clang-Chromebook_C100p-GPU-MaliT764-arm-Debug",
842      "swarming_bot_id",
843      "skia-bot-123",
844      "swarming_task_id",
845      "123456",
846      "--svgs",
847      "/home/chronos/user/svgs",
848      "--key",
849      "arch",
850      "arm",
851      "compiler",
852      "Clang",
853      "configuration",
854      "Debug",
855      "cpu_or_gpu",
856      "GPU",
857      "cpu_or_gpu_value",
858      "MaliT764",
859      "model",
860      "Chromebook_C100p",
861      "os",
862      "ChromeOS",
863      "--uninterestingHashesFile",
864      "/home/chronos/user/uninteresting_hashes.txt",
865      "--writePath",
866      "/home/chronos/user/dm_out",
867      "--nocpu",
868      "--randomProcessorTest",
869      "--config",
870      "gles",
871      "--src",
872      "tests",
873      "gm",
874      "image",
875      "colorImage",
876      "svg",
877      "--blacklist",
878      "_",
879      "image",
880      "_",
881      "interlaced1.png",
882      "_",
883      "image",
884      "_",
885      "interlaced2.png",
886      "_",
887      "image",
888      "_",
889      "interlaced3.png",
890      "_",
891      "image",
892      "_",
893      ".arw",
894      "_",
895      "image",
896      "_",
897      ".cr2",
898      "_",
899      "image",
900      "_",
901      ".dng",
902      "_",
903      "image",
904      "_",
905      ".nef",
906      "_",
907      "image",
908      "_",
909      ".nrw",
910      "_",
911      "image",
912      "_",
913      ".orf",
914      "_",
915      "image",
916      "_",
917      ".raf",
918      "_",
919      "image",
920      "_",
921      ".rw2",
922      "_",
923      "image",
924      "_",
925      ".pef",
926      "_",
927      "image",
928      "_",
929      ".srw",
930      "_",
931      "image",
932      "_",
933      ".ARW",
934      "_",
935      "image",
936      "_",
937      ".CR2",
938      "_",
939      "image",
940      "_",
941      ".DNG",
942      "_",
943      "image",
944      "_",
945      ".NEF",
946      "_",
947      "image",
948      "_",
949      ".NRW",
950      "_",
951      "image",
952      "_",
953      ".ORF",
954      "_",
955      "image",
956      "_",
957      ".RAF",
958      "_",
959      "image",
960      "_",
961      ".RW2",
962      "_",
963      "image",
964      "_",
965      ".PEF",
966      "_",
967      "image",
968      "_",
969      ".SRW"
970    ],
971    "env": {
972      "BUILDTYPE": "Debug",
973      "CHROME_HEADLESS": "1",
974      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
975      "SKIA_OUT": "[START_DIR]/out"
976    },
977    "infra_step": true,
978    "name": "dm"
979  },
980  {
981    "cmd": [
982      "python",
983      "-u",
984      "\nimport subprocess\nimport sys\nsrc = sys.argv[1] + '/*'\ndest   = sys.argv[2]\nprint subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)\n",
985      "foo@127.0.0.1:/home/chronos/user/dm_out",
986      "[CUSTOM_[SWARM_OUT_DIR]]/dm"
987    ],
988    "infra_step": true,
989    "name": "scp -r foo@127.0.0.1:/home/chronos/user/dm_out [CUSTOM_[SWARM_OUT_DIR]]/dm",
990    "~followup_annotations": [
991      "@@@STEP_LOG_LINE@python.inline@@@@",
992      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
993      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
994      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
995      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
996      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
997      "@@@STEP_LOG_END@python.inline@@@"
998    ]
999  },
1000  {
1001    "name": "$result",
1002    "recipe_result": null,
1003    "status_code": 0
1004  }
1005]