1 [ 2 { 3 "cmd": [ 4 "ios.py" 5 ], 6 "env": { 7 "BUILDTYPE": "Release", 8 "CHROME_HEADLESS": "1", 9 "IOS_BUNDLE_ID": "com.google.dm", 10 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 11 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 12 "SKIA_OUT": "[START_DIR]/out" 13 }, 14 "infra_step": true, 15 "name": "setup_device" 16 }, 17 { 18 "cmd": [ 19 "ideviceinstaller", 20 "-i", 21 "[START_DIR]/out/Release/dm.app" 22 ], 23 "env": { 24 "BUILDTYPE": "Release", 25 "CHROME_HEADLESS": "1", 26 "IOS_BUNDLE_ID": "com.google.dm", 27 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 28 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 29 "SKIA_OUT": "[START_DIR]/out" 30 }, 31 "infra_step": true, 32 "name": "install_dm" 33 }, 34 { 35 "cmd": [ 36 "ideviceinstaller", 37 "-i", 38 "[START_DIR]/out/Release/nanobench.app" 39 ], 40 "env": { 41 "BUILDTYPE": "Release", 42 "CHROME_HEADLESS": "1", 43 "IOS_BUNDLE_ID": "com.google.dm", 44 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 45 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 46 "SKIA_OUT": "[START_DIR]/out" 47 }, 48 "infra_step": true, 49 "name": "install_nanobench" 50 }, 51 { 52 "cmd": [ 53 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 54 "[START_DIR]/skia/resources", 55 "resources" 56 ], 57 "env": { 58 "BUILDTYPE": "Release", 59 "CHROME_HEADLESS": "1", 60 "IOS_BUNDLE_ID": "com.google.dm", 61 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 62 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 63 "SKIA_OUT": "[START_DIR]/out" 64 }, 65 "infra_step": true, 66 "name": "push_if_needed [START_DIR]/skia/resources" 67 }, 68 { 69 "cmd": [ 70 "python", 71 "-u", 72 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 73 "--json-output", 74 "/path/to/tmp/json", 75 "copy", 76 "[START_DIR]/skia/infra/bots/assets/skp/VERSION", 77 "/path/to/tmp/" 78 ], 79 "env": { 80 "IOS_BUNDLE_ID": "com.google.dm", 81 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 82 }, 83 "infra_step": true, 84 "name": "Get downloaded SKP VERSION" 85 }, 86 { 87 "cmd": [ 88 "python", 89 "-u", 90 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 91 "--json-output", 92 "/path/to/tmp/json", 93 "copy", 94 "42", 95 "[START_DIR]/tmp/SKP_VERSION" 96 ], 97 "env": { 98 "IOS_BUNDLE_ID": "com.google.dm", 99 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 100 }, 101 "infra_step": true, 102 "name": "write SKP_VERSION" 103 }, 104 { 105 "cmd": [ 106 "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", 107 "tmp/SKP_VERSION" 108 ], 109 "env": { 110 "BUILDTYPE": "Release", 111 "CHROME_HEADLESS": "1", 112 "IOS_BUNDLE_ID": "com.google.dm", 113 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 114 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 115 "SKIA_OUT": "[START_DIR]/out" 116 }, 117 "infra_step": true, 118 "name": "cat_file tmp/SKP_VERSION", 119 "stdout": "/path/to/tmp/" 120 }, 121 { 122 "cmd": [ 123 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 124 "tmp/SKP_VERSION" 125 ], 126 "env": { 127 "BUILDTYPE": "Release", 128 "CHROME_HEADLESS": "1", 129 "IOS_BUNDLE_ID": "com.google.dm", 130 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 131 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 132 "SKIA_OUT": "[START_DIR]/out" 133 }, 134 "infra_step": true, 135 "name": "rm tmp/SKP_VERSION" 136 }, 137 { 138 "cmd": [ 139 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 140 "skps" 141 ], 142 "env": { 143 "BUILDTYPE": "Release", 144 "CHROME_HEADLESS": "1", 145 "IOS_BUNDLE_ID": "com.google.dm", 146 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 147 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 148 "SKIA_OUT": "[START_DIR]/out" 149 }, 150 "infra_step": true, 151 "name": "rm skps" 152 }, 153 { 154 "cmd": [ 155 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 156 "skps" 157 ], 158 "env": { 159 "BUILDTYPE": "Release", 160 "CHROME_HEADLESS": "1", 161 "IOS_BUNDLE_ID": "com.google.dm", 162 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 163 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 164 "SKIA_OUT": "[START_DIR]/out" 165 }, 166 "infra_step": true, 167 "name": "mkdir skps" 168 }, 169 { 170 "cmd": [ 171 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 172 "[START_DIR]/skp", 173 "skps" 174 ], 175 "env": { 176 "BUILDTYPE": "Release", 177 "CHROME_HEADLESS": "1", 178 "IOS_BUNDLE_ID": "com.google.dm", 179 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 180 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 181 "SKIA_OUT": "[START_DIR]/out" 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 "BUILDTYPE": "Release", 194 "CHROME_HEADLESS": "1", 195 "IOS_BUNDLE_ID": "com.google.dm", 196 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 197 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 198 "SKIA_OUT": "[START_DIR]/out" 199 }, 200 "infra_step": true, 201 "name": "push_file [START_DIR]/tmp/SKP_VERSION" 202 }, 203 { 204 "cmd": [ 205 "python", 206 "-u", 207 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 208 "--json-output", 209 "/path/to/tmp/json", 210 "copy", 211 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 212 "/path/to/tmp/" 213 ], 214 "env": { 215 "IOS_BUNDLE_ID": "com.google.dm", 216 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 217 }, 218 "infra_step": true, 219 "name": "Get downloaded skimage VERSION" 220 }, 221 { 222 "cmd": [ 223 "python", 224 "-u", 225 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 226 "--json-output", 227 "/path/to/tmp/json", 228 "copy", 229 "42", 230 "[START_DIR]/tmp/SK_IMAGE_VERSION" 231 ], 232 "env": { 233 "IOS_BUNDLE_ID": "com.google.dm", 234 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 235 }, 236 "infra_step": true, 237 "name": "write SK_IMAGE_VERSION" 238 }, 239 { 240 "cmd": [ 241 "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", 242 "tmp/SK_IMAGE_VERSION" 243 ], 244 "env": { 245 "BUILDTYPE": "Release", 246 "CHROME_HEADLESS": "1", 247 "IOS_BUNDLE_ID": "com.google.dm", 248 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 249 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 250 "SKIA_OUT": "[START_DIR]/out" 251 }, 252 "infra_step": true, 253 "name": "cat_file tmp/SK_IMAGE_VERSION", 254 "stdout": "/path/to/tmp/" 255 }, 256 { 257 "cmd": [ 258 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 259 "tmp/SK_IMAGE_VERSION" 260 ], 261 "env": { 262 "BUILDTYPE": "Release", 263 "CHROME_HEADLESS": "1", 264 "IOS_BUNDLE_ID": "com.google.dm", 265 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 266 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 267 "SKIA_OUT": "[START_DIR]/out" 268 }, 269 "infra_step": true, 270 "name": "rm tmp/SK_IMAGE_VERSION" 271 }, 272 { 273 "cmd": [ 274 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 275 "images" 276 ], 277 "env": { 278 "BUILDTYPE": "Release", 279 "CHROME_HEADLESS": "1", 280 "IOS_BUNDLE_ID": "com.google.dm", 281 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 282 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 283 "SKIA_OUT": "[START_DIR]/out" 284 }, 285 "infra_step": true, 286 "name": "rm images" 287 }, 288 { 289 "cmd": [ 290 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 291 "images" 292 ], 293 "env": { 294 "BUILDTYPE": "Release", 295 "CHROME_HEADLESS": "1", 296 "IOS_BUNDLE_ID": "com.google.dm", 297 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 298 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 299 "SKIA_OUT": "[START_DIR]/out" 300 }, 301 "infra_step": true, 302 "name": "mkdir images" 303 }, 304 { 305 "cmd": [ 306 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 307 "[START_DIR]/skimage", 308 "images" 309 ], 310 "env": { 311 "BUILDTYPE": "Release", 312 "CHROME_HEADLESS": "1", 313 "IOS_BUNDLE_ID": "com.google.dm", 314 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 315 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 316 "SKIA_OUT": "[START_DIR]/out" 317 }, 318 "infra_step": true, 319 "name": "push_if_needed [START_DIR]/skimage" 320 }, 321 { 322 "cmd": [ 323 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", 324 "[START_DIR]/tmp/SK_IMAGE_VERSION", 325 "tmp/SK_IMAGE_VERSION" 326 ], 327 "env": { 328 "BUILDTYPE": "Release", 329 "CHROME_HEADLESS": "1", 330 "IOS_BUNDLE_ID": "com.google.dm", 331 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 332 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 333 "SKIA_OUT": "[START_DIR]/out" 334 }, 335 "infra_step": true, 336 "name": "push_file [START_DIR]/tmp/SK_IMAGE_VERSION" 337 }, 338 { 339 "cmd": [ 340 "python", 341 "-u", 342 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 343 "--json-output", 344 "/path/to/tmp/json", 345 "copy", 346 "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 347 "/path/to/tmp/" 348 ], 349 "env": { 350 "IOS_BUNDLE_ID": "com.google.dm", 351 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 352 }, 353 "infra_step": true, 354 "name": "Get downloaded SVG VERSION" 355 }, 356 { 357 "cmd": [ 358 "python", 359 "-u", 360 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 361 "--json-output", 362 "/path/to/tmp/json", 363 "copy", 364 "42", 365 "[START_DIR]/tmp/SVG_VERSION" 366 ], 367 "env": { 368 "IOS_BUNDLE_ID": "com.google.dm", 369 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 370 }, 371 "infra_step": true, 372 "name": "write SVG_VERSION" 373 }, 374 { 375 "cmd": [ 376 "[START_DIR]/skia/platform_tools/ios/bin/ios_cat_file", 377 "tmp/SVG_VERSION" 378 ], 379 "env": { 380 "BUILDTYPE": "Release", 381 "CHROME_HEADLESS": "1", 382 "IOS_BUNDLE_ID": "com.google.dm", 383 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 384 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 385 "SKIA_OUT": "[START_DIR]/out" 386 }, 387 "infra_step": true, 388 "name": "cat_file tmp/SVG_VERSION", 389 "stdout": "/path/to/tmp/" 390 }, 391 { 392 "cmd": [ 393 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 394 "tmp/SVG_VERSION" 395 ], 396 "env": { 397 "BUILDTYPE": "Release", 398 "CHROME_HEADLESS": "1", 399 "IOS_BUNDLE_ID": "com.google.dm", 400 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 401 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 402 "SKIA_OUT": "[START_DIR]/out" 403 }, 404 "infra_step": true, 405 "name": "rm tmp/SVG_VERSION" 406 }, 407 { 408 "cmd": [ 409 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 410 "svgs" 411 ], 412 "env": { 413 "BUILDTYPE": "Release", 414 "CHROME_HEADLESS": "1", 415 "IOS_BUNDLE_ID": "com.google.dm", 416 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 417 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 418 "SKIA_OUT": "[START_DIR]/out" 419 }, 420 "infra_step": true, 421 "name": "rm svgs" 422 }, 423 { 424 "cmd": [ 425 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 426 "svgs" 427 ], 428 "env": { 429 "BUILDTYPE": "Release", 430 "CHROME_HEADLESS": "1", 431 "IOS_BUNDLE_ID": "com.google.dm", 432 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 433 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 434 "SKIA_OUT": "[START_DIR]/out" 435 }, 436 "infra_step": true, 437 "name": "mkdir svgs" 438 }, 439 { 440 "cmd": [ 441 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_if_needed", 442 "[START_DIR]/svg", 443 "svgs" 444 ], 445 "env": { 446 "BUILDTYPE": "Release", 447 "CHROME_HEADLESS": "1", 448 "IOS_BUNDLE_ID": "com.google.dm", 449 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 450 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 451 "SKIA_OUT": "[START_DIR]/out" 452 }, 453 "infra_step": true, 454 "name": "push_if_needed [START_DIR]/svg" 455 }, 456 { 457 "cmd": [ 458 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", 459 "[START_DIR]/tmp/SVG_VERSION", 460 "tmp/SVG_VERSION" 461 ], 462 "env": { 463 "BUILDTYPE": "Release", 464 "CHROME_HEADLESS": "1", 465 "IOS_BUNDLE_ID": "com.google.dm", 466 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 467 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 468 "SKIA_OUT": "[START_DIR]/out" 469 }, 470 "infra_step": true, 471 "name": "push_file [START_DIR]/tmp/SVG_VERSION" 472 }, 473 { 474 "cmd": [ 475 "python", 476 "-u", 477 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 478 "--json-output", 479 "/path/to/tmp/json", 480 "rmtree", 481 "[CUSTOM_[SWARM_OUT_DIR]]/dm" 482 ], 483 "env": { 484 "IOS_BUNDLE_ID": "com.google.dm", 485 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 486 }, 487 "infra_step": true, 488 "name": "rmtree dm" 489 }, 490 { 491 "cmd": [ 492 "python", 493 "-u", 494 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 495 "--json-output", 496 "/path/to/tmp/json", 497 "ensure-directory", 498 "--mode", 499 "0777", 500 "[CUSTOM_[SWARM_OUT_DIR]]/dm" 501 ], 502 "env": { 503 "IOS_BUNDLE_ID": "com.google.dm", 504 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 505 }, 506 "infra_step": true, 507 "name": "makedirs dm" 508 }, 509 { 510 "cmd": [ 511 "[START_DIR]/skia/platform_tools/ios/bin/ios_rm", 512 "dm" 513 ], 514 "env": { 515 "BUILDTYPE": "Release", 516 "CHROME_HEADLESS": "1", 517 "IOS_BUNDLE_ID": "com.google.dm", 518 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 519 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 520 "SKIA_OUT": "[START_DIR]/out" 521 }, 522 "infra_step": true, 523 "name": "rm dm" 524 }, 525 { 526 "cmd": [ 527 "[START_DIR]/skia/platform_tools/ios/bin/ios_mkdir", 528 "dm" 529 ], 530 "env": { 531 "BUILDTYPE": "Release", 532 "CHROME_HEADLESS": "1", 533 "IOS_BUNDLE_ID": "com.google.dm", 534 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 535 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 536 "SKIA_OUT": "[START_DIR]/out" 537 }, 538 "infra_step": true, 539 "name": "mkdir dm" 540 }, 541 { 542 "cmd": [ 543 "python", 544 "-u", 545 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 546 "--json-output", 547 "/path/to/tmp/json", 548 "ensure-directory", 549 "--mode", 550 "0777", 551 "[START_DIR]/tmp" 552 ], 553 "env": { 554 "IOS_BUNDLE_ID": "com.google.dm", 555 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 556 }, 557 "infra_step": true, 558 "name": "makedirs tmp_dir" 559 }, 560 { 561 "cmd": [ 562 "python", 563 "-u", 564 "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'\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[1], '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", 565 "[START_DIR]/tmp/uninteresting_hashes.txt" 566 ], 567 "env": { 568 "BUILDTYPE": "Release", 569 "CHROME_HEADLESS": "1", 570 "IOS_BUNDLE_ID": "com.google.dm", 571 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 572 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 573 "SKIA_OUT": "[START_DIR]/out" 574 }, 575 "infra_step": true, 576 "name": "get uninteresting hashes", 577 "~followup_annotations": [ 578 "@@@STEP_LOG_LINE (a] python.inline@@@@", 579 "@@@STEP_LOG_LINE (a] python.inline@import contextlib@@@", 580 "@@@STEP_LOG_LINE (a] python.inline@import math@@@", 581 "@@@STEP_LOG_LINE (a] python.inline@import socket@@@", 582 "@@@STEP_LOG_LINE (a] python.inline@import sys@@@", 583 "@@@STEP_LOG_LINE (a] python.inline@import time@@@", 584 "@@@STEP_LOG_LINE (a] python.inline@import urllib2@@@", 585 "@@@STEP_LOG_LINE (a] python.inline@@@@", 586 "@@@STEP_LOG_LINE (a] python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@", 587 "@@@STEP_LOG_LINE (a] python.inline@RETRIES = 5@@@", 588 "@@@STEP_LOG_LINE (a] python.inline@TIMEOUT = 60@@@", 589 "@@@STEP_LOG_LINE (a] python.inline@WAIT_BASE = 15@@@", 590 "@@@STEP_LOG_LINE (a] python.inline@@@@", 591 "@@@STEP_LOG_LINE (a] python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", 592 "@@@STEP_LOG_LINE (a] python.inline@for retry in range(RETRIES):@@@", 593 "@@@STEP_LOG_LINE (a] python.inline@ try:@@@", 594 "@@@STEP_LOG_LINE (a] python.inline@ with contextlib.closing(@@@", 595 "@@@STEP_LOG_LINE (a] python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@", 596 "@@@STEP_LOG_LINE (a] python.inline@ hashes = w.read()@@@", 597 "@@@STEP_LOG_LINE (a] python.inline@ with open(sys.argv[1], 'w') as f:@@@", 598 "@@@STEP_LOG_LINE (a] python.inline@ f.write(hashes)@@@", 599 "@@@STEP_LOG_LINE (a] python.inline@ break@@@", 600 "@@@STEP_LOG_LINE (a] python.inline@ except Exception as e:@@@", 601 "@@@STEP_LOG_LINE (a] python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@", 602 "@@@STEP_LOG_LINE (a] python.inline@ print e@@@", 603 "@@@STEP_LOG_LINE (a] python.inline@ if retry == RETRIES:@@@", 604 "@@@STEP_LOG_LINE (a] python.inline@ raise@@@", 605 "@@@STEP_LOG_LINE (a] python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@", 606 "@@@STEP_LOG_LINE (a] python.inline@ print 'Retry in %d seconds.' % waittime@@@", 607 "@@@STEP_LOG_LINE (a] python.inline@ time.sleep(waittime)@@@", 608 "@@@STEP_LOG_END (a] python.inline@@@" 609 ] 610 }, 611 { 612 "cmd": [ 613 "[START_DIR]/skia/platform_tools/ios/bin/ios_push_file", 614 "[START_DIR]/tmp/uninteresting_hashes.txt", 615 "tmp/uninteresting_hashes.txt" 616 ], 617 "env": { 618 "BUILDTYPE": "Release", 619 "CHROME_HEADLESS": "1", 620 "IOS_BUNDLE_ID": "com.google.dm", 621 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 622 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 623 "SKIA_OUT": "[START_DIR]/out" 624 }, 625 "infra_step": true, 626 "name": "push_file [START_DIR]/tmp/uninteresting_hashes.txt" 627 }, 628 { 629 "cmd": [ 630 "python", 631 "-u", 632 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n" 633 ], 634 "env": { 635 "IOS_BUNDLE_ID": "com.google.dm", 636 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 637 }, 638 "name": "get swarming bot id", 639 "stdout": "/path/to/tmp/", 640 "~followup_annotations": [ 641 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 642 "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@", 643 "@@@STEP_LOG_END (a] python.inline@@@" 644 ] 645 }, 646 { 647 "cmd": [ 648 "python", 649 "-u", 650 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n" 651 ], 652 "env": { 653 "IOS_BUNDLE_ID": "com.google.dm", 654 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice" 655 }, 656 "name": "get swarming task id", 657 "stdout": "/path/to/tmp/", 658 "~followup_annotations": [ 659 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 660 "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@", 661 "@@@STEP_LOG_END (a] python.inline@@@" 662 ] 663 }, 664 { 665 "cmd": [ 666 "idevice-app-runner", 667 "-s", 668 "com.google.dm", 669 "--args", 670 "--undefok", 671 "--resourcePath", 672 "resources", 673 "--skps", 674 "skps", 675 "--images", 676 "images/dm", 677 "--colorImages", 678 "images/colorspace", 679 "--nameByHash", 680 "--properties", 681 "gitHash", 682 "abc123", 683 "builder", 684 "Test-iOS-Clang-iPadMini4-GPU-GX6450-arm-Release", 685 "swarming_bot_id", 686 "skia-bot-123", 687 "swarming_task_id", 688 "123456", 689 "--svgs", 690 "svgs", 691 "--key", 692 "arch", 693 "arm", 694 "compiler", 695 "Clang", 696 "configuration", 697 "Release", 698 "cpu_or_gpu", 699 "GPU", 700 "cpu_or_gpu_value", 701 "GX6450", 702 "model", 703 "iPadMini4", 704 "os", 705 "iOS", 706 "--uninterestingHashesFile", 707 "tmp/uninteresting_hashes.txt", 708 "--writePath", 709 "dm", 710 "--nocpu", 711 "--randomProcessorTest", 712 "--threads", 713 "0", 714 "--config", 715 "8888", 716 "srgb", 717 "pdf", 718 "gles", 719 "glesdft", 720 "glessrgb", 721 "glesmsaa4", 722 "serialize-8888", 723 "tiles_rt-8888", 724 "pic-8888", 725 "--src", 726 "tests", 727 "gm", 728 "image", 729 "colorImage", 730 "svg", 731 "--blacklist", 732 "glessrgb", 733 "image", 734 "_", 735 "_", 736 "gles", 737 "skp", 738 "_", 739 "_", 740 "_", 741 "image", 742 "gen_platf", 743 "rgba32abf.bmp", 744 "_", 745 "image", 746 "gen_platf", 747 "rgb24prof.bmp", 748 "_", 749 "image", 750 "gen_platf", 751 "rgb24lprof.bmp", 752 "_", 753 "image", 754 "gen_platf", 755 "8bpp-pixeldata-cropped.bmp", 756 "_", 757 "image", 758 "gen_platf", 759 "4bpp-pixeldata-cropped.bmp", 760 "_", 761 "image", 762 "gen_platf", 763 "32bpp-pixeldata-cropped.bmp", 764 "_", 765 "image", 766 "gen_platf", 767 "24bpp-pixeldata-cropped.bmp", 768 "_", 769 "image", 770 "gen_platf", 771 "frame_larger_than_image.gif", 772 "_", 773 "image", 774 "gen_platf", 775 "inc0.png", 776 "_", 777 "image", 778 "gen_platf", 779 "inc1.png", 780 "_", 781 "image", 782 "gen_platf", 783 "inc2.png", 784 "_", 785 "image", 786 "gen_platf", 787 "inc3.png", 788 "_", 789 "image", 790 "gen_platf", 791 "inc4.png", 792 "_", 793 "image", 794 "gen_platf", 795 "inc5.png", 796 "_", 797 "image", 798 "gen_platf", 799 "inc6.png", 800 "_", 801 "image", 802 "gen_platf", 803 "inc7.png", 804 "_", 805 "image", 806 "gen_platf", 807 "inc8.png", 808 "_", 809 "image", 810 "gen_platf", 811 "inc9.png", 812 "_", 813 "image", 814 "gen_platf", 815 "inc10.png", 816 "_", 817 "image", 818 "gen_platf", 819 "inc11.png", 820 "_", 821 "image", 822 "gen_platf", 823 "inc12.png", 824 "_", 825 "image", 826 "gen_platf", 827 "inc13.png", 828 "_", 829 "image", 830 "gen_platf", 831 "inc14.png", 832 "_", 833 "test", 834 "_", 835 "GrShape", 836 "serialize-8888", 837 "gm", 838 "_", 839 "bleed_image", 840 "serialize-8888", 841 "gm", 842 "_", 843 "c_gms", 844 "serialize-8888", 845 "gm", 846 "_", 847 "colortype", 848 "serialize-8888", 849 "gm", 850 "_", 851 "colortype_xfermodes", 852 "serialize-8888", 853 "gm", 854 "_", 855 "drawfilter", 856 "serialize-8888", 857 "gm", 858 "_", 859 "fontmgr_bounds_0.75_0", 860 "serialize-8888", 861 "gm", 862 "_", 863 "fontmgr_bounds_1_-0.25", 864 "serialize-8888", 865 "gm", 866 "_", 867 "fontmgr_bounds", 868 "serialize-8888", 869 "gm", 870 "_", 871 "fontmgr_match", 872 "serialize-8888", 873 "gm", 874 "_", 875 "fontmgr_iter", 876 "serialize-8888", 877 "gm", 878 "_", 879 "imagemasksubset", 880 "serialize-8888", 881 "gm", 882 "_", 883 "bitmapfilters", 884 "serialize-8888", 885 "gm", 886 "_", 887 "bitmapshaders", 888 "serialize-8888", 889 "gm", 890 "_", 891 "bleed", 892 "serialize-8888", 893 "gm", 894 "_", 895 "bleed_alpha_bmp", 896 "serialize-8888", 897 "gm", 898 "_", 899 "bleed_alpha_bmp_shader", 900 "serialize-8888", 901 "gm", 902 "_", 903 "convex_poly_clip", 904 "serialize-8888", 905 "gm", 906 "_", 907 "extractalpha", 908 "serialize-8888", 909 "gm", 910 "_", 911 "filterbitmap_checkerboard_32_32_g8", 912 "serialize-8888", 913 "gm", 914 "_", 915 "filterbitmap_image_mandrill_64", 916 "serialize-8888", 917 "gm", 918 "_", 919 "shadows", 920 "serialize-8888", 921 "gm", 922 "_", 923 "simpleaaclip_aaclip", 924 "serialize-8888", 925 "gm", 926 "_", 927 "composeshader_bitmap", 928 "serialize-8888", 929 "gm", 930 "_", 931 "scaled_tilemodes_npot", 932 "serialize-8888", 933 "gm", 934 "_", 935 "scaled_tilemodes", 936 "serialize-8888", 937 "gm", 938 "_", 939 "typefacerendering_pfaMac", 940 "serialize-8888", 941 "gm", 942 "_", 943 "parsedpaths", 944 "serialize-8888", 945 "gm", 946 "_", 947 "ImageGeneratorExternal_rect", 948 "serialize-8888", 949 "gm", 950 "_", 951 "ImageGeneratorExternal_shader", 952 "serialize-8888", 953 "gm", 954 "_", 955 "shadow_utils", 956 "serialize-8888", 957 "gm", 958 "_", 959 "makecolorspace", 960 "serialize-8888", 961 "gm", 962 "_", 963 "bleed_alpha_image", 964 "serialize-8888", 965 "gm", 966 "_", 967 "bleed_alpha_image_shader", 968 "pic-8888", 969 "gm", 970 "_", 971 "drawfilter", 972 "pic-8888", 973 "gm", 974 "_", 975 "image-cacherator-from-picture", 976 "serialize-8888", 977 "gm", 978 "_", 979 "image-cacherator-from-picture", 980 "pic-8888", 981 "gm", 982 "_", 983 "image-cacherator-from-raster", 984 "serialize-8888", 985 "gm", 986 "_", 987 "image-cacherator-from-raster", 988 "pic-8888", 989 "gm", 990 "_", 991 "image-cacherator-from-ctable", 992 "serialize-8888", 993 "gm", 994 "_", 995 "image-cacherator-from-ctable", 996 "pic-8888", 997 "gm", 998 "_", 999 "gamut", 1000 "serialize-8888", 1001 "gm", 1002 "_", 1003 "gamut", 1004 "pic-8888", 1005 "gm", 1006 "_", 1007 "complexclip4_bw", 1008 "serialize-8888", 1009 "gm", 1010 "_", 1011 "complexclip4_bw", 1012 "pic-8888", 1013 "gm", 1014 "_", 1015 "complexclip4_aa", 1016 "serialize-8888", 1017 "gm", 1018 "_", 1019 "complexclip4_aa", 1020 "tiles_rt-8888", 1021 "gm", 1022 "_", 1023 "complexclip4_bw", 1024 "tiles_rt-8888", 1025 "gm", 1026 "_", 1027 "complexclip4_aa", 1028 "_", 1029 "image", 1030 "_", 1031 "interlaced1.png", 1032 "_", 1033 "image", 1034 "_", 1035 "interlaced2.png", 1036 "_", 1037 "image", 1038 "_", 1039 "interlaced3.png", 1040 "_", 1041 "image", 1042 "_", 1043 ".arw", 1044 "_", 1045 "image", 1046 "_", 1047 ".cr2", 1048 "_", 1049 "image", 1050 "_", 1051 ".dng", 1052 "_", 1053 "image", 1054 "_", 1055 ".nef", 1056 "_", 1057 "image", 1058 "_", 1059 ".nrw", 1060 "_", 1061 "image", 1062 "_", 1063 ".orf", 1064 "_", 1065 "image", 1066 "_", 1067 ".raf", 1068 "_", 1069 "image", 1070 "_", 1071 ".rw2", 1072 "_", 1073 "image", 1074 "_", 1075 ".pef", 1076 "_", 1077 "image", 1078 "_", 1079 ".srw", 1080 "_", 1081 "image", 1082 "_", 1083 ".ARW", 1084 "_", 1085 "image", 1086 "_", 1087 ".CR2", 1088 "_", 1089 "image", 1090 "_", 1091 ".DNG", 1092 "_", 1093 "image", 1094 "_", 1095 ".NEF", 1096 "_", 1097 "image", 1098 "_", 1099 ".NRW", 1100 "_", 1101 "image", 1102 "_", 1103 ".ORF", 1104 "_", 1105 "image", 1106 "_", 1107 ".RAF", 1108 "_", 1109 "image", 1110 "_", 1111 ".RW2", 1112 "_", 1113 "image", 1114 "_", 1115 ".PEF", 1116 "_", 1117 "image", 1118 "_", 1119 ".SRW" 1120 ], 1121 "env": { 1122 "BUILDTYPE": "Release", 1123 "CHROME_HEADLESS": "1", 1124 "IOS_BUNDLE_ID": "com.google.dm", 1125 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 1126 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 1127 "SKIA_OUT": "[START_DIR]/out" 1128 }, 1129 "name": "dm" 1130 }, 1131 { 1132 "cmd": [ 1133 "[START_DIR]/skia/platform_tools/ios/bin/ios_pull_if_needed", 1134 "dm", 1135 "[CUSTOM_[SWARM_OUT_DIR]]/dm" 1136 ], 1137 "env": { 1138 "BUILDTYPE": "Release", 1139 "CHROME_HEADLESS": "1", 1140 "IOS_BUNDLE_ID": "com.google.dm", 1141 "IOS_MOUNT_POINT": "[START_DIR]/mnt_iosdevice", 1142 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 1143 "SKIA_OUT": "[START_DIR]/out" 1144 }, 1145 "infra_step": true, 1146 "name": "pull_if_needed dm" 1147 }, 1148 { 1149 "name": "$result", 1150 "recipe_result": null, 1151 "status_code": 0 1152 } 1153 ]