1[ 2 { 3 "cmd": [ 4 "python3", 5 "RECIPE_MODULE[skia::vars]/resources/get_env_var.py", 6 "SWARMING_BOT_ID" 7 ], 8 "name": "get swarming bot id" 9 }, 10 { 11 "cmd": [ 12 "/opt/infra-android/tools/adb", 13 "push", 14 "file.txt", 15 "file.txt" 16 ], 17 "cwd": "[START_DIR]/skia", 18 "env": { 19 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 20 "CHROME_HEADLESS": "1", 21 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 22 }, 23 "infra_step": true, 24 "name": "push file.txt file.txt" 25 }, 26 { 27 "cmd": [ 28 "/opt/infra-android/tools/adb", 29 "shell", 30 "test", 31 "-f", 32 "file.txt" 33 ], 34 "cwd": "[START_DIR]/skia", 35 "env": { 36 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 37 "CHROME_HEADLESS": "1", 38 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 39 }, 40 "infra_step": true, 41 "name": "check if file.txt exists" 42 }, 43 { 44 "cmd": [ 45 "/opt/infra-android/tools/adb", 46 "shell", 47 "cat", 48 "file.txt" 49 ], 50 "cwd": "[START_DIR]/skia", 51 "env": { 52 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 53 "CHROME_HEADLESS": "1", 54 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 55 }, 56 "infra_step": true, 57 "name": "read file.txt" 58 }, 59 { 60 "cmd": [ 61 "python3", 62 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 63 "/opt/infra-android/tools/adb", 64 "file.txt" 65 ], 66 "env": { 67 "CHROME_HEADLESS": "1", 68 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 69 }, 70 "infra_step": true, 71 "name": "rm file.txt" 72 }, 73 { 74 "cmd": [ 75 "vpython3", 76 "-u", 77 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 78 "--json-output", 79 "/path/to/tmp/json", 80 "rmtree", 81 "results_dir" 82 ], 83 "infra_step": true, 84 "name": "rmtree results_dir" 85 }, 86 { 87 "cmd": [ 88 "vpython3", 89 "-u", 90 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 91 "--json-output", 92 "/path/to/tmp/json", 93 "ensure-directory", 94 "--mode", 95 "0o777", 96 "results_dir" 97 ], 98 "infra_step": true, 99 "name": "makedirs results_dir" 100 }, 101 { 102 "cmd": [ 103 "python3", 104 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 105 "/opt/infra-android/tools/adb", 106 "device_results_dir" 107 ], 108 "env": { 109 "CHROME_HEADLESS": "1", 110 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 111 }, 112 "infra_step": true, 113 "name": "rm device_results_dir" 114 }, 115 { 116 "cmd": [ 117 "/opt/infra-android/tools/adb", 118 "shell", 119 "mkdir", 120 "-p", 121 "device_results_dir" 122 ], 123 "cwd": "[START_DIR]/skia", 124 "env": { 125 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 126 "CHROME_HEADLESS": "1", 127 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 128 }, 129 "infra_step": true, 130 "name": "mkdir device_results_dir" 131 }, 132 { 133 "cmd": [ 134 "/opt/infra-android/tools/adb", 135 "shell", 136 "mkdir", 137 "-p", 138 "/sdcard/revenge_of_the_skiabot/resources" 139 ], 140 "cwd": "[START_DIR]/skia", 141 "env": { 142 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 143 "CHROME_HEADLESS": "1", 144 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 145 }, 146 "infra_step": true, 147 "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" 148 }, 149 { 150 "cmd": [ 151 "python3", 152 "RECIPE_MODULE[skia::flavor]/resources/set_cpu_scaling_governor.py", 153 "/opt/infra-android/tools/adb", 154 "0", 155 "hotplug" 156 ], 157 "env": { 158 "CHROME_HEADLESS": "1", 159 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 160 }, 161 "infra_step": true, 162 "name": "Set CPU 0's governor to hotplug", 163 "timeout": 30 164 }, 165 { 166 "cmd": [ 167 "/opt/infra-android/tools/adb", 168 "push", 169 "[START_DIR]/build/dm", 170 "/data/local/tmp/" 171 ], 172 "cwd": "[START_DIR]/skia", 173 "env": { 174 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 175 "CHROME_HEADLESS": "1", 176 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 177 }, 178 "infra_step": true, 179 "name": "push dm" 180 }, 181 { 182 "cmd": [], 183 "name": "copy [START_DIR]/skia/resources /sdcard/revenge_of_the_skiabot/resources" 184 }, 185 { 186 "cmd": [ 187 "vpython3", 188 "-u", 189 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 190 "--json-output", 191 "/path/to/tmp/json", 192 "glob", 193 "[START_DIR]/skia/resources", 194 "*" 195 ], 196 "infra_step": true, 197 "name": "copy [START_DIR]/skia/resources /sdcard/revenge_of_the_skiabot/resources.ls [START_DIR]/skia/resources/*", 198 "~followup_annotations": [ 199 "@@@STEP_NEST_LEVEL@1@@@", 200 "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/bar.jpg@@@", 201 "@@@STEP_LOG_LINE@glob@[START_DIR]/skia/resources/foo.png@@@", 202 "@@@STEP_LOG_END@glob@@@" 203 ] 204 }, 205 { 206 "cmd": [ 207 "/opt/infra-android/tools/adb", 208 "push", 209 "[START_DIR]/skia/resources/bar.jpg", 210 "/sdcard/revenge_of_the_skiabot/resources" 211 ], 212 "cwd": "[START_DIR]/skia", 213 "env": { 214 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 215 "CHROME_HEADLESS": "1", 216 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 217 }, 218 "infra_step": true, 219 "name": "copy [START_DIR]/skia/resources /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/bar.jpg /sdcard/revenge_of_the_skiabot/resources", 220 "~followup_annotations": [ 221 "@@@STEP_NEST_LEVEL@1@@@" 222 ] 223 }, 224 { 225 "cmd": [ 226 "/opt/infra-android/tools/adb", 227 "push", 228 "[START_DIR]/skia/resources/foo.png", 229 "/sdcard/revenge_of_the_skiabot/resources" 230 ], 231 "cwd": "[START_DIR]/skia", 232 "env": { 233 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 234 "CHROME_HEADLESS": "1", 235 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 236 }, 237 "infra_step": true, 238 "name": "copy [START_DIR]/skia/resources /sdcard/revenge_of_the_skiabot/resources.push [START_DIR]/skia/resources/foo.png /sdcard/revenge_of_the_skiabot/resources", 239 "~followup_annotations": [ 240 "@@@STEP_NEST_LEVEL@1@@@" 241 ] 242 }, 243 { 244 "cmd": [ 245 "vpython3", 246 "-u", 247 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 248 "--json-output", 249 "/path/to/tmp/json", 250 "copy", 251 "[START_DIR]/skia/infra/bots/assets/skp/VERSION", 252 "/path/to/tmp/" 253 ], 254 "infra_step": true, 255 "name": "Get skp VERSION", 256 "~followup_annotations": [ 257 "@@@STEP_LOG_LINE@VERSION@42@@@", 258 "@@@STEP_LOG_END@VERSION@@@" 259 ] 260 }, 261 { 262 "cmd": [ 263 "vpython3", 264 "-u", 265 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 266 "--json-output", 267 "/path/to/tmp/json", 268 "copy", 269 "42", 270 "[START_DIR]/tmp/SKP_VERSION" 271 ], 272 "infra_step": true, 273 "name": "write SKP_VERSION", 274 "~followup_annotations": [ 275 "@@@STEP_LOG_LINE@SKP_VERSION@42@@@", 276 "@@@STEP_LOG_END@SKP_VERSION@@@" 277 ] 278 }, 279 { 280 "cmd": [ 281 "/opt/infra-android/tools/adb", 282 "shell", 283 "test", 284 "-f", 285 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 286 ], 287 "cwd": "[START_DIR]/skia", 288 "env": { 289 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 290 "CHROME_HEADLESS": "1", 291 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 292 }, 293 "infra_step": true, 294 "name": "check if /sdcard/revenge_of_the_skiabot/SKP_VERSION exists" 295 }, 296 { 297 "cmd": [ 298 "/opt/infra-android/tools/adb", 299 "shell", 300 "cat", 301 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 302 ], 303 "cwd": "[START_DIR]/skia", 304 "env": { 305 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 306 "CHROME_HEADLESS": "1", 307 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 308 }, 309 "infra_step": true, 310 "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION" 311 }, 312 { 313 "cmd": [ 314 "python3", 315 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 316 "/opt/infra-android/tools/adb", 317 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 318 ], 319 "env": { 320 "CHROME_HEADLESS": "1", 321 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 322 }, 323 "infra_step": true, 324 "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION" 325 }, 326 { 327 "cmd": [ 328 "python3", 329 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 330 "/opt/infra-android/tools/adb", 331 "/sdcard/revenge_of_the_skiabot/skps" 332 ], 333 "env": { 334 "CHROME_HEADLESS": "1", 335 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 336 }, 337 "infra_step": true, 338 "name": "rm /sdcard/revenge_of_the_skiabot/skps" 339 }, 340 { 341 "cmd": [ 342 "/opt/infra-android/tools/adb", 343 "shell", 344 "mkdir", 345 "-p", 346 "/sdcard/revenge_of_the_skiabot/skps" 347 ], 348 "cwd": "[START_DIR]/skia", 349 "env": { 350 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 351 "CHROME_HEADLESS": "1", 352 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 353 }, 354 "infra_step": true, 355 "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" 356 }, 357 { 358 "cmd": [], 359 "name": "copy [START_DIR]/skp /sdcard/revenge_of_the_skiabot/skps" 360 }, 361 { 362 "cmd": [ 363 "vpython3", 364 "-u", 365 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 366 "--json-output", 367 "/path/to/tmp/json", 368 "glob", 369 "[START_DIR]/skp", 370 "*" 371 ], 372 "infra_step": true, 373 "name": "copy [START_DIR]/skp /sdcard/revenge_of_the_skiabot/skps.ls [START_DIR]/skp/*", 374 "~followup_annotations": [ 375 "@@@STEP_NEST_LEVEL@1@@@", 376 "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/bar.jpg@@@", 377 "@@@STEP_LOG_LINE@glob@[START_DIR]/skp/foo.png@@@", 378 "@@@STEP_LOG_END@glob@@@" 379 ] 380 }, 381 { 382 "cmd": [ 383 "/opt/infra-android/tools/adb", 384 "push", 385 "[START_DIR]/skp/bar.jpg", 386 "/sdcard/revenge_of_the_skiabot/skps" 387 ], 388 "cwd": "[START_DIR]/skia", 389 "env": { 390 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 391 "CHROME_HEADLESS": "1", 392 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 393 }, 394 "infra_step": true, 395 "name": "copy [START_DIR]/skp /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/bar.jpg /sdcard/revenge_of_the_skiabot/skps", 396 "~followup_annotations": [ 397 "@@@STEP_NEST_LEVEL@1@@@" 398 ] 399 }, 400 { 401 "cmd": [ 402 "/opt/infra-android/tools/adb", 403 "push", 404 "[START_DIR]/skp/foo.png", 405 "/sdcard/revenge_of_the_skiabot/skps" 406 ], 407 "cwd": "[START_DIR]/skia", 408 "env": { 409 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 410 "CHROME_HEADLESS": "1", 411 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 412 }, 413 "infra_step": true, 414 "name": "copy [START_DIR]/skp /sdcard/revenge_of_the_skiabot/skps.push [START_DIR]/skp/foo.png /sdcard/revenge_of_the_skiabot/skps", 415 "~followup_annotations": [ 416 "@@@STEP_NEST_LEVEL@1@@@" 417 ] 418 }, 419 { 420 "cmd": [ 421 "/opt/infra-android/tools/adb", 422 "push", 423 "[START_DIR]/tmp/SKP_VERSION", 424 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 425 ], 426 "cwd": "[START_DIR]/skia", 427 "env": { 428 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 429 "CHROME_HEADLESS": "1", 430 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 431 }, 432 "infra_step": true, 433 "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION" 434 }, 435 { 436 "cmd": [ 437 "vpython3", 438 "-u", 439 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 440 "--json-output", 441 "/path/to/tmp/json", 442 "copy", 443 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 444 "/path/to/tmp/" 445 ], 446 "infra_step": true, 447 "name": "Get skimage VERSION", 448 "~followup_annotations": [ 449 "@@@STEP_LOG_LINE@VERSION@42@@@", 450 "@@@STEP_LOG_END@VERSION@@@" 451 ] 452 }, 453 { 454 "cmd": [ 455 "vpython3", 456 "-u", 457 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 458 "--json-output", 459 "/path/to/tmp/json", 460 "copy", 461 "42", 462 "[START_DIR]/tmp/SK_IMAGE_VERSION" 463 ], 464 "infra_step": true, 465 "name": "write SK_IMAGE_VERSION", 466 "~followup_annotations": [ 467 "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@", 468 "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@" 469 ] 470 }, 471 { 472 "cmd": [ 473 "/opt/infra-android/tools/adb", 474 "shell", 475 "test", 476 "-f", 477 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 478 ], 479 "cwd": "[START_DIR]/skia", 480 "env": { 481 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 482 "CHROME_HEADLESS": "1", 483 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 484 }, 485 "infra_step": true, 486 "name": "check if /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION exists" 487 }, 488 { 489 "cmd": [ 490 "/opt/infra-android/tools/adb", 491 "shell", 492 "cat", 493 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 494 ], 495 "cwd": "[START_DIR]/skia", 496 "env": { 497 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 498 "CHROME_HEADLESS": "1", 499 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 500 }, 501 "infra_step": true, 502 "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 503 }, 504 { 505 "cmd": [ 506 "python3", 507 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 508 "/opt/infra-android/tools/adb", 509 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 510 ], 511 "env": { 512 "CHROME_HEADLESS": "1", 513 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 514 }, 515 "infra_step": true, 516 "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 517 }, 518 { 519 "cmd": [ 520 "python3", 521 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 522 "/opt/infra-android/tools/adb", 523 "/sdcard/revenge_of_the_skiabot/images" 524 ], 525 "env": { 526 "CHROME_HEADLESS": "1", 527 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 528 }, 529 "infra_step": true, 530 "name": "rm /sdcard/revenge_of_the_skiabot/images" 531 }, 532 { 533 "cmd": [ 534 "/opt/infra-android/tools/adb", 535 "shell", 536 "mkdir", 537 "-p", 538 "/sdcard/revenge_of_the_skiabot/images" 539 ], 540 "cwd": "[START_DIR]/skia", 541 "env": { 542 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 543 "CHROME_HEADLESS": "1", 544 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 545 }, 546 "infra_step": true, 547 "name": "mkdir /sdcard/revenge_of_the_skiabot/images" 548 }, 549 { 550 "cmd": [], 551 "name": "copy [START_DIR]/skimage /sdcard/revenge_of_the_skiabot/images" 552 }, 553 { 554 "cmd": [ 555 "vpython3", 556 "-u", 557 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 558 "--json-output", 559 "/path/to/tmp/json", 560 "glob", 561 "[START_DIR]/skimage", 562 "*" 563 ], 564 "infra_step": true, 565 "name": "copy [START_DIR]/skimage /sdcard/revenge_of_the_skiabot/images.ls [START_DIR]/skimage/*", 566 "~followup_annotations": [ 567 "@@@STEP_NEST_LEVEL@1@@@", 568 "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/bar.jpg@@@", 569 "@@@STEP_LOG_LINE@glob@[START_DIR]/skimage/foo.png@@@", 570 "@@@STEP_LOG_END@glob@@@" 571 ] 572 }, 573 { 574 "cmd": [ 575 "/opt/infra-android/tools/adb", 576 "push", 577 "[START_DIR]/skimage/bar.jpg", 578 "/sdcard/revenge_of_the_skiabot/images" 579 ], 580 "cwd": "[START_DIR]/skia", 581 "env": { 582 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 583 "CHROME_HEADLESS": "1", 584 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 585 }, 586 "infra_step": true, 587 "name": "copy [START_DIR]/skimage /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/bar.jpg /sdcard/revenge_of_the_skiabot/images", 588 "~followup_annotations": [ 589 "@@@STEP_NEST_LEVEL@1@@@" 590 ] 591 }, 592 { 593 "cmd": [ 594 "/opt/infra-android/tools/adb", 595 "push", 596 "[START_DIR]/skimage/foo.png", 597 "/sdcard/revenge_of_the_skiabot/images" 598 ], 599 "cwd": "[START_DIR]/skia", 600 "env": { 601 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 602 "CHROME_HEADLESS": "1", 603 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 604 }, 605 "infra_step": true, 606 "name": "copy [START_DIR]/skimage /sdcard/revenge_of_the_skiabot/images.push [START_DIR]/skimage/foo.png /sdcard/revenge_of_the_skiabot/images", 607 "~followup_annotations": [ 608 "@@@STEP_NEST_LEVEL@1@@@" 609 ] 610 }, 611 { 612 "cmd": [ 613 "/opt/infra-android/tools/adb", 614 "push", 615 "[START_DIR]/tmp/SK_IMAGE_VERSION", 616 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 617 ], 618 "cwd": "[START_DIR]/skia", 619 "env": { 620 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 621 "CHROME_HEADLESS": "1", 622 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 623 }, 624 "infra_step": true, 625 "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 626 }, 627 { 628 "cmd": [ 629 "vpython3", 630 "-u", 631 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 632 "--json-output", 633 "/path/to/tmp/json", 634 "copy", 635 "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 636 "/path/to/tmp/" 637 ], 638 "infra_step": true, 639 "name": "Get svg VERSION", 640 "~followup_annotations": [ 641 "@@@STEP_LOG_LINE@VERSION@42@@@", 642 "@@@STEP_LOG_END@VERSION@@@" 643 ] 644 }, 645 { 646 "cmd": [ 647 "vpython3", 648 "-u", 649 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 650 "--json-output", 651 "/path/to/tmp/json", 652 "copy", 653 "42", 654 "[START_DIR]/tmp/SVG_VERSION" 655 ], 656 "infra_step": true, 657 "name": "write SVG_VERSION", 658 "~followup_annotations": [ 659 "@@@STEP_LOG_LINE@SVG_VERSION@42@@@", 660 "@@@STEP_LOG_END@SVG_VERSION@@@" 661 ] 662 }, 663 { 664 "cmd": [ 665 "/opt/infra-android/tools/adb", 666 "shell", 667 "test", 668 "-f", 669 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 670 ], 671 "cwd": "[START_DIR]/skia", 672 "env": { 673 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 674 "CHROME_HEADLESS": "1", 675 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 676 }, 677 "infra_step": true, 678 "name": "check if /sdcard/revenge_of_the_skiabot/SVG_VERSION exists" 679 }, 680 { 681 "cmd": [ 682 "/opt/infra-android/tools/adb", 683 "shell", 684 "cat", 685 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 686 ], 687 "cwd": "[START_DIR]/skia", 688 "env": { 689 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 690 "CHROME_HEADLESS": "1", 691 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 692 }, 693 "infra_step": true, 694 "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION" 695 }, 696 { 697 "cmd": [ 698 "python3", 699 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 700 "/opt/infra-android/tools/adb", 701 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 702 ], 703 "env": { 704 "CHROME_HEADLESS": "1", 705 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 706 }, 707 "infra_step": true, 708 "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION" 709 }, 710 { 711 "cmd": [ 712 "python3", 713 "RECIPE_MODULE[skia::flavor]/resources/remove_file_on_device.py", 714 "/opt/infra-android/tools/adb", 715 "/sdcard/revenge_of_the_skiabot/svgs" 716 ], 717 "env": { 718 "CHROME_HEADLESS": "1", 719 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 720 }, 721 "infra_step": true, 722 "name": "rm /sdcard/revenge_of_the_skiabot/svgs" 723 }, 724 { 725 "cmd": [ 726 "/opt/infra-android/tools/adb", 727 "shell", 728 "mkdir", 729 "-p", 730 "/sdcard/revenge_of_the_skiabot/svgs" 731 ], 732 "cwd": "[START_DIR]/skia", 733 "env": { 734 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 735 "CHROME_HEADLESS": "1", 736 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 737 }, 738 "infra_step": true, 739 "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" 740 }, 741 { 742 "cmd": [], 743 "name": "copy [START_DIR]/svg /sdcard/revenge_of_the_skiabot/svgs" 744 }, 745 { 746 "cmd": [ 747 "vpython3", 748 "-u", 749 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 750 "--json-output", 751 "/path/to/tmp/json", 752 "glob", 753 "[START_DIR]/svg", 754 "*" 755 ], 756 "infra_step": true, 757 "name": "copy [START_DIR]/svg /sdcard/revenge_of_the_skiabot/svgs.ls [START_DIR]/svg/*", 758 "~followup_annotations": [ 759 "@@@STEP_NEST_LEVEL@1@@@", 760 "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/bar.jpg@@@", 761 "@@@STEP_LOG_LINE@glob@[START_DIR]/svg/foo.png@@@", 762 "@@@STEP_LOG_END@glob@@@" 763 ] 764 }, 765 { 766 "cmd": [ 767 "/opt/infra-android/tools/adb", 768 "push", 769 "[START_DIR]/svg/bar.jpg", 770 "/sdcard/revenge_of_the_skiabot/svgs" 771 ], 772 "cwd": "[START_DIR]/skia", 773 "env": { 774 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 775 "CHROME_HEADLESS": "1", 776 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 777 }, 778 "infra_step": true, 779 "name": "copy [START_DIR]/svg /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/bar.jpg /sdcard/revenge_of_the_skiabot/svgs", 780 "~followup_annotations": [ 781 "@@@STEP_NEST_LEVEL@1@@@" 782 ] 783 }, 784 { 785 "cmd": [ 786 "/opt/infra-android/tools/adb", 787 "push", 788 "[START_DIR]/svg/foo.png", 789 "/sdcard/revenge_of_the_skiabot/svgs" 790 ], 791 "cwd": "[START_DIR]/skia", 792 "env": { 793 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 794 "CHROME_HEADLESS": "1", 795 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 796 }, 797 "infra_step": true, 798 "name": "copy [START_DIR]/svg /sdcard/revenge_of_the_skiabot/svgs.push [START_DIR]/svg/foo.png /sdcard/revenge_of_the_skiabot/svgs", 799 "~followup_annotations": [ 800 "@@@STEP_NEST_LEVEL@1@@@" 801 ] 802 }, 803 { 804 "cmd": [ 805 "/opt/infra-android/tools/adb", 806 "push", 807 "[START_DIR]/tmp/SVG_VERSION", 808 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 809 ], 810 "cwd": "[START_DIR]/skia", 811 "env": { 812 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 813 "CHROME_HEADLESS": "1", 814 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 815 }, 816 "infra_step": true, 817 "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION" 818 }, 819 { 820 "cmd": [ 821 "vpython3", 822 "-u", 823 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 824 "--json-output", 825 "/path/to/tmp/json", 826 "copy", 827 "set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --some-flag; echo $? >/data/local/tmp/rc", 828 "[START_DIR]/tmp/dm.sh" 829 ], 830 "infra_step": true, 831 "name": "write dm.sh", 832 "~followup_annotations": [ 833 "@@@STEP_LOG_LINE@dm.sh@set -x; LD_LIBRARY_PATH=/data/local/tmp/ /data/local/tmp/dm --some-flag; echo $? >/data/local/tmp/rc@@@", 834 "@@@STEP_LOG_END@dm.sh@@@" 835 ] 836 }, 837 { 838 "cmd": [ 839 "/opt/infra-android/tools/adb", 840 "push", 841 "[START_DIR]/tmp/dm.sh", 842 "/data/local/tmp/" 843 ], 844 "cwd": "[START_DIR]/skia", 845 "env": { 846 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 847 "CHROME_HEADLESS": "1", 848 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 849 }, 850 "infra_step": true, 851 "name": "push dm.sh" 852 }, 853 { 854 "cmd": [ 855 "/opt/infra-android/tools/adb", 856 "logcat", 857 "-c" 858 ], 859 "cwd": "[START_DIR]/skia", 860 "env": { 861 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 862 "CHROME_HEADLESS": "1", 863 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 864 }, 865 "infra_step": true, 866 "name": "clear log" 867 }, 868 { 869 "cmd": [ 870 "python3", 871 "RECIPE_MODULE[skia::flavor]/resources/run_sh.py", 872 "/data/local/tmp/", 873 "dm.sh", 874 "/opt/infra-android/tools/adb" 875 ], 876 "name": "dm" 877 }, 878 { 879 "cmd": [], 880 "name": "adb pull" 881 }, 882 { 883 "cmd": [ 884 "/opt/infra-android/tools/adb", 885 "pull", 886 "/sdcard/revenge_of_the_skiabot/dm_out", 887 "[CLEANUP]/adb_pull_tmp_1" 888 ], 889 "cwd": "[START_DIR]/skia", 890 "env": { 891 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey", 892 "CHROME_HEADLESS": "1", 893 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 894 }, 895 "infra_step": true, 896 "name": "adb pull.pull /sdcard/revenge_of_the_skiabot/dm_out", 897 "~followup_annotations": [ 898 "@@@STEP_NEST_LEVEL@1@@@" 899 ] 900 }, 901 { 902 "cmd": [ 903 "vpython3", 904 "-u", 905 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 906 "--json-output", 907 "/path/to/tmp/json", 908 "glob", 909 "[CLEANUP]/adb_pull_tmp_1", 910 "dm_out/*" 911 ], 912 "infra_step": true, 913 "name": "adb pull.list pulled files", 914 "~followup_annotations": [ 915 "@@@STEP_NEST_LEVEL@1@@@", 916 "@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/1.png@@@", 917 "@@@STEP_LOG_LINE@glob@[CLEANUP]/adb_pull_tmp_1/2.png@@@", 918 "@@@STEP_LOG_END@glob@@@" 919 ] 920 }, 921 { 922 "cmd": [ 923 "vpython3", 924 "-u", 925 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 926 "--json-output", 927 "/path/to/tmp/json", 928 "copy", 929 "[CLEANUP]/adb_pull_tmp_1/1.png", 930 "[START_DIR]/[SWARM_OUT_DIR]" 931 ], 932 "infra_step": true, 933 "name": "adb pull.copy 1.png", 934 "~followup_annotations": [ 935 "@@@STEP_NEST_LEVEL@1@@@" 936 ] 937 }, 938 { 939 "cmd": [ 940 "vpython3", 941 "-u", 942 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 943 "--json-output", 944 "/path/to/tmp/json", 945 "copy", 946 "[CLEANUP]/adb_pull_tmp_1/2.png", 947 "[START_DIR]/[SWARM_OUT_DIR]" 948 ], 949 "infra_step": true, 950 "name": "adb pull.copy 2.png", 951 "~followup_annotations": [ 952 "@@@STEP_NEST_LEVEL@1@@@" 953 ] 954 }, 955 { 956 "cmd": [ 957 "python3", 958 "RECIPE_MODULE[skia::flavor]/resources/dump_adb_log.py", 959 "[START_DIR]/build", 960 "/opt/infra-android/tools/adb" 961 ], 962 "env": { 963 "CHROME_HEADLESS": "1", 964 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 965 }, 966 "infra_step": true, 967 "name": "dump log", 968 "timeout": 300 969 }, 970 { 971 "cmd": [ 972 "/opt/infra-android/tools/adb", 973 "reboot" 974 ], 975 "env": { 976 "CHROME_HEADLESS": "1", 977 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 978 }, 979 "infra_step": true, 980 "name": "adb reboot device", 981 "timeout": 30 982 }, 983 { 984 "cmd": [ 985 "/opt/infra-android/tools/adb", 986 "wait-for-device", 987 "shell", 988 "while [[ -z $(getprop sys.boot_completed) ]]; do sleep 1; done" 989 ], 990 "env": { 991 "CHROME_HEADLESS": "1", 992 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 993 }, 994 "name": "wait for device after rebooting", 995 "timeout": 180 996 }, 997 { 998 "cmd": [ 999 "python3", 1000 "RECIPE_MODULE[skia::flavor]/resources/dump_adb_log.py", 1001 "[START_DIR]/build", 1002 "/opt/infra-android/tools/adb" 1003 ], 1004 "env": { 1005 "CHROME_HEADLESS": "1", 1006 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 1007 }, 1008 "infra_step": true, 1009 "name": "dump reboot log", 1010 "timeout": 300 1011 }, 1012 { 1013 "name": "$result" 1014 } 1015]