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