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