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": "Debug", 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/Debug/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-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug", 224 "swarming_bot_id", 225 "skia-bot-123", 226 "swarming_task_id", 227 "123456", 228 "--svgs", 229 "[START_DIR]/svg", 230 "--key", 231 "arch", 232 "x86_64", 233 "compiler", 234 "Clang", 235 "configuration", 236 "Debug", 237 "cpu_or_gpu", 238 "CPU", 239 "cpu_or_gpu_value", 240 "AVX", 241 "model", 242 "MacMini6.2", 243 "os", 244 "Mac", 245 "--uninterestingHashesFile", 246 "[START_DIR]/tmp/uninteresting_hashes.txt", 247 "--writePath", 248 "[CUSTOM_[SWARM_OUT_DIR]]/dm", 249 "--nogpu", 250 "--randomProcessorTest", 251 "--config", 252 "8888", 253 "srgb", 254 "pdf", 255 "gl", 256 "gldft", 257 "glsrgb", 258 "glmsaa8", 259 "serialize-8888", 260 "tiles_rt-8888", 261 "pic-8888", 262 "glinst", 263 "glinst8", 264 "--src", 265 "tests", 266 "gm", 267 "image", 268 "colorImage", 269 "svg", 270 "--blacklist", 271 "glsrgb", 272 "image", 273 "_", 274 "_", 275 "_", 276 "image", 277 "gen_platf", 278 "rgba32abf.bmp", 279 "_", 280 "image", 281 "gen_platf", 282 "rgb24prof.bmp", 283 "_", 284 "image", 285 "gen_platf", 286 "rgb24lprof.bmp", 287 "_", 288 "image", 289 "gen_platf", 290 "8bpp-pixeldata-cropped.bmp", 291 "_", 292 "image", 293 "gen_platf", 294 "4bpp-pixeldata-cropped.bmp", 295 "_", 296 "image", 297 "gen_platf", 298 "32bpp-pixeldata-cropped.bmp", 299 "_", 300 "image", 301 "gen_platf", 302 "24bpp-pixeldata-cropped.bmp", 303 "_", 304 "image", 305 "gen_platf", 306 "frame_larger_than_image.gif", 307 "_", 308 "image", 309 "gen_platf", 310 "inc0.png", 311 "_", 312 "image", 313 "gen_platf", 314 "inc1.png", 315 "_", 316 "image", 317 "gen_platf", 318 "inc2.png", 319 "_", 320 "image", 321 "gen_platf", 322 "inc3.png", 323 "_", 324 "image", 325 "gen_platf", 326 "inc4.png", 327 "_", 328 "image", 329 "gen_platf", 330 "inc5.png", 331 "_", 332 "image", 333 "gen_platf", 334 "inc6.png", 335 "_", 336 "image", 337 "gen_platf", 338 "inc7.png", 339 "_", 340 "image", 341 "gen_platf", 342 "inc8.png", 343 "_", 344 "image", 345 "gen_platf", 346 "inc9.png", 347 "_", 348 "image", 349 "gen_platf", 350 "inc10.png", 351 "_", 352 "image", 353 "gen_platf", 354 "inc11.png", 355 "_", 356 "image", 357 "gen_platf", 358 "inc12.png", 359 "_", 360 "image", 361 "gen_platf", 362 "inc13.png", 363 "_", 364 "image", 365 "gen_platf", 366 "inc14.png", 367 "_", 368 "image", 369 "gen_platf", 370 "testimgari.jpg", 371 "serialize-8888", 372 "gm", 373 "_", 374 "bleed_image", 375 "serialize-8888", 376 "gm", 377 "_", 378 "c_gms", 379 "serialize-8888", 380 "gm", 381 "_", 382 "colortype", 383 "serialize-8888", 384 "gm", 385 "_", 386 "colortype_xfermodes", 387 "serialize-8888", 388 "gm", 389 "_", 390 "drawfilter", 391 "serialize-8888", 392 "gm", 393 "_", 394 "fontmgr_bounds_0.75_0", 395 "serialize-8888", 396 "gm", 397 "_", 398 "fontmgr_bounds_1_-0.25", 399 "serialize-8888", 400 "gm", 401 "_", 402 "fontmgr_bounds", 403 "serialize-8888", 404 "gm", 405 "_", 406 "fontmgr_match", 407 "serialize-8888", 408 "gm", 409 "_", 410 "fontmgr_iter", 411 "serialize-8888", 412 "gm", 413 "_", 414 "imagemasksubset", 415 "serialize-8888", 416 "gm", 417 "_", 418 "bitmapfilters", 419 "serialize-8888", 420 "gm", 421 "_", 422 "bitmapshaders", 423 "serialize-8888", 424 "gm", 425 "_", 426 "bleed", 427 "serialize-8888", 428 "gm", 429 "_", 430 "bleed_alpha_bmp", 431 "serialize-8888", 432 "gm", 433 "_", 434 "bleed_alpha_bmp_shader", 435 "serialize-8888", 436 "gm", 437 "_", 438 "convex_poly_clip", 439 "serialize-8888", 440 "gm", 441 "_", 442 "extractalpha", 443 "serialize-8888", 444 "gm", 445 "_", 446 "filterbitmap_checkerboard_32_32_g8", 447 "serialize-8888", 448 "gm", 449 "_", 450 "filterbitmap_image_mandrill_64", 451 "serialize-8888", 452 "gm", 453 "_", 454 "shadows", 455 "serialize-8888", 456 "gm", 457 "_", 458 "simpleaaclip_aaclip", 459 "serialize-8888", 460 "gm", 461 "_", 462 "composeshader_bitmap", 463 "serialize-8888", 464 "gm", 465 "_", 466 "scaled_tilemodes_npot", 467 "serialize-8888", 468 "gm", 469 "_", 470 "scaled_tilemodes", 471 "serialize-8888", 472 "gm", 473 "_", 474 "typefacerendering_pfaMac", 475 "serialize-8888", 476 "gm", 477 "_", 478 "parsedpaths", 479 "serialize-8888", 480 "gm", 481 "_", 482 "ImageGeneratorExternal_rect", 483 "serialize-8888", 484 "gm", 485 "_", 486 "ImageGeneratorExternal_shader", 487 "serialize-8888", 488 "gm", 489 "_", 490 "shadow_utils", 491 "serialize-8888", 492 "gm", 493 "_", 494 "makecolorspace", 495 "pic-8888", 496 "gm", 497 "_", 498 "drawfilter", 499 "pic-8888", 500 "gm", 501 "_", 502 "image-cacherator-from-picture", 503 "serialize-8888", 504 "gm", 505 "_", 506 "image-cacherator-from-picture", 507 "pic-8888", 508 "gm", 509 "_", 510 "image-cacherator-from-raster", 511 "serialize-8888", 512 "gm", 513 "_", 514 "image-cacherator-from-raster", 515 "pic-8888", 516 "gm", 517 "_", 518 "image-cacherator-from-ctable", 519 "serialize-8888", 520 "gm", 521 "_", 522 "image-cacherator-from-ctable", 523 "pic-8888", 524 "gm", 525 "_", 526 "gamut", 527 "serialize-8888", 528 "gm", 529 "_", 530 "gamut", 531 "pic-8888", 532 "gm", 533 "_", 534 "complexclip4_bw", 535 "serialize-8888", 536 "gm", 537 "_", 538 "complexclip4_bw", 539 "pic-8888", 540 "gm", 541 "_", 542 "complexclip4_aa", 543 "serialize-8888", 544 "gm", 545 "_", 546 "complexclip4_aa", 547 "tiles_rt-8888", 548 "gm", 549 "_", 550 "complexclip4_bw", 551 "tiles_rt-8888", 552 "gm", 553 "_", 554 "complexclip4_aa" 555 ], 556 "env": { 557 "BUILDTYPE": "Debug", 558 "CHROME_HEADLESS": "1", 559 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 560 "SKIA_OUT": "[START_DIR]/out" 561 }, 562 "name": "dm" 563 }, 564 { 565 "name": "$result", 566 "recipe_result": null, 567 "status_code": 0 568 } 569 ]