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