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