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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 "python", 573 "-u", 574 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 575 "--json-output", 576 "/path/to/tmp/json", 577 "rmtree", 578 "[START_DIR]/test" 579 ], 580 "infra_step": true, 581 "name": "rmtree test" 582 }, 583 { 584 "cmd": [ 585 "python", 586 "-u", 587 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 588 "--json-output", 589 "/path/to/tmp/json", 590 "ensure-directory", 591 "--mode", 592 "0777", 593 "[START_DIR]/test" 594 ], 595 "infra_step": true, 596 "name": "makedirs test" 597 }, 598 { 599 "cmd": [ 600 "ssh", 601 "-oConnectTimeout=15", 602 "-oBatchMode=yes", 603 "-t", 604 "-t", 605 "foo@127.0.0.1", 606 "rm", 607 "-rf", 608 "/home/chronos/user/dm_out" 609 ], 610 "env": { 611 "CHROME_HEADLESS": "1", 612 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 613 }, 614 "infra_step": true, 615 "name": "rm /home/chronos/user/dm_out" 616 }, 617 { 618 "cmd": [ 619 "ssh", 620 "-oConnectTimeout=15", 621 "-oBatchMode=yes", 622 "-t", 623 "-t", 624 "foo@127.0.0.1", 625 "mkdir", 626 "-p", 627 "/home/chronos/user/dm_out" 628 ], 629 "env": { 630 "CHROME_HEADLESS": "1", 631 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 632 }, 633 "infra_step": true, 634 "name": "mkdir /home/chronos/user/dm_out" 635 }, 636 { 637 "cmd": [ 638 "python", 639 "-u", 640 "\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", 641 "https://example.com/hashes.txt", 642 "[START_DIR]/tmp/uninteresting_hashes.txt" 643 ], 644 "env": { 645 "CHROME_HEADLESS": "1", 646 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 647 }, 648 "infra_step": true, 649 "name": "get uninteresting hashes", 650 "~followup_annotations": [ 651 "@@@STEP_LOG_LINE@python.inline@@@@", 652 "@@@STEP_LOG_LINE@python.inline@import contextlib@@@", 653 "@@@STEP_LOG_LINE@python.inline@import math@@@", 654 "@@@STEP_LOG_LINE@python.inline@import socket@@@", 655 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 656 "@@@STEP_LOG_LINE@python.inline@import time@@@", 657 "@@@STEP_LOG_LINE@python.inline@import urllib2@@@", 658 "@@@STEP_LOG_LINE@python.inline@@@@", 659 "@@@STEP_LOG_LINE@python.inline@HASHES_URL = sys.argv[1]@@@", 660 "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@", 661 "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@", 662 "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@", 663 "@@@STEP_LOG_LINE@python.inline@@@@", 664 "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", 665 "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@", 666 "@@@STEP_LOG_LINE@python.inline@ try:@@@", 667 "@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@", 668 "@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@", 669 "@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@", 670 "@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[2], 'w') as f:@@@", 671 "@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@", 672 "@@@STEP_LOG_LINE@python.inline@ break@@@", 673 "@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@", 674 "@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@", 675 "@@@STEP_LOG_LINE@python.inline@ print e@@@", 676 "@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@", 677 "@@@STEP_LOG_LINE@python.inline@ raise@@@", 678 "@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@", 679 "@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@", 680 "@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@", 681 "@@@STEP_LOG_END@python.inline@@@" 682 ] 683 }, 684 { 685 "cmd": [ 686 "python", 687 "-u", 688 "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n", 689 "[START_DIR]/tmp/uninteresting_hashes.txt", 690 "foo@127.0.0.1:/home/chronos/user/uninteresting_hashes.txt" 691 ], 692 "infra_step": true, 693 "name": "scp [START_DIR]/tmp/uninteresting_hashes.txt foo@127.0.0.1:/home/chronos/user/uninteresting_hashes.txt", 694 "~followup_annotations": [ 695 "@@@STEP_LOG_LINE@python.inline@@@@", 696 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 697 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 698 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", 699 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", 700 "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@", 701 "@@@STEP_LOG_END@python.inline@@@" 702 ] 703 }, 704 { 705 "cmd": [ 706 "python", 707 "-u", 708 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n" 709 ], 710 "name": "get swarming bot id", 711 "stdout": "/path/to/tmp/", 712 "~followup_annotations": [ 713 "@@@STEP_LOG_LINE@python.inline@import os@@@", 714 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@", 715 "@@@STEP_LOG_END@python.inline@@@" 716 ] 717 }, 718 { 719 "cmd": [ 720 "python", 721 "-u", 722 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n" 723 ], 724 "name": "get swarming task id", 725 "stdout": "/path/to/tmp/", 726 "~followup_annotations": [ 727 "@@@STEP_LOG_LINE@python.inline@import os@@@", 728 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@", 729 "@@@STEP_LOG_END@python.inline@@@" 730 ] 731 }, 732 { 733 "cmd": [ 734 "python", 735 "-u", 736 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 737 "--json-output", 738 "/path/to/tmp/json", 739 "rmtree", 740 "[START_DIR]/[SWARM_OUT_DIR]" 741 ], 742 "env": { 743 "CHROME_HEADLESS": "1", 744 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 745 }, 746 "infra_step": true, 747 "name": "rmtree [SWARM_OUT_DIR]" 748 }, 749 { 750 "cmd": [ 751 "python", 752 "-u", 753 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 754 "--json-output", 755 "/path/to/tmp/json", 756 "ensure-directory", 757 "--mode", 758 "0777", 759 "[START_DIR]/[SWARM_OUT_DIR]" 760 ], 761 "env": { 762 "CHROME_HEADLESS": "1", 763 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 764 }, 765 "infra_step": true, 766 "name": "makedirs [SWARM_OUT_DIR]" 767 }, 768 { 769 "cmd": [ 770 "python", 771 "-u", 772 "\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nprint subprocess.check_output(['scp', host, device])\n", 773 "[START_DIR]/build/dm", 774 "foo@127.0.0.1:/home/chronos/user/bin/dm" 775 ], 776 "env": { 777 "CHROME_HEADLESS": "1", 778 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 779 }, 780 "infra_step": true, 781 "name": "scp [START_DIR]/build/dm foo@127.0.0.1:/home/chronos/user/bin/dm", 782 "~followup_annotations": [ 783 "@@@STEP_LOG_LINE@python.inline@@@@", 784 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 785 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 786 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", 787 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", 788 "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output(['scp', host, device])@@@", 789 "@@@STEP_LOG_END@python.inline@@@" 790 ] 791 }, 792 { 793 "cmd": [ 794 "ssh", 795 "-oConnectTimeout=15", 796 "-oBatchMode=yes", 797 "-t", 798 "-t", 799 "foo@127.0.0.1", 800 "chmod", 801 "+x", 802 "/home/chronos/user/bin/dm" 803 ], 804 "env": { 805 "CHROME_HEADLESS": "1", 806 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 807 }, 808 "infra_step": true, 809 "name": "chmod dm" 810 }, 811 { 812 "cmd": [ 813 "ssh", 814 "-oConnectTimeout=15", 815 "-oBatchMode=yes", 816 "-t", 817 "-t", 818 "foo@127.0.0.1", 819 "/home/chronos/user/bin/dm", 820 "--resourcePath", 821 "/home/chronos/user/resources", 822 "--skps", 823 "/home/chronos/user/skps", 824 "--images", 825 "/home/chronos/user/images/dm", 826 "--colorImages", 827 "/home/chronos/user/images/colorspace", 828 "--nameByHash", 829 "--properties", 830 "gitHash", 831 "abc123", 832 "builder", 833 "Test-ChromeOS-Clang-AcerChromebookR13Convertible-GPU-PowerVRGX6250-arm-Debug-All", 834 "buildbucket_build_id", 835 "123454321", 836 "task_id", 837 "task_12345", 838 "swarming_bot_id", 839 "skia-bot-123", 840 "swarming_task_id", 841 "123456", 842 "--svgs", 843 "/home/chronos/user/svgs", 844 "--key", 845 "arch", 846 "arm", 847 "compiler", 848 "Clang", 849 "configuration", 850 "Debug", 851 "cpu_or_gpu", 852 "GPU", 853 "cpu_or_gpu_value", 854 "PowerVRGX6250", 855 "model", 856 "AcerChromebookR13Convertible", 857 "os", 858 "ChromeOS", 859 "style", 860 "default", 861 "--uninterestingHashesFile", 862 "/home/chronos/user/uninteresting_hashes.txt", 863 "--writePath", 864 "/home/chronos/user/dm_out", 865 "--dont_write", 866 "pdf", 867 "--randomProcessorTest", 868 "--nocpu", 869 "--config", 870 "gles", 871 "--src", 872 "tests", 873 "gm", 874 "image", 875 "colorImage", 876 "svg", 877 "--blacklist", 878 "_", 879 "svg", 880 "_", 881 "svgparse_", 882 "_", 883 "image", 884 "gen_platf", 885 "error", 886 "_", 887 "image", 888 "_", 889 "interlaced1.png", 890 "_", 891 "image", 892 "_", 893 "interlaced2.png", 894 "_", 895 "image", 896 "_", 897 "interlaced3.png", 898 "_", 899 "image", 900 "_", 901 ".arw", 902 "_", 903 "image", 904 "_", 905 ".cr2", 906 "_", 907 "image", 908 "_", 909 ".dng", 910 "_", 911 "image", 912 "_", 913 ".nef", 914 "_", 915 "image", 916 "_", 917 ".nrw", 918 "_", 919 "image", 920 "_", 921 ".orf", 922 "_", 923 "image", 924 "_", 925 ".raf", 926 "_", 927 "image", 928 "_", 929 ".rw2", 930 "_", 931 "image", 932 "_", 933 ".pef", 934 "_", 935 "image", 936 "_", 937 ".srw", 938 "_", 939 "image", 940 "_", 941 ".ARW", 942 "_", 943 "image", 944 "_", 945 ".CR2", 946 "_", 947 "image", 948 "_", 949 ".DNG", 950 "_", 951 "image", 952 "_", 953 ".NEF", 954 "_", 955 "image", 956 "_", 957 ".NRW", 958 "_", 959 "image", 960 "_", 961 ".ORF", 962 "_", 963 "image", 964 "_", 965 ".RAF", 966 "_", 967 "image", 968 "_", 969 ".RW2", 970 "_", 971 "image", 972 "_", 973 ".PEF", 974 "_", 975 "image", 976 "_", 977 ".SRW", 978 "--match", 979 "~gradients_view_perspective_nodither", 980 "--nonativeFonts", 981 "--verbose" 982 ], 983 "env": { 984 "CHROME_HEADLESS": "1", 985 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 986 }, 987 "infra_step": true, 988 "name": "dm" 989 }, 990 { 991 "cmd": [ 992 "python", 993 "-u", 994 "\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", 995 "foo@127.0.0.1:/home/chronos/user/dm_out", 996 "[START_DIR]/[SWARM_OUT_DIR]" 997 ], 998 "infra_step": true, 999 "name": "scp -r foo@127.0.0.1:/home/chronos/user/dm_out [START_DIR]/[SWARM_OUT_DIR]", 1000 "~followup_annotations": [ 1001 "@@@STEP_LOG_LINE@python.inline@@@@", 1002 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 1003 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 1004 "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1] + '/*'@@@", 1005 "@@@STEP_LOG_LINE@python.inline@dest = sys.argv[2]@@@", 1006 "@@@STEP_LOG_LINE@python.inline@print subprocess.check_output('scp -r %s %s' % (src, dest), shell=True)@@@", 1007 "@@@STEP_LOG_END@python.inline@@@" 1008 ] 1009 }, 1010 { 1011 "jsonResult": null, 1012 "name": "$result" 1013 } 1014]