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 "copy", 10 "[START_DIR]/skia/infra/bots/assets/skp/VERSION", 11 "/path/to/tmp/" 12 ], 13 "infra_step": true, 14 "name": "Get downloaded SKP VERSION" 15 }, 16 { 17 "cmd": [ 18 "python", 19 "-u", 20 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 21 "--json-output", 22 "/path/to/tmp/json", 23 "copy", 24 "42", 25 "[START_DIR]/tmp/SKP_VERSION" 26 ], 27 "infra_step": true, 28 "name": "write SKP_VERSION" 29 }, 30 { 31 "cmd": [ 32 "python", 33 "-u", 34 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 35 "--json-output", 36 "/path/to/tmp/json", 37 "copy", 38 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 39 "/path/to/tmp/" 40 ], 41 "infra_step": true, 42 "name": "Get downloaded skimage VERSION" 43 }, 44 { 45 "cmd": [ 46 "python", 47 "-u", 48 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 49 "--json-output", 50 "/path/to/tmp/json", 51 "copy", 52 "42", 53 "[START_DIR]/tmp/SK_IMAGE_VERSION" 54 ], 55 "infra_step": true, 56 "name": "write SK_IMAGE_VERSION" 57 }, 58 { 59 "cmd": [ 60 "python", 61 "-u", 62 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 63 "--json-output", 64 "/path/to/tmp/json", 65 "copy", 66 "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 67 "/path/to/tmp/" 68 ], 69 "infra_step": true, 70 "name": "Get downloaded SVG VERSION" 71 }, 72 { 73 "cmd": [ 74 "python", 75 "-u", 76 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 77 "--json-output", 78 "/path/to/tmp/json", 79 "copy", 80 "42", 81 "[START_DIR]/tmp/SVG_VERSION" 82 ], 83 "infra_step": true, 84 "name": "write SVG_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 "rmtree", 94 "[CUSTOM_[SWARM_OUT_DIR]]/dm" 95 ], 96 "infra_step": true, 97 "name": "rmtree dm" 98 }, 99 { 100 "cmd": [ 101 "python", 102 "-u", 103 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 104 "--json-output", 105 "/path/to/tmp/json", 106 "ensure-directory", 107 "--mode", 108 "0777", 109 "[CUSTOM_[SWARM_OUT_DIR]]/dm" 110 ], 111 "infra_step": true, 112 "name": "makedirs dm" 113 }, 114 { 115 "cmd": [ 116 "python", 117 "-u", 118 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 119 "--json-output", 120 "/path/to/tmp/json", 121 "ensure-directory", 122 "--mode", 123 "0777", 124 "[START_DIR]/tmp" 125 ], 126 "infra_step": true, 127 "name": "makedirs tmp_dir" 128 }, 129 { 130 "cmd": [ 131 "python", 132 "-u", 133 "\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", 134 "[START_DIR]/tmp/uninteresting_hashes.txt" 135 ], 136 "env": { 137 "BUILDTYPE": "Release_x64", 138 "CHROME_HEADLESS": "1", 139 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 140 "SKIA_OUT": "[START_DIR]/out" 141 }, 142 "infra_step": true, 143 "name": "get uninteresting hashes", 144 "~followup_annotations": [ 145 "@@@STEP_LOG_LINE (a] python.inline@@@@", 146 "@@@STEP_LOG_LINE (a] python.inline@import contextlib@@@", 147 "@@@STEP_LOG_LINE (a] python.inline@import math@@@", 148 "@@@STEP_LOG_LINE (a] python.inline@import socket@@@", 149 "@@@STEP_LOG_LINE (a] python.inline@import sys@@@", 150 "@@@STEP_LOG_LINE (a] python.inline@import time@@@", 151 "@@@STEP_LOG_LINE (a] python.inline@import urllib2@@@", 152 "@@@STEP_LOG_LINE (a] python.inline@@@@", 153 "@@@STEP_LOG_LINE (a] python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@", 154 "@@@STEP_LOG_LINE (a] python.inline@RETRIES = 5@@@", 155 "@@@STEP_LOG_LINE (a] python.inline@TIMEOUT = 60@@@", 156 "@@@STEP_LOG_LINE (a] python.inline@WAIT_BASE = 15@@@", 157 "@@@STEP_LOG_LINE (a] python.inline@@@@", 158 "@@@STEP_LOG_LINE (a] python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", 159 "@@@STEP_LOG_LINE (a] python.inline@for retry in range(RETRIES):@@@", 160 "@@@STEP_LOG_LINE (a] python.inline@ try:@@@", 161 "@@@STEP_LOG_LINE (a] python.inline@ with contextlib.closing(@@@", 162 "@@@STEP_LOG_LINE (a] python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@", 163 "@@@STEP_LOG_LINE (a] python.inline@ hashes = w.read()@@@", 164 "@@@STEP_LOG_LINE (a] python.inline@ with open(sys.argv[1], 'w') as f:@@@", 165 "@@@STEP_LOG_LINE (a] python.inline@ f.write(hashes)@@@", 166 "@@@STEP_LOG_LINE (a] python.inline@ break@@@", 167 "@@@STEP_LOG_LINE (a] python.inline@ except Exception as e:@@@", 168 "@@@STEP_LOG_LINE (a] python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@", 169 "@@@STEP_LOG_LINE (a] python.inline@ print e@@@", 170 "@@@STEP_LOG_LINE (a] python.inline@ if retry == RETRIES:@@@", 171 "@@@STEP_LOG_LINE (a] python.inline@ raise@@@", 172 "@@@STEP_LOG_LINE (a] python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@", 173 "@@@STEP_LOG_LINE (a] python.inline@ print 'Retry in %d seconds.' % waittime@@@", 174 "@@@STEP_LOG_LINE (a] python.inline@ time.sleep(waittime)@@@", 175 "@@@STEP_LOG_END (a] python.inline@@@" 176 ] 177 }, 178 { 179 "cmd": [ 180 "python", 181 "-u", 182 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n" 183 ], 184 "name": "get swarming bot id", 185 "stdout": "/path/to/tmp/", 186 "~followup_annotations": [ 187 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 188 "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@", 189 "@@@STEP_LOG_END (a] python.inline@@@" 190 ] 191 }, 192 { 193 "cmd": [ 194 "python", 195 "-u", 196 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n" 197 ], 198 "name": "get swarming task id", 199 "stdout": "/path/to/tmp/", 200 "~followup_annotations": [ 201 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 202 "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@", 203 "@@@STEP_LOG_END (a] python.inline@@@" 204 ] 205 }, 206 { 207 "cmd": [ 208 "[START_DIR]/out/Release_x64/dm", 209 "--undefok", 210 "--resourcePath", 211 "[START_DIR]/skia/resources", 212 "--skps", 213 "[START_DIR]/skp", 214 "--images", 215 "[START_DIR]/skimage/dm", 216 "--colorImages", 217 "[START_DIR]/skimage/colorspace", 218 "--nameByHash", 219 "--properties", 220 "gitHash", 221 "abc123", 222 "builder", 223 "Test-Win2k8-MSVC-GCE-CPU-AVX2-x86_64-Release", 224 "issue", 225 "456789", 226 "patchset", 227 "12", 228 "patch_storage", 229 "gerrit", 230 "swarming_bot_id", 231 "", 232 "swarming_task_id", 233 "", 234 "--svgs", 235 "[START_DIR]/svg", 236 "--key", 237 "arch", 238 "x86_64", 239 "compiler", 240 "MSVC", 241 "configuration", 242 "Release", 243 "cpu_or_gpu", 244 "CPU", 245 "cpu_or_gpu_value", 246 "AVX2", 247 "model", 248 "GCE", 249 "os", 250 "Win2k8", 251 "--uninterestingHashesFile", 252 "[START_DIR]/tmp/uninteresting_hashes.txt", 253 "--writePath", 254 "[CUSTOM_[SWARM_OUT_DIR]]/dm", 255 "--nogpu", 256 "--randomProcessorTest", 257 "--config", 258 "8888", 259 "srgb", 260 "pdf", 261 "gl", 262 "gldft", 263 "glsrgb", 264 "glmsaa8", 265 "565", 266 "f16", 267 "sp-8888", 268 "2ndpic-8888", 269 "lite-8888", 270 "gbr-8888", 271 "serialize-8888", 272 "tiles_rt-8888", 273 "pic-8888", 274 "--src", 275 "tests", 276 "gm", 277 "image", 278 "colorImage", 279 "svg", 280 "--blacklist", 281 "f16", 282 "_", 283 "_", 284 "dstreadshuffle", 285 "glsrgb", 286 "image", 287 "_", 288 "_", 289 "gbr-8888", 290 "image", 291 "_", 292 "_", 293 "gbr-8888", 294 "colorImage", 295 "_", 296 "_", 297 "_", 298 "image", 299 "gen_platf", 300 "rle8-height-negative.bmp", 301 "_", 302 "image", 303 "gen_platf", 304 "rle4-height-negative.bmp", 305 "_", 306 "image", 307 "gen_platf", 308 "pal8os2v2.bmp", 309 "_", 310 "image", 311 "gen_platf", 312 "pal8os2v2-16.bmp", 313 "_", 314 "image", 315 "gen_platf", 316 "rgba32abf.bmp", 317 "_", 318 "image", 319 "gen_platf", 320 "rgb24prof.bmp", 321 "_", 322 "image", 323 "gen_platf", 324 "rgb24lprof.bmp", 325 "_", 326 "image", 327 "gen_platf", 328 "8bpp-pixeldata-cropped.bmp", 329 "_", 330 "image", 331 "gen_platf", 332 "4bpp-pixeldata-cropped.bmp", 333 "_", 334 "image", 335 "gen_platf", 336 "32bpp-pixeldata-cropped.bmp", 337 "_", 338 "image", 339 "gen_platf", 340 "24bpp-pixeldata-cropped.bmp", 341 "_", 342 "gm", 343 "_", 344 "composeshader_bitmap", 345 "_", 346 "image", 347 "gen_platf", 348 "testimgari.jpg", 349 "serialize-8888", 350 "gm", 351 "_", 352 "bleed_image", 353 "serialize-8888", 354 "gm", 355 "_", 356 "c_gms", 357 "serialize-8888", 358 "gm", 359 "_", 360 "colortype", 361 "serialize-8888", 362 "gm", 363 "_", 364 "colortype_xfermodes", 365 "serialize-8888", 366 "gm", 367 "_", 368 "drawfilter", 369 "serialize-8888", 370 "gm", 371 "_", 372 "fontmgr_bounds_0.75_0", 373 "serialize-8888", 374 "gm", 375 "_", 376 "fontmgr_bounds_1_-0.25", 377 "serialize-8888", 378 "gm", 379 "_", 380 "fontmgr_bounds", 381 "serialize-8888", 382 "gm", 383 "_", 384 "fontmgr_match", 385 "serialize-8888", 386 "gm", 387 "_", 388 "fontmgr_iter", 389 "serialize-8888", 390 "gm", 391 "_", 392 "imagemasksubset", 393 "serialize-8888", 394 "gm", 395 "_", 396 "bitmapfilters", 397 "serialize-8888", 398 "gm", 399 "_", 400 "bitmapshaders", 401 "serialize-8888", 402 "gm", 403 "_", 404 "bleed", 405 "serialize-8888", 406 "gm", 407 "_", 408 "bleed_alpha_bmp", 409 "serialize-8888", 410 "gm", 411 "_", 412 "bleed_alpha_bmp_shader", 413 "serialize-8888", 414 "gm", 415 "_", 416 "convex_poly_clip", 417 "serialize-8888", 418 "gm", 419 "_", 420 "extractalpha", 421 "serialize-8888", 422 "gm", 423 "_", 424 "filterbitmap_checkerboard_32_32_g8", 425 "serialize-8888", 426 "gm", 427 "_", 428 "filterbitmap_image_mandrill_64", 429 "serialize-8888", 430 "gm", 431 "_", 432 "shadows", 433 "serialize-8888", 434 "gm", 435 "_", 436 "simpleaaclip_aaclip", 437 "serialize-8888", 438 "gm", 439 "_", 440 "composeshader_bitmap", 441 "serialize-8888", 442 "gm", 443 "_", 444 "scaled_tilemodes_npot", 445 "serialize-8888", 446 "gm", 447 "_", 448 "scaled_tilemodes", 449 "serialize-8888", 450 "gm", 451 "_", 452 "typefacerendering_pfaMac", 453 "serialize-8888", 454 "gm", 455 "_", 456 "parsedpaths", 457 "serialize-8888", 458 "gm", 459 "_", 460 "ImageGeneratorExternal_rect", 461 "serialize-8888", 462 "gm", 463 "_", 464 "ImageGeneratorExternal_shader", 465 "serialize-8888", 466 "gm", 467 "_", 468 "shadow_utils", 469 "serialize-8888", 470 "gm", 471 "_", 472 "makecolorspace", 473 "serialize-8888", 474 "gm", 475 "_", 476 "bleed_alpha_image", 477 "serialize-8888", 478 "gm", 479 "_", 480 "bleed_alpha_image_shader", 481 "serialize-8888", 482 "gm", 483 "_", 484 "verylargebitmap", 485 "serialize-8888", 486 "gm", 487 "_", 488 "verylarge_picture_image", 489 "sp-8888", 490 "gm", 491 "_", 492 "drawfilter", 493 "pic-8888", 494 "gm", 495 "_", 496 "drawfilter", 497 "2ndpic-8888", 498 "gm", 499 "_", 500 "drawfilter", 501 "lite-8888", 502 "gm", 503 "_", 504 "drawfilter", 505 "sp-8888", 506 "gm", 507 "_", 508 "image-cacherator-from-picture", 509 "pic-8888", 510 "gm", 511 "_", 512 "image-cacherator-from-picture", 513 "2ndpic-8888", 514 "gm", 515 "_", 516 "image-cacherator-from-picture", 517 "serialize-8888", 518 "gm", 519 "_", 520 "image-cacherator-from-picture", 521 "sp-8888", 522 "gm", 523 "_", 524 "image-cacherator-from-raster", 525 "pic-8888", 526 "gm", 527 "_", 528 "image-cacherator-from-raster", 529 "2ndpic-8888", 530 "gm", 531 "_", 532 "image-cacherator-from-raster", 533 "serialize-8888", 534 "gm", 535 "_", 536 "image-cacherator-from-raster", 537 "sp-8888", 538 "gm", 539 "_", 540 "image-cacherator-from-ctable", 541 "pic-8888", 542 "gm", 543 "_", 544 "image-cacherator-from-ctable", 545 "2ndpic-8888", 546 "gm", 547 "_", 548 "image-cacherator-from-ctable", 549 "serialize-8888", 550 "gm", 551 "_", 552 "image-cacherator-from-ctable", 553 "sp-8888", 554 "gm", 555 "_", 556 "gamut", 557 "pic-8888", 558 "gm", 559 "_", 560 "gamut", 561 "lite-8888", 562 "gm", 563 "_", 564 "gamut", 565 "2ndpic-8888", 566 "gm", 567 "_", 568 "gamut", 569 "serialize-8888", 570 "gm", 571 "_", 572 "gamut", 573 "sp-8888", 574 "gm", 575 "_", 576 "complexclip4_bw", 577 "pic-8888", 578 "gm", 579 "_", 580 "complexclip4_bw", 581 "lite-8888", 582 "gm", 583 "_", 584 "complexclip4_bw", 585 "2ndpic-8888", 586 "gm", 587 "_", 588 "complexclip4_bw", 589 "serialize-8888", 590 "gm", 591 "_", 592 "complexclip4_bw", 593 "sp-8888", 594 "gm", 595 "_", 596 "complexclip4_aa", 597 "pic-8888", 598 "gm", 599 "_", 600 "complexclip4_aa", 601 "lite-8888", 602 "gm", 603 "_", 604 "complexclip4_aa", 605 "2ndpic-8888", 606 "gm", 607 "_", 608 "complexclip4_aa", 609 "serialize-8888", 610 "gm", 611 "_", 612 "complexclip4_aa", 613 "tiles_rt-8888", 614 "gm", 615 "_", 616 "complexclip4_bw", 617 "tiles_rt-8888", 618 "gm", 619 "_", 620 "complexclip4_aa" 621 ], 622 "env": { 623 "BUILDTYPE": "Release_x64", 624 "CHROME_HEADLESS": "1", 625 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 626 "SKIA_OUT": "[START_DIR]/out" 627 }, 628 "name": "dm" 629 }, 630 { 631 "name": "$result", 632 "recipe_result": null, 633 "status_code": 0 634 } 635 ]