1[ 2 { 3 "cmd": [ 4 "adb", 5 "shell", 6 "mkdir", 7 "-p", 8 "/sdcard/revenge_of_the_skiabot/resources" 9 ], 10 "cwd": "[START_DIR]/skia", 11 "env": { 12 "BUILDTYPE": "Release", 13 "CHROME_HEADLESS": "1", 14 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 15 "SKIA_OUT": "[START_DIR]/out" 16 }, 17 "infra_step": true, 18 "name": "mkdir /sdcard/revenge_of_the_skiabot/resources" 19 }, 20 { 21 "cmd": [ 22 "python", 23 "-u", 24 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", 25 "[START_DIR]/skia/resources", 26 "/sdcard/revenge_of_the_skiabot/resources" 27 ], 28 "env": { 29 "BUILDTYPE": "Release", 30 "CHROME_HEADLESS": "1", 31 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 32 "SKIA_OUT": "[START_DIR]/out" 33 }, 34 "infra_step": true, 35 "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources", 36 "~followup_annotations": [ 37 "@@@STEP_LOG_LINE@python.inline@@@@", 38 "@@@STEP_LOG_LINE@python.inline@import os@@@", 39 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 40 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 41 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", 42 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", 43 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", 44 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", 45 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", 46 "@@@STEP_LOG_LINE@python.inline@ continue@@@", 47 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", 48 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", 49 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", 50 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", 51 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", 52 "@@@STEP_LOG_END@python.inline@@@" 53 ] 54 }, 55 { 56 "cmd": [ 57 "python", 58 "-u", 59 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 60 "[START_DIR]/skia/infra/bots/assets/skp/VERSION", 61 "/path/to/tmp/" 62 ], 63 "infra_step": true, 64 "name": "Get downloaded SKP VERSION" 65 }, 66 { 67 "cmd": [ 68 "python", 69 "-u", 70 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 71 "42", 72 "[START_DIR]/tmp/SKP_VERSION" 73 ], 74 "infra_step": true, 75 "name": "write SKP_VERSION" 76 }, 77 { 78 "cmd": [ 79 "adb", 80 "shell", 81 "cat", 82 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 83 ], 84 "cwd": "[START_DIR]/skia", 85 "env": { 86 "BUILDTYPE": "Release", 87 "CHROME_HEADLESS": "1", 88 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 89 "SKIA_OUT": "[START_DIR]/out" 90 }, 91 "infra_step": true, 92 "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION", 93 "stdout": "/path/to/tmp/" 94 }, 95 { 96 "cmd": [ 97 "adb", 98 "shell", 99 "rm", 100 "-f", 101 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 102 ], 103 "cwd": "[START_DIR]/skia", 104 "env": { 105 "BUILDTYPE": "Release", 106 "CHROME_HEADLESS": "1", 107 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 108 "SKIA_OUT": "[START_DIR]/out" 109 }, 110 "infra_step": true, 111 "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION" 112 }, 113 { 114 "cmd": [ 115 "adb", 116 "shell", 117 "rm", 118 "-rf", 119 "/sdcard/revenge_of_the_skiabot/skps" 120 ], 121 "cwd": "[START_DIR]/skia", 122 "env": { 123 "BUILDTYPE": "Release", 124 "CHROME_HEADLESS": "1", 125 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 126 "SKIA_OUT": "[START_DIR]/out" 127 }, 128 "infra_step": true, 129 "name": "rm /sdcard/revenge_of_the_skiabot/skps" 130 }, 131 { 132 "cmd": [ 133 "adb", 134 "shell", 135 "mkdir", 136 "-p", 137 "/sdcard/revenge_of_the_skiabot/skps" 138 ], 139 "cwd": "[START_DIR]/skia", 140 "env": { 141 "BUILDTYPE": "Release", 142 "CHROME_HEADLESS": "1", 143 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 144 "SKIA_OUT": "[START_DIR]/out" 145 }, 146 "infra_step": true, 147 "name": "mkdir /sdcard/revenge_of_the_skiabot/skps" 148 }, 149 { 150 "cmd": [ 151 "python", 152 "-u", 153 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", 154 "[START_DIR]/skp", 155 "/sdcard/revenge_of_the_skiabot/skps" 156 ], 157 "env": { 158 "BUILDTYPE": "Release", 159 "CHROME_HEADLESS": "1", 160 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 161 "SKIA_OUT": "[START_DIR]/out" 162 }, 163 "infra_step": true, 164 "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps", 165 "~followup_annotations": [ 166 "@@@STEP_LOG_LINE@python.inline@@@@", 167 "@@@STEP_LOG_LINE@python.inline@import os@@@", 168 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 169 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 170 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", 171 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", 172 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", 173 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", 174 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", 175 "@@@STEP_LOG_LINE@python.inline@ continue@@@", 176 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", 177 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", 178 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", 179 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", 180 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", 181 "@@@STEP_LOG_END@python.inline@@@" 182 ] 183 }, 184 { 185 "cmd": [ 186 "adb", 187 "push", 188 "[START_DIR]/tmp/SKP_VERSION", 189 "/sdcard/revenge_of_the_skiabot/SKP_VERSION" 190 ], 191 "cwd": "[START_DIR]/skia", 192 "env": { 193 "BUILDTYPE": "Release", 194 "CHROME_HEADLESS": "1", 195 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 196 "SKIA_OUT": "[START_DIR]/out" 197 }, 198 "infra_step": true, 199 "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION" 200 }, 201 { 202 "cmd": [ 203 "python", 204 "-u", 205 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 206 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 207 "/path/to/tmp/" 208 ], 209 "infra_step": true, 210 "name": "Get downloaded skimage VERSION" 211 }, 212 { 213 "cmd": [ 214 "python", 215 "-u", 216 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 217 "42", 218 "[START_DIR]/tmp/SK_IMAGE_VERSION" 219 ], 220 "infra_step": true, 221 "name": "write SK_IMAGE_VERSION" 222 }, 223 { 224 "cmd": [ 225 "adb", 226 "shell", 227 "cat", 228 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 229 ], 230 "cwd": "[START_DIR]/skia", 231 "env": { 232 "BUILDTYPE": "Release", 233 "CHROME_HEADLESS": "1", 234 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 235 "SKIA_OUT": "[START_DIR]/out" 236 }, 237 "infra_step": true, 238 "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION", 239 "stdout": "/path/to/tmp/" 240 }, 241 { 242 "cmd": [ 243 "adb", 244 "shell", 245 "rm", 246 "-f", 247 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 248 ], 249 "cwd": "[START_DIR]/skia", 250 "env": { 251 "BUILDTYPE": "Release", 252 "CHROME_HEADLESS": "1", 253 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 254 "SKIA_OUT": "[START_DIR]/out" 255 }, 256 "infra_step": true, 257 "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 258 }, 259 { 260 "cmd": [ 261 "adb", 262 "shell", 263 "rm", 264 "-rf", 265 "/sdcard/revenge_of_the_skiabot/images" 266 ], 267 "cwd": "[START_DIR]/skia", 268 "env": { 269 "BUILDTYPE": "Release", 270 "CHROME_HEADLESS": "1", 271 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 272 "SKIA_OUT": "[START_DIR]/out" 273 }, 274 "infra_step": true, 275 "name": "rm /sdcard/revenge_of_the_skiabot/images" 276 }, 277 { 278 "cmd": [ 279 "adb", 280 "shell", 281 "mkdir", 282 "-p", 283 "/sdcard/revenge_of_the_skiabot/images" 284 ], 285 "cwd": "[START_DIR]/skia", 286 "env": { 287 "BUILDTYPE": "Release", 288 "CHROME_HEADLESS": "1", 289 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 290 "SKIA_OUT": "[START_DIR]/out" 291 }, 292 "infra_step": true, 293 "name": "mkdir /sdcard/revenge_of_the_skiabot/images" 294 }, 295 { 296 "cmd": [ 297 "python", 298 "-u", 299 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", 300 "[START_DIR]/skimage", 301 "/sdcard/revenge_of_the_skiabot/images" 302 ], 303 "env": { 304 "BUILDTYPE": "Release", 305 "CHROME_HEADLESS": "1", 306 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 307 "SKIA_OUT": "[START_DIR]/out" 308 }, 309 "infra_step": true, 310 "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images", 311 "~followup_annotations": [ 312 "@@@STEP_LOG_LINE@python.inline@@@@", 313 "@@@STEP_LOG_LINE@python.inline@import os@@@", 314 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 315 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 316 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", 317 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", 318 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", 319 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", 320 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", 321 "@@@STEP_LOG_LINE@python.inline@ continue@@@", 322 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", 323 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", 324 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", 325 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", 326 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", 327 "@@@STEP_LOG_END@python.inline@@@" 328 ] 329 }, 330 { 331 "cmd": [ 332 "adb", 333 "push", 334 "[START_DIR]/tmp/SK_IMAGE_VERSION", 335 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 336 ], 337 "cwd": "[START_DIR]/skia", 338 "env": { 339 "BUILDTYPE": "Release", 340 "CHROME_HEADLESS": "1", 341 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 342 "SKIA_OUT": "[START_DIR]/out" 343 }, 344 "infra_step": true, 345 "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION" 346 }, 347 { 348 "cmd": [ 349 "python", 350 "-u", 351 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 352 "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 353 "/path/to/tmp/" 354 ], 355 "infra_step": true, 356 "name": "Get downloaded SVG VERSION" 357 }, 358 { 359 "cmd": [ 360 "python", 361 "-u", 362 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 363 "42", 364 "[START_DIR]/tmp/SVG_VERSION" 365 ], 366 "infra_step": true, 367 "name": "write SVG_VERSION" 368 }, 369 { 370 "cmd": [ 371 "adb", 372 "shell", 373 "cat", 374 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 375 ], 376 "cwd": "[START_DIR]/skia", 377 "env": { 378 "BUILDTYPE": "Release", 379 "CHROME_HEADLESS": "1", 380 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 381 "SKIA_OUT": "[START_DIR]/out" 382 }, 383 "infra_step": true, 384 "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION", 385 "stdout": "/path/to/tmp/" 386 }, 387 { 388 "cmd": [ 389 "adb", 390 "shell", 391 "rm", 392 "-f", 393 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 394 ], 395 "cwd": "[START_DIR]/skia", 396 "env": { 397 "BUILDTYPE": "Release", 398 "CHROME_HEADLESS": "1", 399 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 400 "SKIA_OUT": "[START_DIR]/out" 401 }, 402 "infra_step": true, 403 "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION" 404 }, 405 { 406 "cmd": [ 407 "adb", 408 "shell", 409 "rm", 410 "-rf", 411 "/sdcard/revenge_of_the_skiabot/svgs" 412 ], 413 "cwd": "[START_DIR]/skia", 414 "env": { 415 "BUILDTYPE": "Release", 416 "CHROME_HEADLESS": "1", 417 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 418 "SKIA_OUT": "[START_DIR]/out" 419 }, 420 "infra_step": true, 421 "name": "rm /sdcard/revenge_of_the_skiabot/svgs" 422 }, 423 { 424 "cmd": [ 425 "adb", 426 "shell", 427 "mkdir", 428 "-p", 429 "/sdcard/revenge_of_the_skiabot/svgs" 430 ], 431 "cwd": "[START_DIR]/skia", 432 "env": { 433 "BUILDTYPE": "Release", 434 "CHROME_HEADLESS": "1", 435 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 436 "SKIA_OUT": "[START_DIR]/out" 437 }, 438 "infra_step": true, 439 "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs" 440 }, 441 { 442 "cmd": [ 443 "python", 444 "-u", 445 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n", 446 "[START_DIR]/svg", 447 "/sdcard/revenge_of_the_skiabot/svgs" 448 ], 449 "env": { 450 "BUILDTYPE": "Release", 451 "CHROME_HEADLESS": "1", 452 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 453 "SKIA_OUT": "[START_DIR]/out" 454 }, 455 "infra_step": true, 456 "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs", 457 "~followup_annotations": [ 458 "@@@STEP_LOG_LINE@python.inline@@@@", 459 "@@@STEP_LOG_LINE@python.inline@import os@@@", 460 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 461 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 462 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@", 463 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@", 464 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@", 465 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@", 466 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@", 467 "@@@STEP_LOG_LINE@python.inline@ continue@@@", 468 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@", 469 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@", 470 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@", 471 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@", 472 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@", 473 "@@@STEP_LOG_END@python.inline@@@" 474 ] 475 }, 476 { 477 "cmd": [ 478 "adb", 479 "push", 480 "[START_DIR]/tmp/SVG_VERSION", 481 "/sdcard/revenge_of_the_skiabot/SVG_VERSION" 482 ], 483 "cwd": "[START_DIR]/skia", 484 "env": { 485 "BUILDTYPE": "Release", 486 "CHROME_HEADLESS": "1", 487 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 488 "SKIA_OUT": "[START_DIR]/out" 489 }, 490 "infra_step": true, 491 "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION" 492 }, 493 { 494 "cmd": [ 495 "adb", 496 "shell", 497 "rm", 498 "-rf", 499 "/sdcard/revenge_of_the_skiabot/perf" 500 ], 501 "cwd": "[START_DIR]/skia", 502 "env": { 503 "BUILDTYPE": "Release", 504 "CHROME_HEADLESS": "1", 505 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 506 "SKIA_OUT": "[START_DIR]/out" 507 }, 508 "infra_step": true, 509 "name": "rm /sdcard/revenge_of_the_skiabot/perf" 510 }, 511 { 512 "cmd": [ 513 "adb", 514 "shell", 515 "mkdir", 516 "-p", 517 "/sdcard/revenge_of_the_skiabot/perf" 518 ], 519 "cwd": "[START_DIR]/skia", 520 "env": { 521 "BUILDTYPE": "Release", 522 "CHROME_HEADLESS": "1", 523 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 524 "SKIA_OUT": "[START_DIR]/out" 525 }, 526 "infra_step": true, 527 "name": "mkdir /sdcard/revenge_of_the_skiabot/perf" 528 }, 529 { 530 "cmd": [ 531 "adb", 532 "push", 533 "[START_DIR]/out/Release/nanobench", 534 "/data/local/tmp/" 535 ], 536 "cwd": "[START_DIR]/skia", 537 "env": { 538 "BUILDTYPE": "Release", 539 "CHROME_HEADLESS": "1", 540 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 541 "SKIA_OUT": "[START_DIR]/out" 542 }, 543 "infra_step": true, 544 "name": "push nanobench" 545 }, 546 { 547 "cmd": [ 548 "python", 549 "-u", 550 "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n", 551 "set -x; /data/local/tmp/nanobench --undefok -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --nogpu --pre_log --scales 1.0 1.1 --config 8888 nonrendering hwui gles glesmsaa4 glesnvpr4 glesnvprdit4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp --outResultsFile /sdcard/revenge_of_the_skiabot/perf/nanobench_abc123_1337000001.json --properties gitHash abc123 build_number 5 --key arch arm compiler Clang cpu_or_gpu CPU cpu_or_gpu_value Exynos5250 extra_config Android model Nexus10 os Android; echo $? >/data/local/tmp/rc", 552 "[START_DIR]/tmp/nanobench.sh" 553 ], 554 "env": { 555 "BUILDTYPE": "Release", 556 "CHROME_HEADLESS": "1", 557 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 558 "SKIA_OUT": "[START_DIR]/out" 559 }, 560 "infra_step": true, 561 "name": "write nanobench.sh" 562 }, 563 { 564 "cmd": [ 565 "adb", 566 "push", 567 "[START_DIR]/tmp/nanobench.sh", 568 "/data/local/tmp/" 569 ], 570 "cwd": "[START_DIR]/skia", 571 "env": { 572 "BUILDTYPE": "Release", 573 "CHROME_HEADLESS": "1", 574 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 575 "SKIA_OUT": "[START_DIR]/out" 576 }, 577 "infra_step": true, 578 "name": "push nanobench.sh" 579 }, 580 { 581 "cmd": [ 582 "adb", 583 "logcat", 584 "-c" 585 ], 586 "cwd": "[START_DIR]/skia", 587 "env": { 588 "BUILDTYPE": "Release", 589 "CHROME_HEADLESS": "1", 590 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 591 "SKIA_OUT": "[START_DIR]/out" 592 }, 593 "infra_step": true, 594 "name": "clear log" 595 }, 596 { 597 "cmd": [ 598 "python", 599 "-u", 600 "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',\n bin_dir + 'rc'])))\nexcept ValueError:\n print \"Couldn't read the return code. Probably killed for OOM.\"\n sys.exit(1)\n", 601 "/data/local/tmp/", 602 "nanobench.sh" 603 ], 604 "env": { 605 "BUILDTYPE": "Release", 606 "CHROME_HEADLESS": "1", 607 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 608 "SKIA_OUT": "[START_DIR]/out" 609 }, 610 "name": "nanobench", 611 "~followup_annotations": [ 612 "@@@STEP_LOG_LINE@python.inline@@@@", 613 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 614 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 615 "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@", 616 "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@", 617 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])@@@", 618 "@@@STEP_LOG_LINE@python.inline@try:@@@", 619 "@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',@@@", 620 "@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@", 621 "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@", 622 "@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@", 623 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", 624 "@@@STEP_LOG_END@python.inline@@@" 625 ] 626 }, 627 { 628 "cmd": [ 629 "python", 630 "-u", 631 "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n if os.path.exists(path):\n print \"%s exists but is not a dir\" % path\n sys.exit(1)\n os.makedirs(path, mode)\n", 632 "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android/data", 633 "511" 634 ], 635 "name": "makedirs perf_dir", 636 "~followup_annotations": [ 637 "@@@STEP_LOG_LINE@python.inline@@@@", 638 "@@@STEP_LOG_LINE@python.inline@import sys, os@@@", 639 "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@", 640 "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@", 641 "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@", 642 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(path):@@@", 643 "@@@STEP_LOG_LINE@python.inline@ print \"%s exists but is not a dir\" % path@@@", 644 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", 645 "@@@STEP_LOG_LINE@python.inline@ os.makedirs(path, mode)@@@", 646 "@@@STEP_LOG_END@python.inline@@@" 647 ] 648 }, 649 { 650 "cmd": [ 651 "adb", 652 "pull", 653 "/sdcard/revenge_of_the_skiabot/perf", 654 "[CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android/data" 655 ], 656 "cwd": "[START_DIR]/skia", 657 "env": { 658 "BUILDTYPE": "Release", 659 "CHROME_HEADLESS": "1", 660 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 661 "SKIA_OUT": "[START_DIR]/out" 662 }, 663 "infra_step": true, 664 "name": "pull /sdcard/revenge_of_the_skiabot/perf [CUSTOM_[SWARM_OUT_DIR]]/perfdata/Perf-Android-Clang-Nexus10-CPU-Exynos5250-arm-Release-Android/data" 665 }, 666 { 667 "cmd": [ 668 "python", 669 "-u", 670 "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['adb', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n print line\n", 671 "[START_DIR]/out/Release" 672 ], 673 "env": { 674 "BUILDTYPE": "Release", 675 "CHROME_HEADLESS": "1", 676 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 677 "SKIA_OUT": "[START_DIR]/out" 678 }, 679 "infra_step": true, 680 "name": "dump log", 681 "~followup_annotations": [ 682 "@@@STEP_LOG_LINE@python.inline@@@@", 683 "@@@STEP_LOG_LINE@python.inline@import os@@@", 684 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@", 685 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 686 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@", 687 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@", 688 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@", 689 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@", 690 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@", 691 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@", 692 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@", 693 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@", 694 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@", 695 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@", 696 "@@@STEP_LOG_LINE@python.inline@ print line@@@", 697 "@@@STEP_LOG_END@python.inline@@@" 698 ] 699 }, 700 { 701 "cmd": [ 702 "adb", 703 "kill-server" 704 ], 705 "cwd": "[START_DIR]/skia", 706 "env": { 707 "BUILDTYPE": "Release", 708 "CHROME_HEADLESS": "1", 709 "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]", 710 "SKIA_OUT": "[START_DIR]/out" 711 }, 712 "infra_step": true, 713 "name": "kill adb server" 714 }, 715 { 716 "name": "$result", 717 "recipe_result": null, 718 "status_code": 0 719 } 720]