1[ 2 { 3 "cmd": [ 4 "vpython", 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 "idevicepair", 20 "validate" 21 ], 22 "env": { 23 "CHROME_HEADLESS": "1", 24 "IOS_BUNDLE_ID": "com.google.nanobench", 25 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 26 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 27 }, 28 "infra_step": true, 29 "name": "check if device is paired" 30 }, 31 { 32 "cmd": [ 33 "ideviceimagemounter", 34 "--list" 35 ], 36 "env": { 37 "CHROME_HEADLESS": "1", 38 "IOS_BUNDLE_ID": "com.google.nanobench", 39 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 40 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 41 }, 42 "name": "list mounted image" 43 }, 44 { 45 "cmd": [ 46 "vpython", 47 "-u", 48 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 49 "--json-output", 50 "/path/to/tmp/json", 51 "glob", 52 "[START_DIR]", 53 "ios-dev-image*" 54 ], 55 "env": { 56 "IOS_BUNDLE_ID": "com.google.nanobench", 57 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 58 }, 59 "infra_step": true, 60 "name": "locate ios-dev-image package", 61 "~followup_annotations": [ 62 "@@@STEP_LOG_LINE@glob@[START_DIR]/ios-dev-image-13.2@@@", 63 "@@@STEP_LOG_END@glob@@@" 64 ] 65 }, 66 { 67 "cmd": [ 68 "vpython", 69 "-u", 70 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 71 "--json-output", 72 "/path/to/tmp/json", 73 "listdir", 74 "[START_DIR]/ios-dev-image-13.2" 75 ], 76 "env": { 77 "IOS_BUNDLE_ID": "com.google.nanobench", 78 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 79 }, 80 "infra_step": true, 81 "name": "locate image and signature", 82 "~followup_annotations": [ 83 "@@@STEP_LOG_LINE@listdir@[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg@@@", 84 "@@@STEP_LOG_LINE@listdir@[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg.signature@@@", 85 "@@@STEP_LOG_END@listdir@@@" 86 ] 87 }, 88 { 89 "cmd": [ 90 "ideviceimagemounter", 91 "[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg", 92 "[START_DIR]/ios-dev-image-13.2/DeveloperDiskImage.dmg.signature" 93 ], 94 "env": { 95 "CHROME_HEADLESS": "1", 96 "IOS_BUNDLE_ID": "com.google.nanobench", 97 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 98 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 99 }, 100 "name": "mount developer image" 101 }, 102 { 103 "cmd": [ 104 "ideviceinstaller", 105 "-i", 106 "[START_DIR]/build/dm.app" 107 ], 108 "env": { 109 "CHROME_HEADLESS": "1", 110 "IOS_BUNDLE_ID": "com.google.nanobench", 111 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 112 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 113 }, 114 "infra_step": true, 115 "name": "install dm" 116 }, 117 { 118 "cmd": [ 119 "ideviceinstaller", 120 "-i", 121 "[START_DIR]/build/nanobench.app" 122 ], 123 "env": { 124 "CHROME_HEADLESS": "1", 125 "IOS_BUNDLE_ID": "com.google.nanobench", 126 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 127 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 128 }, 129 "infra_step": true, 130 "name": "install nanobench" 131 }, 132 { 133 "cmd": [ 134 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 135 "[START_DIR]/skia/resources", 136 "resources" 137 ], 138 "env": { 139 "CHROME_HEADLESS": "1", 140 "IOS_BUNDLE_ID": "com.google.nanobench", 141 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 142 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 143 }, 144 "infra_step": true, 145 "name": "push_if_needed [START_DIR]/skia/resources" 146 }, 147 { 148 "cmd": [ 149 "vpython", 150 "-u", 151 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 152 "--json-output", 153 "/path/to/tmp/json", 154 "copy", 155 "[START_DIR]/skia/infra/bots/assets/skp/VERSION", 156 "/path/to/tmp/" 157 ], 158 "env": { 159 "IOS_BUNDLE_ID": "com.google.nanobench", 160 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 161 }, 162 "infra_step": true, 163 "name": "Get skp VERSION", 164 "~followup_annotations": [ 165 "@@@STEP_LOG_LINE@VERSION@42@@@", 166 "@@@STEP_LOG_END@VERSION@@@" 167 ] 168 }, 169 { 170 "cmd": [ 171 "vpython", 172 "-u", 173 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 174 "--json-output", 175 "/path/to/tmp/json", 176 "copy", 177 "42", 178 "[START_DIR]/tmp/SKP_VERSION" 179 ], 180 "env": { 181 "IOS_BUNDLE_ID": "com.google.nanobench", 182 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 183 }, 184 "infra_step": true, 185 "name": "write SKP_VERSION", 186 "~followup_annotations": [ 187 "@@@STEP_LOG_LINE@SKP_VERSION@42@@@", 188 "@@@STEP_LOG_END@SKP_VERSION@@@" 189 ] 190 }, 191 { 192 "cmd": [ 193 "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", 194 "tmp/SKP_VERSION" 195 ], 196 "env": { 197 "CHROME_HEADLESS": "1", 198 "IOS_BUNDLE_ID": "com.google.nanobench", 199 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 200 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 201 }, 202 "infra_step": true, 203 "name": "cat_file tmp/SKP_VERSION" 204 }, 205 { 206 "cmd": [ 207 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 208 "tmp/SKP_VERSION" 209 ], 210 "env": { 211 "CHROME_HEADLESS": "1", 212 "IOS_BUNDLE_ID": "com.google.nanobench", 213 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 214 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 215 }, 216 "infra_step": true, 217 "name": "rm tmp/SKP_VERSION" 218 }, 219 { 220 "cmd": [ 221 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 222 "skps" 223 ], 224 "env": { 225 "CHROME_HEADLESS": "1", 226 "IOS_BUNDLE_ID": "com.google.nanobench", 227 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 228 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 229 }, 230 "infra_step": true, 231 "name": "rm skps" 232 }, 233 { 234 "cmd": [ 235 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 236 "skps" 237 ], 238 "env": { 239 "CHROME_HEADLESS": "1", 240 "IOS_BUNDLE_ID": "com.google.nanobench", 241 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 242 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 243 }, 244 "infra_step": true, 245 "name": "mkdir skps" 246 }, 247 { 248 "cmd": [ 249 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 250 "[START_DIR]/skp", 251 "skps" 252 ], 253 "env": { 254 "CHROME_HEADLESS": "1", 255 "IOS_BUNDLE_ID": "com.google.nanobench", 256 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 257 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 258 }, 259 "infra_step": true, 260 "name": "push_if_needed [START_DIR]/skp" 261 }, 262 { 263 "cmd": [ 264 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", 265 "[START_DIR]/tmp/SKP_VERSION", 266 "tmp/SKP_VERSION" 267 ], 268 "env": { 269 "CHROME_HEADLESS": "1", 270 "IOS_BUNDLE_ID": "com.google.nanobench", 271 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 272 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 273 }, 274 "infra_step": true, 275 "name": "push_file [START_DIR]/tmp/SKP_VERSION" 276 }, 277 { 278 "cmd": [ 279 "vpython", 280 "-u", 281 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 282 "--json-output", 283 "/path/to/tmp/json", 284 "copy", 285 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 286 "/path/to/tmp/" 287 ], 288 "env": { 289 "IOS_BUNDLE_ID": "com.google.nanobench", 290 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 291 }, 292 "infra_step": true, 293 "name": "Get skimage VERSION", 294 "~followup_annotations": [ 295 "@@@STEP_LOG_LINE@VERSION@42@@@", 296 "@@@STEP_LOG_END@VERSION@@@" 297 ] 298 }, 299 { 300 "cmd": [ 301 "vpython", 302 "-u", 303 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 304 "--json-output", 305 "/path/to/tmp/json", 306 "copy", 307 "42", 308 "[START_DIR]/tmp/SK_IMAGE_VERSION" 309 ], 310 "env": { 311 "IOS_BUNDLE_ID": "com.google.nanobench", 312 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 313 }, 314 "infra_step": true, 315 "name": "write SK_IMAGE_VERSION", 316 "~followup_annotations": [ 317 "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@", 318 "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@" 319 ] 320 }, 321 { 322 "cmd": [ 323 "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", 324 "tmp/SK_IMAGE_VERSION" 325 ], 326 "env": { 327 "CHROME_HEADLESS": "1", 328 "IOS_BUNDLE_ID": "com.google.nanobench", 329 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 330 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 331 }, 332 "infra_step": true, 333 "name": "cat_file tmp/SK_IMAGE_VERSION" 334 }, 335 { 336 "cmd": [ 337 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 338 "tmp/SK_IMAGE_VERSION" 339 ], 340 "env": { 341 "CHROME_HEADLESS": "1", 342 "IOS_BUNDLE_ID": "com.google.nanobench", 343 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 344 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 345 }, 346 "infra_step": true, 347 "name": "rm tmp/SK_IMAGE_VERSION" 348 }, 349 { 350 "cmd": [ 351 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 352 "images" 353 ], 354 "env": { 355 "CHROME_HEADLESS": "1", 356 "IOS_BUNDLE_ID": "com.google.nanobench", 357 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 358 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 359 }, 360 "infra_step": true, 361 "name": "rm images" 362 }, 363 { 364 "cmd": [ 365 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 366 "images" 367 ], 368 "env": { 369 "CHROME_HEADLESS": "1", 370 "IOS_BUNDLE_ID": "com.google.nanobench", 371 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 372 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 373 }, 374 "infra_step": true, 375 "name": "mkdir images" 376 }, 377 { 378 "cmd": [ 379 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 380 "[START_DIR]/skimage", 381 "images" 382 ], 383 "env": { 384 "CHROME_HEADLESS": "1", 385 "IOS_BUNDLE_ID": "com.google.nanobench", 386 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 387 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 388 }, 389 "infra_step": true, 390 "name": "push_if_needed [START_DIR]/skimage" 391 }, 392 { 393 "cmd": [ 394 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", 395 "[START_DIR]/tmp/SK_IMAGE_VERSION", 396 "tmp/SK_IMAGE_VERSION" 397 ], 398 "env": { 399 "CHROME_HEADLESS": "1", 400 "IOS_BUNDLE_ID": "com.google.nanobench", 401 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 402 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 403 }, 404 "infra_step": true, 405 "name": "push_file [START_DIR]/tmp/SK_IMAGE_VERSION" 406 }, 407 { 408 "cmd": [ 409 "vpython", 410 "-u", 411 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 412 "--json-output", 413 "/path/to/tmp/json", 414 "copy", 415 "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 416 "/path/to/tmp/" 417 ], 418 "env": { 419 "IOS_BUNDLE_ID": "com.google.nanobench", 420 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 421 }, 422 "infra_step": true, 423 "name": "Get svg VERSION", 424 "~followup_annotations": [ 425 "@@@STEP_LOG_LINE@VERSION@42@@@", 426 "@@@STEP_LOG_END@VERSION@@@" 427 ] 428 }, 429 { 430 "cmd": [ 431 "vpython", 432 "-u", 433 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 434 "--json-output", 435 "/path/to/tmp/json", 436 "copy", 437 "42", 438 "[START_DIR]/tmp/SVG_VERSION" 439 ], 440 "env": { 441 "IOS_BUNDLE_ID": "com.google.nanobench", 442 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 443 }, 444 "infra_step": true, 445 "name": "write SVG_VERSION", 446 "~followup_annotations": [ 447 "@@@STEP_LOG_LINE@SVG_VERSION@42@@@", 448 "@@@STEP_LOG_END@SVG_VERSION@@@" 449 ] 450 }, 451 { 452 "cmd": [ 453 "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", 454 "tmp/SVG_VERSION" 455 ], 456 "env": { 457 "CHROME_HEADLESS": "1", 458 "IOS_BUNDLE_ID": "com.google.nanobench", 459 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 460 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 461 }, 462 "infra_step": true, 463 "name": "cat_file tmp/SVG_VERSION" 464 }, 465 { 466 "cmd": [ 467 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 468 "tmp/SVG_VERSION" 469 ], 470 "env": { 471 "CHROME_HEADLESS": "1", 472 "IOS_BUNDLE_ID": "com.google.nanobench", 473 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 474 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 475 }, 476 "infra_step": true, 477 "name": "rm tmp/SVG_VERSION" 478 }, 479 { 480 "cmd": [ 481 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 482 "svgs" 483 ], 484 "env": { 485 "CHROME_HEADLESS": "1", 486 "IOS_BUNDLE_ID": "com.google.nanobench", 487 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 488 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 489 }, 490 "infra_step": true, 491 "name": "rm svgs" 492 }, 493 { 494 "cmd": [ 495 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 496 "svgs" 497 ], 498 "env": { 499 "CHROME_HEADLESS": "1", 500 "IOS_BUNDLE_ID": "com.google.nanobench", 501 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 502 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 503 }, 504 "infra_step": true, 505 "name": "mkdir svgs" 506 }, 507 { 508 "cmd": [ 509 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 510 "[START_DIR]/svg", 511 "svgs" 512 ], 513 "env": { 514 "CHROME_HEADLESS": "1", 515 "IOS_BUNDLE_ID": "com.google.nanobench", 516 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 517 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 518 }, 519 "infra_step": true, 520 "name": "push_if_needed [START_DIR]/svg" 521 }, 522 { 523 "cmd": [ 524 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", 525 "[START_DIR]/tmp/SVG_VERSION", 526 "tmp/SVG_VERSION" 527 ], 528 "env": { 529 "CHROME_HEADLESS": "1", 530 "IOS_BUNDLE_ID": "com.google.nanobench", 531 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 532 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 533 }, 534 "infra_step": true, 535 "name": "push_file [START_DIR]/tmp/SVG_VERSION" 536 }, 537 { 538 "cmd": [ 539 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 540 "perf" 541 ], 542 "env": { 543 "CHROME_HEADLESS": "1", 544 "IOS_BUNDLE_ID": "com.google.nanobench", 545 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 546 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 547 }, 548 "infra_step": true, 549 "name": "rm perf" 550 }, 551 { 552 "cmd": [ 553 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 554 "perf" 555 ], 556 "env": { 557 "CHROME_HEADLESS": "1", 558 "IOS_BUNDLE_ID": "com.google.nanobench", 559 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 560 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 561 }, 562 "infra_step": true, 563 "name": "mkdir perf" 564 }, 565 { 566 "cmd": [ 567 "python", 568 "-u", 569 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n" 570 ], 571 "env": { 572 "IOS_BUNDLE_ID": "com.google.nanobench", 573 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 574 }, 575 "name": "get swarming bot id", 576 "~followup_annotations": [ 577 "@@@STEP_LOG_LINE@python.inline@import os@@@", 578 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@", 579 "@@@STEP_LOG_END@python.inline@@@" 580 ] 581 }, 582 { 583 "cmd": [ 584 "python", 585 "-u", 586 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n" 587 ], 588 "env": { 589 "IOS_BUNDLE_ID": "com.google.nanobench", 590 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 591 }, 592 "name": "get swarming task id", 593 "~followup_annotations": [ 594 "@@@STEP_LOG_LINE@python.inline@import os@@@", 595 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@", 596 "@@@STEP_LOG_END@python.inline@@@" 597 ] 598 }, 599 { 600 "cmd": [ 601 "idevicedebug", 602 "run", 603 "com.google.nanobench", 604 "-i", 605 "resources", 606 "--skps", 607 "skps", 608 "--images", 609 "images/nanobench", 610 "--svgs", 611 "svgs", 612 "--pre_log", 613 "--images", 614 "--gpuStatsDump", 615 "true", 616 "--scales", 617 "1.0", 618 "1.1", 619 "--skps", 620 "ignore_skps", 621 "--nocpu", 622 "--config", 623 "gles", 624 "glessrgb", 625 "--match", 626 "~blurroundrect", 627 "~patch_grid", 628 "~desk_carsvg", 629 "~keymobi", 630 "~path_hairline", 631 "~GLInstancedArraysBench", 632 "~inc0.gif", 633 "~inc1.gif", 634 "~incInterlaced.gif", 635 "~inc0.jpg", 636 "~incGray.jpg", 637 "~inc0.wbmp", 638 "~inc1.wbmp", 639 "~inc0.webp", 640 "~inc1.webp", 641 "~inc0.ico", 642 "~inc1.ico", 643 "~inc0.png", 644 "~inc1.png", 645 "~inc2.png", 646 "~inc12.png", 647 "~inc13.png", 648 "~inc14.png", 649 "~inc0.webp", 650 "~inc1.webp", 651 "--outResultsFile", 652 "perf/nanobench_abc123_1337000001.json", 653 "--properties", 654 "gitHash", 655 "abc123", 656 "swarming_bot_id", 657 "skia-bot-123", 658 "swarming_task_id", 659 "123456", 660 "--key", 661 "arch", 662 "arm64", 663 "compiler", 664 "Clang", 665 "cpu_or_gpu", 666 "GPU", 667 "cpu_or_gpu_value", 668 "PowerVRGT7800", 669 "model", 670 "iPadPro", 671 "os", 672 "iOS" 673 ], 674 "env": { 675 "CHROME_HEADLESS": "1", 676 "IOS_BUNDLE_ID": "com.google.nanobench", 677 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 678 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 679 }, 680 "name": "nanobench" 681 }, 682 { 683 "cmd": [ 684 "vpython", 685 "-u", 686 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 687 "--json-output", 688 "/path/to/tmp/json", 689 "ensure-directory", 690 "--mode", 691 "0777", 692 "[START_DIR]/[SWARM_OUT_DIR]" 693 ], 694 "env": { 695 "IOS_BUNDLE_ID": "com.google.nanobench", 696 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 697 }, 698 "infra_step": true, 699 "name": "makedirs perf_dir" 700 }, 701 { 702 "cmd": [ 703 "[START_DIR]/skia/platform_tools/ios/bin/ios_pull_if_needed", 704 "perf", 705 "[START_DIR]/[SWARM_OUT_DIR]" 706 ], 707 "env": { 708 "CHROME_HEADLESS": "1", 709 "IOS_BUNDLE_ID": "com.google.nanobench", 710 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 711 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 712 }, 713 "infra_step": true, 714 "name": "pull_if_needed perf" 715 }, 716 { 717 "name": "$result" 718 } 719]