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      "[START_DIR]/tmp"
13    ],
14    "infra_step": true,
15    "name": "makedirs tmp_dir"
16  },
17  {
18    "cmd": [
19      "python",
20      "-u",
21      "\nimport os\nSSH_MACHINE_FILE = os.path.expanduser('~/ssh_machine.json')\nwith open(SSH_MACHINE_FILE, 'r') as f:\n  print f.read()\n"
22    ],
23    "env": {
24      "CHROME_HEADLESS": "1",
25      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
26    },
27    "infra_step": true,
28    "name": "read chromeos ip",
29    "stdout": "/path/to/tmp/",
30    "~followup_annotations": [
31      "@@@STEP_LOG_LINE@python.inline@@@@",
32      "@@@STEP_LOG_LINE@python.inline@import os@@@",
33      "@@@STEP_LOG_LINE@python.inline@SSH_MACHINE_FILE = os.path.expanduser('~/ssh_machine.json')@@@",
34      "@@@STEP_LOG_LINE@python.inline@with open(SSH_MACHINE_FILE, 'r') as f:@@@",
35      "@@@STEP_LOG_LINE@python.inline@  print f.read()@@@",
36      "@@@STEP_LOG_END@python.inline@@@"
37    ]
38  },
39  {
40    "cmd": [
41      "ssh",
42      "-oConnectTimeout=15",
43      "-oBatchMode=yes",
44      "-t",
45      "-t",
46      "foo@127.0.0.1",
47      "mkdir",
48      "-p",
49      "/home/chronos/user/resources"
50    ],
51    "env": {
52      "CHROME_HEADLESS": "1",
53      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
54    },
55    "infra_step": true,
56    "name": "mkdir /home/chronos/user/resources"
57  },
58  {
59    "cmd": [
60      "ssh",
61      "-oConnectTimeout=15",
62      "-oBatchMode=yes",
63      "-t",
64      "-t",
65      "foo@127.0.0.1",
66      "sudo",
67      "mount",
68      "-i",
69      "-o",
70      "remount,exec",
71      "/home/chronos"
72    ],
73    "env": {
74      "CHROME_HEADLESS": "1",
75      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
76    },
77    "infra_step": true,
78    "name": "remount /home/chronos/user/ as exec"
79  },
80  {
81    "cmd": [
82      "ssh",
83      "-oConnectTimeout=15",
84      "-oBatchMode=yes",
85      "-t",
86      "-t",
87      "foo@127.0.0.1",
88      "rm",
89      "-rf",
90      "/home/chronos/user/bin"
91    ],
92    "env": {
93      "CHROME_HEADLESS": "1",
94      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
95    },
96    "infra_step": true,
97    "name": "rm /home/chronos/user/bin"
98  },
99  {
100    "cmd": [
101      "ssh",
102      "-oConnectTimeout=15",
103      "-oBatchMode=yes",
104      "-t",
105      "-t",
106      "foo@127.0.0.1",
107      "mkdir",
108      "-p",
109      "/home/chronos/user/bin"
110    ],
111    "env": {
112      "CHROME_HEADLESS": "1",
113      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
114    },
115    "infra_step": true,
116    "name": "mkdir /home/chronos/user/bin"
117  },
118  {
119    "cmd": [
120      "python",
121      "-u",
122      "\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",
123      "[START_DIR]/skia/resources",
124      "foo@127.0.0.1:/home/chronos/user/resources"
125    ],
126    "infra_step": true,
127    "name": "scp -r [START_DIR]/skia/resources foo@127.0.0.1:/home/chronos/user/resources",
128    "~followup_annotations": [
129      "@@@STEP_LOG_LINE@python.inline@@@@",
130      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
131      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
132      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
133      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
134      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
135      "@@@STEP_LOG_END@python.inline@@@"
136    ]
137  },
138  {
139    "cmd": [
140      "python",
141      "-u",
142      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
143      "--json-output",
144      "/path/to/tmp/json",
145      "copy",
146      "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
147      "/path/to/tmp/"
148    ],
149    "infra_step": true,
150    "name": "Get skp VERSION"
151  },
152  {
153    "cmd": [
154      "python",
155      "-u",
156      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
157      "--json-output",
158      "/path/to/tmp/json",
159      "copy",
160      "42",
161      "[START_DIR]/tmp/SKP_VERSION"
162    ],
163    "infra_step": true,
164    "name": "write SKP_VERSION"
165  },
166  {
167    "cmd": [
168      "ssh",
169      "-oConnectTimeout=15",
170      "-oBatchMode=yes",
171      "-t",
172      "-t",
173      "foo@127.0.0.1",
174      "cat",
175      "/home/chronos/user/SKP_VERSION"
176    ],
177    "env": {
178      "CHROME_HEADLESS": "1",
179      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
180    },
181    "infra_step": true,
182    "name": "read /home/chronos/user/SKP_VERSION",
183    "stdout": "/path/to/tmp/"
184  },
185  {
186    "cmd": [
187      "ssh",
188      "-oConnectTimeout=15",
189      "-oBatchMode=yes",
190      "-t",
191      "-t",
192      "foo@127.0.0.1",
193      "rm",
194      "-f",
195      "/home/chronos/user/SKP_VERSION"
196    ],
197    "env": {
198      "CHROME_HEADLESS": "1",
199      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
200    },
201    "infra_step": true,
202    "name": "rm /home/chronos/user/SKP_VERSION"
203  },
204  {
205    "cmd": [
206      "ssh",
207      "-oConnectTimeout=15",
208      "-oBatchMode=yes",
209      "-t",
210      "-t",
211      "foo@127.0.0.1",
212      "rm",
213      "-rf",
214      "/home/chronos/user/skps"
215    ],
216    "env": {
217      "CHROME_HEADLESS": "1",
218      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
219    },
220    "infra_step": true,
221    "name": "rm /home/chronos/user/skps"
222  },
223  {
224    "cmd": [
225      "ssh",
226      "-oConnectTimeout=15",
227      "-oBatchMode=yes",
228      "-t",
229      "-t",
230      "foo@127.0.0.1",
231      "mkdir",
232      "-p",
233      "/home/chronos/user/skps"
234    ],
235    "env": {
236      "CHROME_HEADLESS": "1",
237      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
238    },
239    "infra_step": true,
240    "name": "mkdir /home/chronos/user/skps"
241  },
242  {
243    "cmd": [
244      "python",
245      "-u",
246      "\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",
247      "[START_DIR]/skp",
248      "foo@127.0.0.1:/home/chronos/user/skps"
249    ],
250    "infra_step": true,
251    "name": "scp -r [START_DIR]/skp foo@127.0.0.1:/home/chronos/user/skps",
252    "~followup_annotations": [
253      "@@@STEP_LOG_LINE@python.inline@@@@",
254      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
255      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
256      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
257      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
258      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
259      "@@@STEP_LOG_END@python.inline@@@"
260    ]
261  },
262  {
263    "cmd": [
264      "python",
265      "-u",
266      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
267      "[START_DIR]/tmp/SKP_VERSION",
268      "foo@127.0.0.1:/home/chronos/user/SKP_VERSION"
269    ],
270    "infra_step": true,
271    "name": "scp [START_DIR]/tmp/SKP_VERSION foo@127.0.0.1:/home/chronos/user/SKP_VERSION",
272    "~followup_annotations": [
273      "@@@STEP_LOG_LINE@python.inline@@@@",
274      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
275      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
276      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
277      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
278      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
279      "@@@STEP_LOG_END@python.inline@@@"
280    ]
281  },
282  {
283    "cmd": [
284      "python",
285      "-u",
286      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
287      "--json-output",
288      "/path/to/tmp/json",
289      "copy",
290      "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
291      "/path/to/tmp/"
292    ],
293    "infra_step": true,
294    "name": "Get skimage VERSION"
295  },
296  {
297    "cmd": [
298      "python",
299      "-u",
300      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
301      "--json-output",
302      "/path/to/tmp/json",
303      "copy",
304      "42",
305      "[START_DIR]/tmp/SK_IMAGE_VERSION"
306    ],
307    "infra_step": true,
308    "name": "write SK_IMAGE_VERSION"
309  },
310  {
311    "cmd": [
312      "ssh",
313      "-oConnectTimeout=15",
314      "-oBatchMode=yes",
315      "-t",
316      "-t",
317      "foo@127.0.0.1",
318      "cat",
319      "/home/chronos/user/SK_IMAGE_VERSION"
320    ],
321    "env": {
322      "CHROME_HEADLESS": "1",
323      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
324    },
325    "infra_step": true,
326    "name": "read /home/chronos/user/SK_IMAGE_VERSION",
327    "stdout": "/path/to/tmp/"
328  },
329  {
330    "cmd": [
331      "ssh",
332      "-oConnectTimeout=15",
333      "-oBatchMode=yes",
334      "-t",
335      "-t",
336      "foo@127.0.0.1",
337      "rm",
338      "-f",
339      "/home/chronos/user/SK_IMAGE_VERSION"
340    ],
341    "env": {
342      "CHROME_HEADLESS": "1",
343      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
344    },
345    "infra_step": true,
346    "name": "rm /home/chronos/user/SK_IMAGE_VERSION"
347  },
348  {
349    "cmd": [
350      "ssh",
351      "-oConnectTimeout=15",
352      "-oBatchMode=yes",
353      "-t",
354      "-t",
355      "foo@127.0.0.1",
356      "rm",
357      "-rf",
358      "/home/chronos/user/images"
359    ],
360    "env": {
361      "CHROME_HEADLESS": "1",
362      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
363    },
364    "infra_step": true,
365    "name": "rm /home/chronos/user/images"
366  },
367  {
368    "cmd": [
369      "ssh",
370      "-oConnectTimeout=15",
371      "-oBatchMode=yes",
372      "-t",
373      "-t",
374      "foo@127.0.0.1",
375      "mkdir",
376      "-p",
377      "/home/chronos/user/images"
378    ],
379    "env": {
380      "CHROME_HEADLESS": "1",
381      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
382    },
383    "infra_step": true,
384    "name": "mkdir /home/chronos/user/images"
385  },
386  {
387    "cmd": [
388      "python",
389      "-u",
390      "\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",
391      "[START_DIR]/skimage",
392      "foo@127.0.0.1:/home/chronos/user/images"
393    ],
394    "infra_step": true,
395    "name": "scp -r [START_DIR]/skimage foo@127.0.0.1:/home/chronos/user/images",
396    "~followup_annotations": [
397      "@@@STEP_LOG_LINE@python.inline@@@@",
398      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
399      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
400      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
401      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
402      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
403      "@@@STEP_LOG_END@python.inline@@@"
404    ]
405  },
406  {
407    "cmd": [
408      "python",
409      "-u",
410      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
411      "[START_DIR]/tmp/SK_IMAGE_VERSION",
412      "foo@127.0.0.1:/home/chronos/user/SK_IMAGE_VERSION"
413    ],
414    "infra_step": true,
415    "name": "scp [START_DIR]/tmp/SK_IMAGE_VERSION foo@127.0.0.1:/home/chronos/user/SK_IMAGE_VERSION",
416    "~followup_annotations": [
417      "@@@STEP_LOG_LINE@python.inline@@@@",
418      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
419      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
420      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
421      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
422      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
423      "@@@STEP_LOG_END@python.inline@@@"
424    ]
425  },
426  {
427    "cmd": [
428      "python",
429      "-u",
430      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
431      "--json-output",
432      "/path/to/tmp/json",
433      "copy",
434      "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
435      "/path/to/tmp/"
436    ],
437    "infra_step": true,
438    "name": "Get svg VERSION"
439  },
440  {
441    "cmd": [
442      "python",
443      "-u",
444      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
445      "--json-output",
446      "/path/to/tmp/json",
447      "copy",
448      "42",
449      "[START_DIR]/tmp/SVG_VERSION"
450    ],
451    "infra_step": true,
452    "name": "write SVG_VERSION"
453  },
454  {
455    "cmd": [
456      "ssh",
457      "-oConnectTimeout=15",
458      "-oBatchMode=yes",
459      "-t",
460      "-t",
461      "foo@127.0.0.1",
462      "cat",
463      "/home/chronos/user/SVG_VERSION"
464    ],
465    "env": {
466      "CHROME_HEADLESS": "1",
467      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
468    },
469    "infra_step": true,
470    "name": "read /home/chronos/user/SVG_VERSION",
471    "stdout": "/path/to/tmp/"
472  },
473  {
474    "cmd": [
475      "ssh",
476      "-oConnectTimeout=15",
477      "-oBatchMode=yes",
478      "-t",
479      "-t",
480      "foo@127.0.0.1",
481      "rm",
482      "-f",
483      "/home/chronos/user/SVG_VERSION"
484    ],
485    "env": {
486      "CHROME_HEADLESS": "1",
487      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
488    },
489    "infra_step": true,
490    "name": "rm /home/chronos/user/SVG_VERSION"
491  },
492  {
493    "cmd": [
494      "ssh",
495      "-oConnectTimeout=15",
496      "-oBatchMode=yes",
497      "-t",
498      "-t",
499      "foo@127.0.0.1",
500      "rm",
501      "-rf",
502      "/home/chronos/user/svgs"
503    ],
504    "env": {
505      "CHROME_HEADLESS": "1",
506      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
507    },
508    "infra_step": true,
509    "name": "rm /home/chronos/user/svgs"
510  },
511  {
512    "cmd": [
513      "ssh",
514      "-oConnectTimeout=15",
515      "-oBatchMode=yes",
516      "-t",
517      "-t",
518      "foo@127.0.0.1",
519      "mkdir",
520      "-p",
521      "/home/chronos/user/svgs"
522    ],
523    "env": {
524      "CHROME_HEADLESS": "1",
525      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
526    },
527    "infra_step": true,
528    "name": "mkdir /home/chronos/user/svgs"
529  },
530  {
531    "cmd": [
532      "python",
533      "-u",
534      "\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",
535      "[START_DIR]/svg",
536      "foo@127.0.0.1:/home/chronos/user/svgs"
537    ],
538    "infra_step": true,
539    "name": "scp -r [START_DIR]/svg foo@127.0.0.1:/home/chronos/user/svgs",
540    "~followup_annotations": [
541      "@@@STEP_LOG_LINE@python.inline@@@@",
542      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
543      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
544      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
545      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
546      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
547      "@@@STEP_LOG_END@python.inline@@@"
548    ]
549  },
550  {
551    "cmd": [
552      "python",
553      "-u",
554      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
555      "[START_DIR]/tmp/SVG_VERSION",
556      "foo@127.0.0.1:/home/chronos/user/SVG_VERSION"
557    ],
558    "infra_step": true,
559    "name": "scp [START_DIR]/tmp/SVG_VERSION foo@127.0.0.1:/home/chronos/user/SVG_VERSION",
560    "~followup_annotations": [
561      "@@@STEP_LOG_LINE@python.inline@@@@",
562      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
563      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
564      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
565      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
566      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
567      "@@@STEP_LOG_END@python.inline@@@"
568    ]
569  },
570  {
571    "cmd": [
572      "ssh",
573      "-oConnectTimeout=15",
574      "-oBatchMode=yes",
575      "-t",
576      "-t",
577      "foo@127.0.0.1",
578      "rm",
579      "-rf",
580      "/home/chronos/user/perf"
581    ],
582    "env": {
583      "CHROME_HEADLESS": "1",
584      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
585    },
586    "infra_step": true,
587    "name": "rm /home/chronos/user/perf"
588  },
589  {
590    "cmd": [
591      "ssh",
592      "-oConnectTimeout=15",
593      "-oBatchMode=yes",
594      "-t",
595      "-t",
596      "foo@127.0.0.1",
597      "mkdir",
598      "-p",
599      "/home/chronos/user/perf"
600    ],
601    "env": {
602      "CHROME_HEADLESS": "1",
603      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
604    },
605    "infra_step": true,
606    "name": "mkdir /home/chronos/user/perf"
607  },
608  {
609    "cmd": [
610      "python",
611      "-u",
612      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
613    ],
614    "name": "get swarming bot id",
615    "stdout": "/path/to/tmp/",
616    "~followup_annotations": [
617      "@@@STEP_LOG_LINE@python.inline@import os@@@",
618      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
619      "@@@STEP_LOG_END@python.inline@@@"
620    ]
621  },
622  {
623    "cmd": [
624      "python",
625      "-u",
626      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
627    ],
628    "name": "get swarming task id",
629    "stdout": "/path/to/tmp/",
630    "~followup_annotations": [
631      "@@@STEP_LOG_LINE@python.inline@import os@@@",
632      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
633      "@@@STEP_LOG_END@python.inline@@@"
634    ]
635  },
636  {
637    "cmd": [
638      "python",
639      "-u",
640      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
641      "--json-output",
642      "/path/to/tmp/json",
643      "rmtree",
644      "[START_DIR]/[SWARM_OUT_DIR]"
645    ],
646    "env": {
647      "CHROME_HEADLESS": "1",
648      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
649    },
650    "infra_step": true,
651    "name": "rmtree [SWARM_OUT_DIR]"
652  },
653  {
654    "cmd": [
655      "python",
656      "-u",
657      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
658      "--json-output",
659      "/path/to/tmp/json",
660      "ensure-directory",
661      "--mode",
662      "0777",
663      "[START_DIR]/[SWARM_OUT_DIR]"
664    ],
665    "env": {
666      "CHROME_HEADLESS": "1",
667      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
668    },
669    "infra_step": true,
670    "name": "makedirs [SWARM_OUT_DIR]"
671  },
672  {
673    "cmd": [
674      "python",
675      "-u",
676      "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice   = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n",
677      "[START_DIR]/build/nanobench",
678      "foo@127.0.0.1:/home/chronos/user/bin/nanobench"
679    ],
680    "env": {
681      "CHROME_HEADLESS": "1",
682      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
683    },
684    "infra_step": true,
685    "name": "scp [START_DIR]/build/nanobench foo@127.0.0.1:/home/chronos/user/bin/nanobench",
686    "~followup_annotations": [
687      "@@@STEP_LOG_LINE@python.inline@@@@",
688      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
689      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
690      "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
691      "@@@STEP_LOG_LINE@python.inline@device   = sys.argv[2]@@@",
692      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@",
693      "@@@STEP_LOG_END@python.inline@@@"
694    ]
695  },
696  {
697    "cmd": [
698      "ssh",
699      "-oConnectTimeout=15",
700      "-oBatchMode=yes",
701      "-t",
702      "-t",
703      "foo@127.0.0.1",
704      "chmod",
705      "+x",
706      "/home/chronos/user/bin/nanobench"
707    ],
708    "env": {
709      "CHROME_HEADLESS": "1",
710      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
711    },
712    "infra_step": true,
713    "name": "chmod nanobench"
714  },
715  {
716    "cmd": [
717      "ssh",
718      "-oConnectTimeout=15",
719      "-oBatchMode=yes",
720      "-t",
721      "-t",
722      "foo@127.0.0.1",
723      "/home/chronos/user/bin/nanobench",
724      "-i",
725      "/home/chronos/user/resources",
726      "--skps",
727      "/home/chronos/user/skps",
728      "--images",
729      "/home/chronos/user/images/nanobench",
730      "--svgs",
731      "/home/chronos/user/svgs",
732      "--pre_log",
733      "--images",
734      "--gpuStatsDump",
735      "true",
736      "--scales",
737      "1.0",
738      "1.1",
739      "--nocpu",
740      "--config",
741      "gles",
742      "--match",
743      "~inc0.gif",
744      "~inc1.gif",
745      "~incInterlaced.gif",
746      "~inc0.jpg",
747      "~incGray.jpg",
748      "~inc0.wbmp",
749      "~inc1.wbmp",
750      "~inc0.webp",
751      "~inc1.webp",
752      "~inc0.ico",
753      "~inc1.ico",
754      "~inc0.png",
755      "~inc1.png",
756      "~inc2.png",
757      "~inc12.png",
758      "~inc13.png",
759      "~inc14.png",
760      "~inc0.webp",
761      "~inc1.webp",
762      "--outResultsFile",
763      "/home/chronos/user/perf/nanobench_abc123_1337000001.json",
764      "--properties",
765      "gitHash",
766      "abc123",
767      "swarming_bot_id",
768      "skia-bot-123",
769      "swarming_task_id",
770      "123456",
771      "--key",
772      "arch",
773      "arm",
774      "compiler",
775      "Clang",
776      "cpu_or_gpu",
777      "GPU",
778      "cpu_or_gpu_value",
779      "MaliT764",
780      "model",
781      "ASUSChromebookFlipC100",
782      "os",
783      "ChromeOS"
784    ],
785    "env": {
786      "CHROME_HEADLESS": "1",
787      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
788    },
789    "infra_step": true,
790    "name": "nanobench"
791  },
792  {
793    "cmd": [
794      "python",
795      "-u",
796      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
797      "--json-output",
798      "/path/to/tmp/json",
799      "ensure-directory",
800      "--mode",
801      "0777",
802      "[START_DIR]/[SWARM_OUT_DIR]"
803    ],
804    "infra_step": true,
805    "name": "makedirs perf_dir"
806  },
807  {
808    "cmd": [
809      "python",
810      "-u",
811      "\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",
812      "foo@127.0.0.1:/home/chronos/user/perf",
813      "[START_DIR]/[SWARM_OUT_DIR]"
814    ],
815    "infra_step": true,
816    "name": "scp -r foo@127.0.0.1:/home/chronos/user/perf [START_DIR]/[SWARM_OUT_DIR]",
817    "~followup_annotations": [
818      "@@@STEP_LOG_LINE@python.inline@@@@",
819      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
820      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
821      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@",
822      "@@@STEP_LOG_LINE@python.inline@dest   = sys.argv[2]@@@",
823      "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@",
824      "@@@STEP_LOG_END@python.inline@@@"
825    ]
826  },
827  {
828    "jsonResult": null,
829    "name": "$result"
830  }
831]