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 }, 45 { 46 "cmd": [ 47 "python", 48 "-u", 49 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 50 "--json-output", 51 "/path/to/tmp/json", 52 "copy", 53 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION", 54 "/path/to/tmp/" 55 ], 56 "infra_step": true, 57 "name": "Get skimage VERSION" 58 }, 59 { 60 "cmd": [ 61 "python", 62 "-u", 63 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 64 "--json-output", 65 "/path/to/tmp/json", 66 "copy", 67 "42", 68 "[START_DIR]/tmp/SK_IMAGE_VERSION" 69 ], 70 "infra_step": true, 71 "name": "write SK_IMAGE_VERSION" 72 }, 73 { 74 "cmd": [ 75 "python", 76 "-u", 77 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 78 "--json-output", 79 "/path/to/tmp/json", 80 "copy", 81 "[START_DIR]/skia/infra/bots/assets/svg/VERSION", 82 "/path/to/tmp/" 83 ], 84 "infra_step": true, 85 "name": "Get svg VERSION" 86 }, 87 { 88 "cmd": [ 89 "python", 90 "-u", 91 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 92 "--json-output", 93 "/path/to/tmp/json", 94 "copy", 95 "42", 96 "[START_DIR]/tmp/SVG_VERSION" 97 ], 98 "infra_step": true, 99 "name": "write SVG_VERSION" 100 }, 101 { 102 "cmd": [ 103 "python", 104 "-u", 105 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 106 "--json-output", 107 "/path/to/tmp/json", 108 "rmtree", 109 "[START_DIR]/test" 110 ], 111 "infra_step": true, 112 "name": "rmtree test" 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]/test" 125 ], 126 "infra_step": true, 127 "name": "makedirs test" 128 }, 129 { 130 "cmd": [ 131 "python", 132 "-u", 133 "\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", 134 "https://example.com/hashes.txt", 135 "[START_DIR]/tmp/uninteresting_hashes.txt" 136 ], 137 "env": { 138 "CHROME_HEADLESS": "1", 139 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]" 140 }, 141 "infra_step": true, 142 "name": "get uninteresting hashes", 143 "~followup_annotations": [ 144 "@@@STEP_LOG_LINE (a] python.inline@@@@", 145 "@@@STEP_LOG_LINE (a] python.inline@import contextlib@@@", 146 "@@@STEP_LOG_LINE (a] python.inline@import math@@@", 147 "@@@STEP_LOG_LINE (a] python.inline@import socket@@@", 148 "@@@STEP_LOG_LINE (a] python.inline@import sys@@@", 149 "@@@STEP_LOG_LINE (a] python.inline@import time@@@", 150 "@@@STEP_LOG_LINE (a] python.inline@import urllib2@@@", 151 "@@@STEP_LOG_LINE (a] python.inline@@@@", 152 "@@@STEP_LOG_LINE (a] python.inline@HASHES_URL = sys.argv[1]@@@", 153 "@@@STEP_LOG_LINE (a] python.inline@RETRIES = 5@@@", 154 "@@@STEP_LOG_LINE (a] python.inline@TIMEOUT = 60@@@", 155 "@@@STEP_LOG_LINE (a] python.inline@WAIT_BASE = 15@@@", 156 "@@@STEP_LOG_LINE (a] python.inline@@@@", 157 "@@@STEP_LOG_LINE (a] python.inline@socket.setdefaulttimeout(TIMEOUT)@@@", 158 "@@@STEP_LOG_LINE (a] python.inline@for retry in range(RETRIES):@@@", 159 "@@@STEP_LOG_LINE (a] python.inline@ try:@@@", 160 "@@@STEP_LOG_LINE (a] python.inline@ with contextlib.closing(@@@", 161 "@@@STEP_LOG_LINE (a] python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@", 162 "@@@STEP_LOG_LINE (a] python.inline@ hashes = w.read()@@@", 163 "@@@STEP_LOG_LINE (a] python.inline@ with open(sys.argv[2], 'w') as f:@@@", 164 "@@@STEP_LOG_LINE (a] python.inline@ f.write(hashes)@@@", 165 "@@@STEP_LOG_LINE (a] python.inline@ break@@@", 166 "@@@STEP_LOG_LINE (a] python.inline@ except Exception as e:@@@", 167 "@@@STEP_LOG_LINE (a] python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@", 168 "@@@STEP_LOG_LINE (a] python.inline@ print e@@@", 169 "@@@STEP_LOG_LINE (a] python.inline@ if retry == RETRIES:@@@", 170 "@@@STEP_LOG_LINE (a] python.inline@ raise@@@", 171 "@@@STEP_LOG_LINE (a] python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@", 172 "@@@STEP_LOG_LINE (a] python.inline@ print 'Retry in %d seconds.' % waittime@@@", 173 "@@@STEP_LOG_LINE (a] python.inline@ time.sleep(waittime)@@@", 174 "@@@STEP_LOG_END (a] python.inline@@@" 175 ] 176 }, 177 { 178 "cmd": [ 179 "python", 180 "-u", 181 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n" 182 ], 183 "name": "get swarming bot id", 184 "stdout": "/path/to/tmp/", 185 "~followup_annotations": [ 186 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 187 "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@", 188 "@@@STEP_LOG_END (a] python.inline@@@" 189 ] 190 }, 191 { 192 "cmd": [ 193 "python", 194 "-u", 195 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n" 196 ], 197 "name": "get swarming task id", 198 "stdout": "/path/to/tmp/", 199 "~followup_annotations": [ 200 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 201 "@@@STEP_LOG_LINE (a] python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@", 202 "@@@STEP_LOG_END (a] python.inline@@@" 203 ] 204 }, 205 { 206 "cmd": [ 207 "python", 208 "-u", 209 "RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py", 210 "[START_DIR]", 211 "catchsegv", 212 "[START_DIR]/build/dm", 213 "--resourcePath", 214 "[START_DIR]/skia/resources", 215 "--skps", 216 "[START_DIR]/skp", 217 "--images", 218 "[START_DIR]/skimage/dm", 219 "--colorImages", 220 "[START_DIR]/skimage/colorspace", 221 "--nameByHash", 222 "--properties", 223 "gitHash", 224 "abc123", 225 "builder", 226 "Test-Ubuntu17-Clang-Golo-GPU-QuadroP400-x86_64-Debug-All-DDL3", 227 "buildbucket_build_id", 228 "123454321", 229 "swarming_bot_id", 230 "skia-bot-123", 231 "swarming_task_id", 232 "123456", 233 "--svgs", 234 "[START_DIR]/svg", 235 "--key", 236 "arch", 237 "x86_64", 238 "compiler", 239 "Clang", 240 "configuration", 241 "Debug", 242 "cpu_or_gpu", 243 "GPU", 244 "cpu_or_gpu_value", 245 "QuadroP400", 246 "extra_config", 247 "DDL3", 248 "model", 249 "Golo", 250 "os", 251 "Ubuntu17", 252 "--uninterestingHashesFile", 253 "[START_DIR]/tmp/uninteresting_hashes.txt", 254 "--writePath", 255 "[START_DIR]/[SWARM_OUT_DIR]", 256 "--dont_write", 257 "pdf", 258 "--randomProcessorTest", 259 "--nocpu", 260 "--skpViewportSize", 261 "2048", 262 "--gpuThreads", 263 "0", 264 "--config", 265 "ddl-gl", 266 "ddl2-gl", 267 "--src", 268 "gm", 269 "skp", 270 "--blacklist", 271 "gl1010102", 272 "image", 273 "_", 274 "_", 275 "gltestpersistentcache", 276 "gm", 277 "_", 278 "atlastext", 279 "gltestpersistentcache", 280 "gm", 281 "_", 282 "dftext", 283 "gltestpersistentcache", 284 "gm", 285 "_", 286 "glyph_pos_h_b", 287 "_", 288 "svg", 289 "_", 290 "svgparse_", 291 "_", 292 "image", 293 "gen_platf", 294 "error", 295 "_", 296 "image", 297 "_", 298 "interlaced1.png", 299 "_", 300 "image", 301 "_", 302 "interlaced2.png", 303 "_", 304 "image", 305 "_", 306 "interlaced3.png", 307 "_", 308 "image", 309 "_", 310 ".arw", 311 "_", 312 "image", 313 "_", 314 ".cr2", 315 "_", 316 "image", 317 "_", 318 ".dng", 319 "_", 320 "image", 321 "_", 322 ".nef", 323 "_", 324 "image", 325 "_", 326 ".nrw", 327 "_", 328 "image", 329 "_", 330 ".orf", 331 "_", 332 "image", 333 "_", 334 ".raf", 335 "_", 336 "image", 337 "_", 338 ".rw2", 339 "_", 340 "image", 341 "_", 342 ".pef", 343 "_", 344 "image", 345 "_", 346 ".srw", 347 "_", 348 "image", 349 "_", 350 ".ARW", 351 "_", 352 "image", 353 "_", 354 ".CR2", 355 "_", 356 "image", 357 "_", 358 ".DNG", 359 "_", 360 "image", 361 "_", 362 ".NEF", 363 "_", 364 "image", 365 "_", 366 ".NRW", 367 "_", 368 "image", 369 "_", 370 ".ORF", 371 "_", 372 "image", 373 "_", 374 ".RAF", 375 "_", 376 "image", 377 "_", 378 ".RW2", 379 "_", 380 "image", 381 "_", 382 ".PEF", 383 "_", 384 "image", 385 "_", 386 ".SRW", 387 "--nonativeFonts", 388 "--reduceOpListSplitting", 389 "--verbose" 390 ], 391 "cwd": "[START_DIR]/skia", 392 "env": { 393 "CHROME_HEADLESS": "1", 394 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]" 395 }, 396 "name": "symbolized dm" 397 }, 398 { 399 "jsonResult": null, 400 "name": "$result" 401 } 402 ]