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