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