blob: f8dc89cc5fb0de765f95931bb5327c2b0d341799 [file] [log] [blame]
Kevin Lubick291547d2017-03-21 09:25:34 -04001[
2 {
3 "cmd": [
4 "python",
5 "-u",
6 "\nimport os\nCHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')\nwith open(CHROMECAST_IP_FILE, 'r') as f:\n print f.read()\n"
7 ],
8 "env": {
9 "BUILDTYPE": "Debug",
10 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070011 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -040012 "SKIA_OUT": "[START_DIR]/out"
13 },
14 "infra_step": true,
15 "name": "read chromecast ip",
16 "stdout": "/path/to/tmp/",
17 "~followup_annotations": [
18 "@@@STEP_LOG_LINE@python.inline@@@@",
19 "@@@STEP_LOG_LINE@python.inline@import os@@@",
20 "@@@STEP_LOG_LINE@python.inline@CHROMECAST_IP_FILE = os.path.expanduser('~/chromecast.txt')@@@",
21 "@@@STEP_LOG_LINE@python.inline@with open(CHROMECAST_IP_FILE, 'r') as f:@@@",
22 "@@@STEP_LOG_LINE@python.inline@ print f.read()@@@",
23 "@@@STEP_LOG_END@python.inline@@@"
24 ]
25 },
26 {
27 "cmd": [
28 "adb",
29 "connect",
30 "192.168.1.2:5555"
31 ],
32 "env": {
33 "BUILDTYPE": "Debug",
34 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070035 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -040036 "SKIA_OUT": "[START_DIR]/out"
37 },
38 "infra_step": true,
39 "name": "adb connect 192.168.1.2:5555"
40 },
41 {
42 "cmd": [
43 "adb",
44 "shell",
45 "mkdir",
46 "-p",
47 "/cache/skia/resources"
48 ],
49 "cwd": "[START_DIR]/skia",
50 "env": {
51 "BUILDTYPE": "Debug",
52 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070053 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -040054 "SKIA_OUT": "[START_DIR]/out"
55 },
56 "infra_step": true,
57 "name": "mkdir /cache/skia/resources"
58 },
59 {
60 "cmd": [
61 "python",
62 "-u",
63 "\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 hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
64 "[START_DIR]/skia/resources",
65 "/cache/skia/resources"
66 ],
67 "env": {
68 "BUILDTYPE": "Debug",
69 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -070070 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -040071 "SKIA_OUT": "[START_DIR]/out"
72 },
73 "infra_step": true,
74 "name": "push [START_DIR]/skia/resources/* /cache/skia/resources",
75 "~followup_annotations": [
76 "@@@STEP_LOG_LINE@python.inline@@@@",
77 "@@@STEP_LOG_LINE@python.inline@import os@@@",
78 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
79 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
80 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
81 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
82 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
83 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
84 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
85 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
86 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
87 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
88 "@@@STEP_LOG_LINE@python.inline@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
89 "@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
90 "@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
91 "@@@STEP_LOG_LINE@python.inline@ else:@@@",
92 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
93 "@@@STEP_LOG_LINE@python.inline@ hp, os.path.join(device, p, f)])@@@",
94 "@@@STEP_LOG_END@python.inline@@@"
95 ]
96 },
97 {
98 "cmd": [
99 "python",
100 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400101 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
102 "--json-output",
103 "/path/to/tmp/json",
104 "copy",
Kevin Lubick291547d2017-03-21 09:25:34 -0400105 "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
106 "/path/to/tmp/"
107 ],
108 "infra_step": true,
109 "name": "Get downloaded SKP VERSION"
110 },
111 {
112 "cmd": [
113 "python",
114 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400115 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
116 "--json-output",
117 "/path/to/tmp/json",
118 "copy",
Kevin Lubick291547d2017-03-21 09:25:34 -0400119 "42",
120 "[START_DIR]/tmp/SKP_VERSION"
121 ],
122 "infra_step": true,
123 "name": "write SKP_VERSION"
124 },
125 {
126 "cmd": [
127 "adb",
128 "shell",
129 "cat",
130 "/cache/skia/SKP_VERSION"
131 ],
132 "cwd": "[START_DIR]/skia",
133 "env": {
134 "BUILDTYPE": "Debug",
135 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700136 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400137 "SKIA_OUT": "[START_DIR]/out"
138 },
139 "infra_step": true,
140 "name": "read /cache/skia/SKP_VERSION",
141 "stdout": "/path/to/tmp/"
142 },
143 {
144 "cmd": [
145 "adb",
146 "shell",
147 "rm",
148 "-f",
149 "/cache/skia/SKP_VERSION"
150 ],
151 "cwd": "[START_DIR]/skia",
152 "env": {
153 "BUILDTYPE": "Debug",
154 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700155 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400156 "SKIA_OUT": "[START_DIR]/out"
157 },
158 "infra_step": true,
159 "name": "rm /cache/skia/SKP_VERSION"
160 },
161 {
162 "cmd": [
163 "adb",
164 "shell",
165 "rm",
166 "-r",
167 "/cache/skia/skps"
168 ],
169 "cwd": "[START_DIR]/skia",
170 "env": {
171 "BUILDTYPE": "Debug",
172 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700173 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400174 "SKIA_OUT": "[START_DIR]/out"
175 },
176 "infra_step": true,
177 "name": "rm /cache/skia/skps"
178 },
179 {
180 "cmd": [
181 "adb",
182 "shell",
183 "mkdir",
184 "-p",
185 "/cache/skia/skps"
186 ],
187 "cwd": "[START_DIR]/skia",
188 "env": {
189 "BUILDTYPE": "Debug",
190 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700191 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400192 "SKIA_OUT": "[START_DIR]/out"
193 },
194 "infra_step": true,
195 "name": "mkdir /cache/skia/skps"
196 },
197 {
198 "cmd": [
199 "python",
200 "-u",
201 "\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 hp = os.path.realpath(os.path.join(host, p, f))\n if os.stat(hp).st_size > (3 * 1024 * 1024):\n print \"Skipping because it is too big\"\n else:\n subprocess.check_call(['adb', 'push',\n hp, os.path.join(device, p, f)])\n",
202 "[START_DIR]/skp",
203 "/cache/skia/skps"
204 ],
205 "env": {
206 "BUILDTYPE": "Debug",
207 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700208 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400209 "SKIA_OUT": "[START_DIR]/out"
210 },
211 "infra_step": true,
212 "name": "push [START_DIR]/skp/* /cache/skia/skps",
213 "~followup_annotations": [
214 "@@@STEP_LOG_LINE@python.inline@@@@",
215 "@@@STEP_LOG_LINE@python.inline@import os@@@",
216 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
217 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
218 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
219 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
220 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
221 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
222 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
223 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
224 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
225 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
226 "@@@STEP_LOG_LINE@python.inline@ hp = os.path.realpath(os.path.join(host, p, f))@@@",
227 "@@@STEP_LOG_LINE@python.inline@ if os.stat(hp).st_size > (3 * 1024 * 1024):@@@",
228 "@@@STEP_LOG_LINE@python.inline@ print \"Skipping because it is too big\"@@@",
229 "@@@STEP_LOG_LINE@python.inline@ else:@@@",
230 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['adb', 'push',@@@",
231 "@@@STEP_LOG_LINE@python.inline@ hp, os.path.join(device, p, f)])@@@",
232 "@@@STEP_LOG_END@python.inline@@@"
233 ]
234 },
235 {
236 "cmd": [
237 "adb",
238 "push",
239 "[START_DIR]/tmp/SKP_VERSION",
240 "/cache/skia/SKP_VERSION"
241 ],
242 "cwd": "[START_DIR]/skia",
243 "env": {
244 "BUILDTYPE": "Debug",
245 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700246 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400247 "SKIA_OUT": "[START_DIR]/out"
248 },
249 "infra_step": true,
250 "name": "push [START_DIR]/tmp/SKP_VERSION /cache/skia/SKP_VERSION"
251 },
252 {
253 "cmd": [
Eric Borenf9aa9e52017-04-10 09:56:10 -0400254 "python",
255 "-u",
256 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
257 ],
258 "name": "get swarming bot id",
259 "stdout": "/path/to/tmp/",
260 "~followup_annotations": [
261 "@@@STEP_LOG_LINE@python.inline@import os@@@",
262 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
263 "@@@STEP_LOG_END@python.inline@@@"
264 ]
265 },
266 {
267 "cmd": [
268 "python",
269 "-u",
270 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
271 ],
272 "name": "get swarming task id",
273 "stdout": "/path/to/tmp/",
274 "~followup_annotations": [
275 "@@@STEP_LOG_LINE@python.inline@import os@@@",
276 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
277 "@@@STEP_LOG_END@python.inline@@@"
278 ]
279 },
280 {
281 "cmd": [
Kevin Lubick291547d2017-03-21 09:25:34 -0400282 "adb",
283 "push",
284 "[START_DIR]/out/Debug/nanobench",
285 "/cache/skia/"
286 ],
287 "cwd": "[START_DIR]/skia",
288 "env": {
289 "BUILDTYPE": "Debug",
290 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700291 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400292 "SKIA_OUT": "[START_DIR]/out"
293 },
294 "infra_step": true,
295 "name": "push nanobench"
296 },
297 {
298 "cmd": [
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400299 "ssh",
300 "-oConnectTimeout=15",
301 "-oBatchMode=yes",
302 "-t",
303 "-t",
304 "root@192.168.1.2",
305 "/cache/skia/nanobench",
306 "--config",
Kevin Lubickb6d09b72017-06-15 15:21:17 -0400307 "8888",
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400308 "gles",
Kevin Lubickb6d09b72017-06-15 15:21:17 -0400309 "--nogpu",
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400310 "-i",
311 "/cache/skia/resources",
312 "--images",
313 "/cache/skia/resources/color_wheel.jpg",
Kevin Lubickc78a2d72017-06-01 15:51:06 -0400314 "--skps",
315 "/cache/skia/skps",
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400316 "--pre_log",
317 "--match",
318 "~matrixconvolution",
319 "~blur_image_filter",
320 "~blur_0.01",
321 "~GM_animated-image-blurs"
Kevin Lubick291547d2017-03-21 09:25:34 -0400322 ],
323 "env": {
324 "BUILDTYPE": "Debug",
325 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700326 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400327 "SKIA_OUT": "[START_DIR]/out"
328 },
Kevin Lubick8692b4a2017-06-01 15:49:41 -0400329 "name": "nanobench"
Kevin Lubick291547d2017-03-21 09:25:34 -0400330 },
331 {
332 "cmd": [
333 "python",
334 "-u",
335 "\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",
336 "[START_DIR]/out/Debug"
337 ],
338 "env": {
339 "BUILDTYPE": "Debug",
340 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700341 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400342 "SKIA_OUT": "[START_DIR]/out"
343 },
344 "infra_step": true,
345 "name": "dump log",
346 "~followup_annotations": [
347 "@@@STEP_LOG_LINE@python.inline@@@@",
348 "@@@STEP_LOG_LINE@python.inline@import os@@@",
349 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
350 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
351 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
352 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@",
353 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
354 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
355 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
356 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
357 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
358 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
359 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
360 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
361 "@@@STEP_LOG_LINE@python.inline@ print line@@@",
362 "@@@STEP_LOG_END@python.inline@@@"
363 ]
364 },
365 {
366 "cmd": [
367 "adb",
368 "kill-server"
369 ],
370 "cwd": "[START_DIR]/skia",
371 "env": {
372 "BUILDTYPE": "Debug",
373 "CHROME_HEADLESS": "1",
recipe-rollere0f7e162017-05-31 16:13:27 -0700374 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
Kevin Lubick291547d2017-03-21 09:25:34 -0400375 "SKIA_OUT": "[START_DIR]/out"
376 },
377 "infra_step": true,
378 "name": "kill adb server"
379 },
380 {
381 "name": "$result",
382 "recipe_result": null,
383 "status_code": 0
384 }
385]