blob: 380566f8dce76d99c64e5b17687b1a556daccd7f [file] [log] [blame]
Ben Wagnerb4dc5492017-03-07 16:41:43 -05001[
2 {
3 "cmd": [
4 "adb",
5 "shell",
6 "mkdir",
7 "-p",
8 "/sdcard/revenge_of_the_skiabot/resources"
9 ],
10 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -040011 "env": {
12 "BUILDTYPE": "Debug",
13 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070014 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -040015 "SKIA_OUT": "[START_DIR]/out"
16 },
Eric Borena1590852017-03-20 12:48:31 -040017 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -050018 "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
19 },
20 {
21 "cmd": [
22 "python",
23 "-u",
24 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
25 "[START_DIR]/skia/resources",
26 "/sdcard/revenge_of_the_skiabot/resources"
27 ],
Eric Borenbbb24f22017-03-21 08:20:33 -040028 "env": {
29 "BUILDTYPE": "Debug",
30 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070031 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -040032 "SKIA_OUT": "[START_DIR]/out"
33 },
Eric Borena1590852017-03-20 12:48:31 -040034 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -050035 "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources",
36 "~followup_annotations": [
37 "@@@STEP_LOG_LINE@python.inline@@@@",
38 "@@@STEP_LOG_LINE@python.inline@import os@@@",
39 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
40 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
41 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
42 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
43 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
44 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
45 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
46 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
47 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
48 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
49 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
50 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
51 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
52 "@@@STEP_LOG_END@python.inline@@@"
53 ]
54 },
55 {
56 "cmd": [
57 "python",
58 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -040059 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
60 "--json-output",
61 "/path/to/tmp/json",
62 "copy",
Ben Wagnerb4dc5492017-03-07 16:41:43 -050063 "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
64 "/path/to/tmp/"
65 ],
Eric Borena1590852017-03-20 12:48:31 -040066 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -050067 "name": "Get downloaded SKP VERSION"
68 },
69 {
70 "cmd": [
71 "python",
72 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -040073 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
74 "--json-output",
75 "/path/to/tmp/json",
76 "copy",
Ben Wagnerb4dc5492017-03-07 16:41:43 -050077 "42",
78 "[START_DIR]/tmp/SKP_VERSION"
79 ],
Eric Borena1590852017-03-20 12:48:31 -040080 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -050081 "name": "write SKP_VERSION"
82 },
83 {
84 "cmd": [
85 "adb",
86 "shell",
87 "cat",
88 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
89 ],
90 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -040091 "env": {
92 "BUILDTYPE": "Debug",
93 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070094 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -040095 "SKIA_OUT": "[START_DIR]/out"
96 },
Eric Borena1590852017-03-20 12:48:31 -040097 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -050098 "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION",
99 "stdout": "/path/to/tmp/"
100 },
101 {
102 "cmd": [
103 "adb",
104 "shell",
105 "rm",
106 "-f",
107 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
108 ],
109 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400110 "env": {
111 "BUILDTYPE": "Debug",
112 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700113 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400114 "SKIA_OUT": "[START_DIR]/out"
115 },
Eric Borena1590852017-03-20 12:48:31 -0400116 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500117 "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
118 },
119 {
120 "cmd": [
121 "adb",
122 "shell",
123 "rm",
124 "-rf",
125 "/sdcard/revenge_of_the_skiabot/skps"
126 ],
127 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400128 "env": {
129 "BUILDTYPE": "Debug",
130 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700131 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400132 "SKIA_OUT": "[START_DIR]/out"
133 },
Eric Borena1590852017-03-20 12:48:31 -0400134 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500135 "name": "rm /sdcard/revenge_of_the_skiabot/skps"
136 },
137 {
138 "cmd": [
139 "adb",
140 "shell",
141 "mkdir",
142 "-p",
143 "/sdcard/revenge_of_the_skiabot/skps"
144 ],
145 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400146 "env": {
147 "BUILDTYPE": "Debug",
148 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700149 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400150 "SKIA_OUT": "[START_DIR]/out"
151 },
Eric Borena1590852017-03-20 12:48:31 -0400152 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500153 "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
154 },
155 {
156 "cmd": [
157 "python",
158 "-u",
159 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
160 "[START_DIR]/skp",
161 "/sdcard/revenge_of_the_skiabot/skps"
162 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400163 "env": {
164 "BUILDTYPE": "Debug",
165 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700166 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400167 "SKIA_OUT": "[START_DIR]/out"
168 },
Eric Borena1590852017-03-20 12:48:31 -0400169 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500170 "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps",
171 "~followup_annotations": [
172 "@@@STEP_LOG_LINE@python.inline@@@@",
173 "@@@STEP_LOG_LINE@python.inline@import os@@@",
174 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
175 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
176 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
177 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
178 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
179 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
180 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
181 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
182 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
183 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
184 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
185 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
186 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
187 "@@@STEP_LOG_END@python.inline@@@"
188 ]
189 },
190 {
191 "cmd": [
192 "adb",
193 "push",
194 "[START_DIR]/tmp/SKP_VERSION",
195 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
196 ],
197 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400198 "env": {
199 "BUILDTYPE": "Debug",
200 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700201 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400202 "SKIA_OUT": "[START_DIR]/out"
203 },
Eric Borena1590852017-03-20 12:48:31 -0400204 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500205 "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
206 },
207 {
208 "cmd": [
209 "python",
210 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400211 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
212 "--json-output",
213 "/path/to/tmp/json",
214 "copy",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500215 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
216 "/path/to/tmp/"
217 ],
Eric Borena1590852017-03-20 12:48:31 -0400218 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500219 "name": "Get downloaded skimage VERSION"
220 },
221 {
222 "cmd": [
223 "python",
224 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400225 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
226 "--json-output",
227 "/path/to/tmp/json",
228 "copy",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500229 "42",
230 "[START_DIR]/tmp/SK_IMAGE_VERSION"
231 ],
Eric Borena1590852017-03-20 12:48:31 -0400232 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500233 "name": "write SK_IMAGE_VERSION"
234 },
235 {
236 "cmd": [
237 "adb",
238 "shell",
239 "cat",
240 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
241 ],
242 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400243 "env": {
244 "BUILDTYPE": "Debug",
245 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700246 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400247 "SKIA_OUT": "[START_DIR]/out"
248 },
Eric Borena1590852017-03-20 12:48:31 -0400249 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500250 "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
251 "stdout": "/path/to/tmp/"
252 },
253 {
254 "cmd": [
255 "adb",
256 "shell",
257 "rm",
258 "-f",
259 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
260 ],
261 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400262 "env": {
263 "BUILDTYPE": "Debug",
264 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700265 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400266 "SKIA_OUT": "[START_DIR]/out"
267 },
Eric Borena1590852017-03-20 12:48:31 -0400268 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500269 "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
270 },
271 {
272 "cmd": [
273 "adb",
274 "shell",
275 "rm",
276 "-rf",
277 "/sdcard/revenge_of_the_skiabot/images"
278 ],
279 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400280 "env": {
281 "BUILDTYPE": "Debug",
282 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700283 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400284 "SKIA_OUT": "[START_DIR]/out"
285 },
Eric Borena1590852017-03-20 12:48:31 -0400286 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500287 "name": "rm /sdcard/revenge_of_the_skiabot/images"
288 },
289 {
290 "cmd": [
291 "adb",
292 "shell",
293 "mkdir",
294 "-p",
295 "/sdcard/revenge_of_the_skiabot/images"
296 ],
297 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400298 "env": {
299 "BUILDTYPE": "Debug",
300 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700301 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400302 "SKIA_OUT": "[START_DIR]/out"
303 },
Eric Borena1590852017-03-20 12:48:31 -0400304 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500305 "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
306 },
307 {
308 "cmd": [
309 "python",
310 "-u",
311 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
312 "[START_DIR]/skimage",
313 "/sdcard/revenge_of_the_skiabot/images"
314 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400315 "env": {
316 "BUILDTYPE": "Debug",
317 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700318 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400319 "SKIA_OUT": "[START_DIR]/out"
320 },
Eric Borena1590852017-03-20 12:48:31 -0400321 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500322 "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images",
323 "~followup_annotations": [
324 "@@@STEP_LOG_LINE@python.inline@@@@",
325 "@@@STEP_LOG_LINE@python.inline@import os@@@",
326 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
327 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
328 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
329 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
330 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
331 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
332 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
333 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
334 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
335 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
336 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
337 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
338 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
339 "@@@STEP_LOG_END@python.inline@@@"
340 ]
341 },
342 {
343 "cmd": [
344 "adb",
345 "push",
346 "[START_DIR]/tmp/SK_IMAGE_VERSION",
347 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
348 ],
349 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400350 "env": {
351 "BUILDTYPE": "Debug",
352 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700353 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400354 "SKIA_OUT": "[START_DIR]/out"
355 },
Eric Borena1590852017-03-20 12:48:31 -0400356 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500357 "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
358 },
359 {
360 "cmd": [
361 "python",
362 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400363 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
364 "--json-output",
365 "/path/to/tmp/json",
366 "copy",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500367 "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
368 "/path/to/tmp/"
369 ],
Eric Borena1590852017-03-20 12:48:31 -0400370 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500371 "name": "Get downloaded SVG VERSION"
372 },
373 {
374 "cmd": [
375 "python",
376 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400377 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
378 "--json-output",
379 "/path/to/tmp/json",
380 "copy",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500381 "42",
382 "[START_DIR]/tmp/SVG_VERSION"
383 ],
Eric Borena1590852017-03-20 12:48:31 -0400384 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500385 "name": "write SVG_VERSION"
386 },
387 {
388 "cmd": [
389 "adb",
390 "shell",
391 "cat",
392 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
393 ],
394 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400395 "env": {
396 "BUILDTYPE": "Debug",
397 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700398 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400399 "SKIA_OUT": "[START_DIR]/out"
400 },
Eric Borena1590852017-03-20 12:48:31 -0400401 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500402 "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION",
403 "stdout": "/path/to/tmp/"
404 },
405 {
406 "cmd": [
407 "adb",
408 "shell",
409 "rm",
410 "-f",
411 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
412 ],
413 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400414 "env": {
415 "BUILDTYPE": "Debug",
416 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700417 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400418 "SKIA_OUT": "[START_DIR]/out"
419 },
Eric Borena1590852017-03-20 12:48:31 -0400420 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500421 "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION"
422 },
423 {
424 "cmd": [
425 "adb",
426 "shell",
427 "rm",
428 "-rf",
429 "/sdcard/revenge_of_the_skiabot/svgs"
430 ],
431 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400432 "env": {
433 "BUILDTYPE": "Debug",
434 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700435 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400436 "SKIA_OUT": "[START_DIR]/out"
437 },
Eric Borena1590852017-03-20 12:48:31 -0400438 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500439 "name": "rm /sdcard/revenge_of_the_skiabot/svgs"
440 },
441 {
442 "cmd": [
443 "adb",
444 "shell",
445 "mkdir",
446 "-p",
447 "/sdcard/revenge_of_the_skiabot/svgs"
448 ],
449 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400450 "env": {
451 "BUILDTYPE": "Debug",
452 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700453 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400454 "SKIA_OUT": "[START_DIR]/out"
455 },
Eric Borena1590852017-03-20 12:48:31 -0400456 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500457 "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
458 },
459 {
460 "cmd": [
461 "python",
462 "-u",
463 "\nimport os\nimport subprocess\nimport sys\nhost = sys.argv[1]\ndevice = sys.argv[2]\nfor d, _, fs in os.walk(host):\n p = os.path.relpath(d, host)\n if p != '.' and p.startswith('.'):\n continue\n for f in fs:\n print os.path.join(p,f)\n subprocess.check_call(['adb', 'push',\n os.path.realpath(os.path.join(host, p, f)),\n os.path.join(device, p, f)])\n",
464 "[START_DIR]/svg",
465 "/sdcard/revenge_of_the_skiabot/svgs"
466 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400467 "env": {
468 "BUILDTYPE": "Debug",
469 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700470 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400471 "SKIA_OUT": "[START_DIR]/out"
472 },
Eric Borena1590852017-03-20 12:48:31 -0400473 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500474 "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs",
475 "~followup_annotations": [
476 "@@@STEP_LOG_LINE@python.inline@@@@",
477 "@@@STEP_LOG_LINE@python.inline@import os@@@",
478 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
479 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
480 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
481 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
482 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
483 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
484 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
485 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
486 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
487 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
488 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
489 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
490 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
491 "@@@STEP_LOG_END@python.inline@@@"
492 ]
493 },
494 {
495 "cmd": [
496 "adb",
497 "push",
498 "[START_DIR]/tmp/SVG_VERSION",
499 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
500 ],
501 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400502 "env": {
503 "BUILDTYPE": "Debug",
504 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700505 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400506 "SKIA_OUT": "[START_DIR]/out"
507 },
Eric Borena1590852017-03-20 12:48:31 -0400508 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500509 "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
510 },
511 {
512 "cmd": [
513 "python",
514 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400515 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
516 "--json-output",
517 "/path/to/tmp/json",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500518 "rmtree",
519 "[CUSTOM_[SWARM_OUT_DIR]]/dm"
520 ],
Eric Borena1590852017-03-20 12:48:31 -0400521 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500522 "name": "rmtree dm"
523 },
524 {
525 "cmd": [
526 "python",
527 "-u",
Robert Iannucci8cd50412017-07-07 14:36:58 -0700528 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
529 "--json-output",
530 "/path/to/tmp/json",
531 "ensure-directory",
532 "--mode",
533 "0777",
534 "[CUSTOM_[SWARM_OUT_DIR]]/dm"
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500535 ],
Eric Borena1590852017-03-20 12:48:31 -0400536 "infra_step": true,
Robert Iannucci8cd50412017-07-07 14:36:58 -0700537 "name": "makedirs dm"
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500538 },
539 {
540 "cmd": [
541 "adb",
542 "shell",
543 "rm",
544 "-rf",
545 "/sdcard/revenge_of_the_skiabot/dm_out"
546 ],
547 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400548 "env": {
549 "BUILDTYPE": "Debug",
550 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700551 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400552 "SKIA_OUT": "[START_DIR]/out"
553 },
Eric Borena1590852017-03-20 12:48:31 -0400554 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500555 "name": "rm /sdcard/revenge_of_the_skiabot/dm_out"
556 },
557 {
558 "cmd": [
559 "adb",
560 "shell",
561 "mkdir",
562 "-p",
563 "/sdcard/revenge_of_the_skiabot/dm_out"
564 ],
565 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400566 "env": {
567 "BUILDTYPE": "Debug",
568 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700569 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400570 "SKIA_OUT": "[START_DIR]/out"
571 },
Eric Borena1590852017-03-20 12:48:31 -0400572 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500573 "name": "mkdir /sdcard/revenge_of_the_skiabot/dm_out"
574 },
575 {
576 "cmd": [
577 "python",
578 "-u",
Robert Iannucci8cd50412017-07-07 14:36:58 -0700579 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
580 "--json-output",
581 "/path/to/tmp/json",
582 "ensure-directory",
583 "--mode",
584 "0777",
585 "[START_DIR]/tmp"
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500586 ],
Eric Borena1590852017-03-20 12:48:31 -0400587 "infra_step": true,
Robert Iannucci8cd50412017-07-07 14:36:58 -0700588 "name": "makedirs tmp_dir"
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500589 },
590 {
591 "cmd": [
592 "python",
593 "-u",
Stephan Altmuellerc19ebc52017-05-30 16:39:17 -0400594 "\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",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500595 "[START_DIR]/tmp/uninteresting_hashes.txt"
596 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400597 "env": {
598 "BUILDTYPE": "Debug",
599 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700600 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400601 "SKIA_OUT": "[START_DIR]/out"
602 },
Eric Borena1590852017-03-20 12:48:31 -0400603 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500604 "name": "get uninteresting hashes",
605 "~followup_annotations": [
606 "@@@STEP_LOG_LINE@python.inline@@@@",
607 "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
608 "@@@STEP_LOG_LINE@python.inline@import math@@@",
609 "@@@STEP_LOG_LINE@python.inline@import socket@@@",
610 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
611 "@@@STEP_LOG_LINE@python.inline@import time@@@",
612 "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
613 "@@@STEP_LOG_LINE@python.inline@@@@",
Stephan Altmuellerc19ebc52017-05-30 16:39:17 -0400614 "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500615 "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
616 "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
617 "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
618 "@@@STEP_LOG_LINE@python.inline@@@@",
619 "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
620 "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
621 "@@@STEP_LOG_LINE@python.inline@ try:@@@",
622 "@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@",
623 "@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
624 "@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@",
625 "@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[1], 'w') as f:@@@",
626 "@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@",
627 "@@@STEP_LOG_LINE@python.inline@ break@@@",
628 "@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@",
629 "@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
630 "@@@STEP_LOG_LINE@python.inline@ print e@@@",
631 "@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@",
632 "@@@STEP_LOG_LINE@python.inline@ raise@@@",
633 "@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@",
634 "@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@",
635 "@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@",
636 "@@@STEP_LOG_END@python.inline@@@"
637 ]
638 },
639 {
640 "cmd": [
641 "adb",
642 "push",
643 "[START_DIR]/tmp/uninteresting_hashes.txt",
644 "/sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt"
645 ],
646 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400647 "env": {
648 "BUILDTYPE": "Debug",
649 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700650 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400651 "SKIA_OUT": "[START_DIR]/out"
652 },
Eric Borena1590852017-03-20 12:48:31 -0400653 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500654 "name": "push [START_DIR]/tmp/uninteresting_hashes.txt /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt"
655 },
656 {
657 "cmd": [
Eric Borenf9aa9e52017-04-10 09:56:10 -0400658 "python",
659 "-u",
660 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
661 ],
662 "name": "get swarming bot id",
663 "stdout": "/path/to/tmp/",
664 "~followup_annotations": [
665 "@@@STEP_LOG_LINE@python.inline@import os@@@",
666 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
667 "@@@STEP_LOG_END@python.inline@@@"
668 ]
669 },
670 {
671 "cmd": [
672 "python",
673 "-u",
674 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
675 ],
676 "name": "get swarming task id",
677 "stdout": "/path/to/tmp/",
678 "~followup_annotations": [
679 "@@@STEP_LOG_LINE@python.inline@import os@@@",
680 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
681 "@@@STEP_LOG_END@python.inline@@@"
682 ]
683 },
684 {
685 "cmd": [
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500686 "adb",
687 "push",
688 "[START_DIR]/out/Debug/dm",
689 "/data/local/tmp/"
690 ],
691 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400692 "env": {
693 "BUILDTYPE": "Debug",
694 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700695 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400696 "SKIA_OUT": "[START_DIR]/out"
697 },
Eric Borena1590852017-03-20 12:48:31 -0400698 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500699 "name": "push dm"
700 },
701 {
702 "cmd": [
703 "python",
704 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400705 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
706 "--json-output",
707 "/path/to/tmp/json",
708 "copy",
Mike Klein97d6a7a2017-07-24 10:37:19 -0400709 "set -x; /data/local/tmp/dm --undefok --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-GalaxyS6-GPU-MaliT760-arm64-Debug-Android swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm64 compiler Clang configuration Debug cpu_or_gpu GPU cpu_or_gpu_value MaliT760 extra_config Android model GalaxyS6 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --nocpu --dont_write pdf --randomProcessorTest --config 8888 srgb gles glesdft glessrgb glesmsaa4 serialize-8888 tiles_rt-8888 pic-8888 --src tests gm image colorImage svg --blacklist glessrgb image _ _ _ test _ GrShape serialize-8888 gm _ bleed_image serialize-8888 gm _ c_gms serialize-8888 gm _ colortype serialize-8888 gm _ colortype_xfermodes serialize-8888 gm _ drawfilter serialize-8888 gm _ fontmgr_bounds_0.75_0 serialize-8888 gm _ fontmgr_bounds_1_-0.25 serialize-8888 gm _ fontmgr_bounds serialize-8888 gm _ fontmgr_match serialize-8888 gm _ fontmgr_iter serialize-8888 gm _ imagemasksubset serialize-8888 gm _ bitmapfilters serialize-8888 gm _ bitmapshaders serialize-8888 gm _ bleed serialize-8888 gm _ bleed_alpha_bmp serialize-8888 gm _ bleed_alpha_bmp_shader serialize-8888 gm _ convex_poly_clip serialize-8888 gm _ extractalpha serialize-8888 gm _ filterbitmap_checkerboard_32_32_g8 serialize-8888 gm _ filterbitmap_image_mandrill_64 serialize-8888 gm _ shadows serialize-8888 gm _ simpleaaclip_aaclip serialize-8888 gm _ composeshader_bitmap serialize-8888 gm _ scaled_tilemodes_npot serialize-8888 gm _ scaled_tilemodes serialize-8888 gm _ typefacerendering_pfaMac serialize-8888 gm _ parsedpaths serialize-8888 gm _ ImageGeneratorExternal_rect serialize-8888 gm _ ImageGeneratorExternal_shader serialize-8888 gm _ shadow_utils serialize-8888 gm _ makecolorspace serialize-8888 gm _ bleed_alpha_image serialize-8888 gm _ bleed_alpha_image_shader serialize-8888 gm _ verylargebitmap serialize-8888 gm _ verylarge_picture_image pic-8888 gm _ drawfilter pic-8888 gm _ image-cacherator-from-picture serialize-8888 gm _ image-cacherator-from-picture pic-8888 gm _ image-cacherator-from-raster serialize-8888 gm _ image-cacherator-from-raster pic-8888 gm _ image-cacherator-from-ctable serialize-8888 gm _ image-cacherator-from-ctable pic-8888 gm _ gamut serialize-8888 gm _ gamut pic-8888 gm _ complexclip4_bw serialize-8888 gm _ complexclip4_bw pic-8888 gm _ complexclip4_aa serialize-8888 gm _ complexclip4_aa tiles_rt-8888 gm _ complexclip4_bw tiles_rt-8888 gm _ complexclip4_aa _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW --match ~SpecialImage ~skbug6653 --verbose; echo $? >/data/local/tmp/rc",
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500710 "[START_DIR]/tmp/dm.sh"
711 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400712 "env": {
713 "BUILDTYPE": "Debug",
714 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700715 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400716 "SKIA_OUT": "[START_DIR]/out"
717 },
Eric Borena1590852017-03-20 12:48:31 -0400718 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500719 "name": "write dm.sh"
720 },
721 {
722 "cmd": [
723 "adb",
724 "push",
725 "[START_DIR]/tmp/dm.sh",
726 "/data/local/tmp/"
727 ],
728 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400729 "env": {
730 "BUILDTYPE": "Debug",
731 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700732 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400733 "SKIA_OUT": "[START_DIR]/out"
734 },
Eric Borena1590852017-03-20 12:48:31 -0400735 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500736 "name": "push dm.sh"
737 },
738 {
739 "cmd": [
740 "adb",
741 "logcat",
742 "-c"
743 ],
744 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400745 "env": {
746 "BUILDTYPE": "Debug",
747 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700748 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400749 "SKIA_OUT": "[START_DIR]/out"
750 },
Eric Borena1590852017-03-20 12:48:31 -0400751 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500752 "name": "clear log"
753 },
754 {
755 "cmd": [
756 "python",
757 "-u",
758 "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',\n bin_dir + 'rc'])))\nexcept ValueError:\n print \"Couldn't read the return code. Probably killed for OOM.\"\n sys.exit(1)\n",
759 "/data/local/tmp/",
760 "dm.sh"
761 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400762 "env": {
763 "BUILDTYPE": "Debug",
764 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700765 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400766 "SKIA_OUT": "[START_DIR]/out"
767 },
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500768 "name": "dm",
769 "~followup_annotations": [
770 "@@@STEP_LOG_LINE@python.inline@@@@",
771 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
772 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
773 "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
774 "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@",
775 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['adb', 'shell', 'sh', bin_dir + sh])@@@",
776 "@@@STEP_LOG_LINE@python.inline@try:@@@",
777 "@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['adb', 'shell', 'cat',@@@",
778 "@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@",
779 "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
780 "@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@",
781 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@",
782 "@@@STEP_LOG_END@python.inline@@@"
783 ]
784 },
785 {
786 "cmd": [
787 "adb",
788 "pull",
789 "/sdcard/revenge_of_the_skiabot/dm_out",
790 "[CUSTOM_[SWARM_OUT_DIR]]/dm"
791 ],
792 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400793 "env": {
794 "BUILDTYPE": "Debug",
795 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700796 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400797 "SKIA_OUT": "[START_DIR]/out"
798 },
Eric Borena1590852017-03-20 12:48:31 -0400799 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500800 "name": "pull /sdcard/revenge_of_the_skiabot/dm_out [CUSTOM_[SWARM_OUT_DIR]]/dm"
801 },
802 {
803 "cmd": [
804 "python",
805 "-u",
806 "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['adb', 'logcat', '-d'])\nfor line in log.split('\\n'):\n tokens = line.split()\n if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':\n addr, path = tokens[-2:]\n local = os.path.join(out, os.path.basename(path))\n if os.path.exists(local):\n sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])\n line = line.replace(addr, addr + ' ' + sym.strip())\n print line\n",
807 "[START_DIR]/out/Debug"
808 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400809 "env": {
810 "BUILDTYPE": "Debug",
811 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700812 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400813 "SKIA_OUT": "[START_DIR]/out"
814 },
Eric Borena1590852017-03-20 12:48:31 -0400815 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500816 "name": "dump log",
817 "~followup_annotations": [
818 "@@@STEP_LOG_LINE@python.inline@@@@",
819 "@@@STEP_LOG_LINE@python.inline@import os@@@",
820 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
821 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
822 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
823 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@",
824 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
825 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
826 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
827 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
828 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
829 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
830 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
831 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
832 "@@@STEP_LOG_LINE@python.inline@ print line@@@",
833 "@@@STEP_LOG_END@python.inline@@@"
834 ]
835 },
836 {
837 "cmd": [
838 "adb",
839 "kill-server"
840 ],
841 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400842 "env": {
843 "BUILDTYPE": "Debug",
844 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700845 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Eric Borenbbb24f22017-03-21 08:20:33 -0400846 "SKIA_OUT": "[START_DIR]/out"
847 },
Eric Borena1590852017-03-20 12:48:31 -0400848 "infra_step": true,
Ben Wagnerb4dc5492017-03-07 16:41:43 -0500849 "name": "kill adb server"
850 },
851 {
852 "name": "$result",
853 "recipe_result": null,
854 "status_code": 0
855 }
856]