• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
22    ],
23    "name": "get swarming bot id",
24    "~followup_annotations": [
25      "@@@STEP_LOG_LINE@python.inline@import os@@@",
26      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
27      "@@@STEP_LOG_END@python.inline@@@"
28    ]
29  },
30  {
31    "cmd": [
32      "/usr/bin/adb.1.0.35",
33      "shell",
34      "mkdir",
35      "-p",
36      "/sdcard/revenge_of_the_skiabot/resources"
37    ],
38    "cwd": "[START_DIR]/skia",
39    "env": {
40      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
41      "CHROME_HEADLESS": "1",
42      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
43    },
44    "infra_step": true,
45    "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
46  },
47  {
48    "cmd": [
49      "python",
50      "-u",
51      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
52      "--json-output",
53      "/path/to/tmp/json",
54      "copy",
55      "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
56      "/path/to/tmp/"
57    ],
58    "infra_step": true,
59    "name": "Get skp VERSION"
60  },
61  {
62    "cmd": [
63      "python",
64      "-u",
65      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
66      "--json-output",
67      "/path/to/tmp/json",
68      "copy",
69      "42",
70      "[START_DIR]/tmp/SKP_VERSION"
71    ],
72    "infra_step": true,
73    "name": "write SKP_VERSION",
74    "~followup_annotations": [
75      "@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
76      "@@@STEP_LOG_END@SKP_VERSION@@@"
77    ]
78  },
79  {
80    "cmd": [
81      "/usr/bin/adb.1.0.35",
82      "shell",
83      "cat",
84      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
85    ],
86    "cwd": "[START_DIR]/skia",
87    "env": {
88      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
89      "CHROME_HEADLESS": "1",
90      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
91    },
92    "infra_step": true,
93    "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION"
94  },
95  {
96    "cmd": [
97      "/usr/bin/adb.1.0.35",
98      "shell",
99      "rm",
100      "-f",
101      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
102    ],
103    "cwd": "[START_DIR]/skia",
104    "env": {
105      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
106      "CHROME_HEADLESS": "1",
107      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
108    },
109    "infra_step": true,
110    "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
111  },
112  {
113    "cmd": [
114      "/usr/bin/adb.1.0.35",
115      "shell",
116      "rm",
117      "-rf",
118      "/sdcard/revenge_of_the_skiabot/skps"
119    ],
120    "cwd": "[START_DIR]/skia",
121    "env": {
122      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
123      "CHROME_HEADLESS": "1",
124      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
125    },
126    "infra_step": true,
127    "name": "rm /sdcard/revenge_of_the_skiabot/skps"
128  },
129  {
130    "cmd": [
131      "/usr/bin/adb.1.0.35",
132      "shell",
133      "mkdir",
134      "-p",
135      "/sdcard/revenge_of_the_skiabot/skps"
136    ],
137    "cwd": "[START_DIR]/skia",
138    "env": {
139      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
140      "CHROME_HEADLESS": "1",
141      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
142    },
143    "infra_step": true,
144    "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
145  },
146  {
147    "cmd": [
148      "python",
149      "-u",
150      "\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(['/usr/bin/adb.1.0.35', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
151      "[START_DIR]/skp",
152      "/sdcard/revenge_of_the_skiabot/skps"
153    ],
154    "env": {
155      "CHROME_HEADLESS": "1",
156      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
157    },
158    "infra_step": true,
159    "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps",
160    "~followup_annotations": [
161      "@@@STEP_LOG_LINE@python.inline@@@@",
162      "@@@STEP_LOG_LINE@python.inline@import os@@@",
163      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
164      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
165      "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
166      "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
167      "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
168      "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
169      "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
170      "@@@STEP_LOG_LINE@python.inline@    continue@@@",
171      "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
172      "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
173      "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
174      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
175      "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
176      "@@@STEP_LOG_END@python.inline@@@"
177    ]
178  },
179  {
180    "cmd": [
181      "/usr/bin/adb.1.0.35",
182      "push",
183      "[START_DIR]/tmp/SKP_VERSION",
184      "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
185    ],
186    "cwd": "[START_DIR]/skia",
187    "env": {
188      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
189      "CHROME_HEADLESS": "1",
190      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
191    },
192    "infra_step": true,
193    "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
194  },
195  {
196    "cmd": [
197      "python",
198      "-u",
199      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
200      "--json-output",
201      "/path/to/tmp/json",
202      "ensure-directory",
203      "--mode",
204      "0777",
205      "[START_DIR]/[SWARM_OUT_DIR]"
206    ],
207    "infra_step": true,
208    "name": "makedirs perf_dir"
209  },
210  {
211    "cmd": [
212      "adb.1.0.35",
213      "push",
214      "[START_DIR]/build/skpbench",
215      "/data/local/tmp/"
216    ],
217    "cwd": "[START_DIR]/skia",
218    "env": {
219      "CHROME_HEADLESS": "1",
220      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
221    },
222    "infra_step": true,
223    "name": "push skpbench"
224  },
225  {
226    "cmd": [
227      "python",
228      "-u",
229      "[START_DIR]/skia/tools/skpbench/skpbench.py",
230      "/data/local/tmp/skpbench",
231      "--resultsfile",
232      "[START_DIR]/[SWARM_OUT_DIR]/table",
233      "--config",
234      "gles",
235      "-v5",
236      "--adb",
237      "--adb_binary",
238      "adb.1.0.35",
239      "--pr",
240      "ccpr",
241      "--cc",
242      "--nocache",
243      "/sdcard/revenge_of_the_skiabot/skps/desk_*svg.skp",
244      "/sdcard/revenge_of_the_skiabot/skps/desk_chalkboard.skp"
245    ],
246    "env": {
247      "CHROME_HEADLESS": "1",
248      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
249    },
250    "name": "skpbench"
251  },
252  {
253    "cmd": [
254      "python",
255      "-u",
256      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
257    ],
258    "name": "get swarming task id",
259    "~followup_annotations": [
260      "@@@STEP_LOG_LINE@python.inline@import os@@@",
261      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
262      "@@@STEP_LOG_END@python.inline@@@"
263    ]
264  },
265  {
266    "cmd": [
267      "python",
268      "-u",
269      "[START_DIR]/skia/tools/skpbench/skiaperf.py",
270      "[START_DIR]/[SWARM_OUT_DIR]/table",
271      "--properties",
272      "gitHash",
273      "abc123",
274      "swarming_bot_id",
275      "skia-bot-123",
276      "swarming_task_id",
277      "123456",
278      "--outfile",
279      "[START_DIR]/[SWARM_OUT_DIR]/skpbench_abc123_1337000001.json",
280      "--key",
281      "arch",
282      "arm64",
283      "compiler",
284      "Clang",
285      "cpu_or_gpu",
286      "GPU",
287      "cpu_or_gpu_value",
288      "Adreno530",
289      "extra_config",
290      "Android_CCPR_Skpbench",
291      "model",
292      "Pixel",
293      "os",
294      "Android",
295      "test_filter",
296      "All"
297    ],
298    "env": {
299      "CHROME_HEADLESS": "1",
300      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
301    },
302    "name": "Parse skpbench output into Perf json"
303  },
304  {
305    "cmd": [
306      "python",
307      "-u",
308      "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/usr/bin/adb.1.0.35', '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",
309      "[START_DIR]/build"
310    ],
311    "env": {
312      "CHROME_HEADLESS": "1",
313      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
314    },
315    "infra_step": true,
316    "name": "dump log",
317    "timeout": 300,
318    "~followup_annotations": [
319      "@@@STEP_LOG_LINE@python.inline@@@@",
320      "@@@STEP_LOG_LINE@python.inline@import os@@@",
321      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
322      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
323      "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
324      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@",
325      "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
326      "@@@STEP_LOG_LINE@python.inline@  tokens = line.split()@@@",
327      "@@@STEP_LOG_LINE@python.inline@  if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
328      "@@@STEP_LOG_LINE@python.inline@    addr, path = tokens[-2:]@@@",
329      "@@@STEP_LOG_LINE@python.inline@    local = os.path.join(out, os.path.basename(path))@@@",
330      "@@@STEP_LOG_LINE@python.inline@    if os.path.exists(local):@@@",
331      "@@@STEP_LOG_LINE@python.inline@      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
332      "@@@STEP_LOG_LINE@python.inline@      line = line.replace(addr, addr + ' ' + sym.strip())@@@",
333      "@@@STEP_LOG_LINE@python.inline@  print line@@@",
334      "@@@STEP_LOG_END@python.inline@@@"
335    ]
336  },
337  {
338    "cmd": [
339      "/usr/bin/adb.1.0.35",
340      "kill-server"
341    ],
342    "cwd": "[START_DIR]/skia",
343    "env": {
344      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
345      "CHROME_HEADLESS": "1",
346      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
347    },
348    "infra_step": true,
349    "name": "kill adb server"
350  },
351  {
352    "name": "$result"
353  }
354]