• 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      "vk",
235      "-v5",
236      "--adb",
237      "--adb_binary",
238      "adb.1.0.35",
239      "/sdcard/revenge_of_the_skiabot/skps"
240    ],
241    "env": {
242      "CHROME_HEADLESS": "1",
243      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
244    },
245    "name": "skpbench"
246  },
247  {
248    "cmd": [
249      "python",
250      "-u",
251      "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
252    ],
253    "name": "get swarming task id",
254    "~followup_annotations": [
255      "@@@STEP_LOG_LINE@python.inline@import os@@@",
256      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
257      "@@@STEP_LOG_END@python.inline@@@"
258    ]
259  },
260  {
261    "cmd": [
262      "python",
263      "-u",
264      "[START_DIR]/skia/tools/skpbench/skiaperf.py",
265      "[START_DIR]/[SWARM_OUT_DIR]/table",
266      "--properties",
267      "gitHash",
268      "abc123",
269      "issue",
270      "456789",
271      "patchset",
272      "12",
273      "patch_storage",
274      "gerrit",
275      "swarming_bot_id",
276      "skia-bot-123",
277      "swarming_task_id",
278      "123456",
279      "--outfile",
280      "[START_DIR]/[SWARM_OUT_DIR]/skpbench_abc123_1337000001.json",
281      "--key",
282      "arch",
283      "arm64",
284      "compiler",
285      "Clang",
286      "cpu_or_gpu",
287      "GPU",
288      "cpu_or_gpu_value",
289      "Adreno540",
290      "extra_config",
291      "Android_Vulkan_Skpbench",
292      "model",
293      "Pixel2XL",
294      "os",
295      "Android",
296      "test_filter",
297      "All"
298    ],
299    "env": {
300      "CHROME_HEADLESS": "1",
301      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
302    },
303    "name": "Parse skpbench output into Perf json"
304  },
305  {
306    "cmd": [
307      "python",
308      "-u",
309      "\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",
310      "[START_DIR]/build"
311    ],
312    "env": {
313      "CHROME_HEADLESS": "1",
314      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
315    },
316    "infra_step": true,
317    "name": "dump log",
318    "timeout": 300,
319    "~followup_annotations": [
320      "@@@STEP_LOG_LINE@python.inline@@@@",
321      "@@@STEP_LOG_LINE@python.inline@import os@@@",
322      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
323      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
324      "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
325      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@",
326      "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
327      "@@@STEP_LOG_LINE@python.inline@  tokens = line.split()@@@",
328      "@@@STEP_LOG_LINE@python.inline@  if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
329      "@@@STEP_LOG_LINE@python.inline@    addr, path = tokens[-2:]@@@",
330      "@@@STEP_LOG_LINE@python.inline@    local = os.path.join(out, os.path.basename(path))@@@",
331      "@@@STEP_LOG_LINE@python.inline@    if os.path.exists(local):@@@",
332      "@@@STEP_LOG_LINE@python.inline@      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
333      "@@@STEP_LOG_LINE@python.inline@      line = line.replace(addr, addr + ' ' + sym.strip())@@@",
334      "@@@STEP_LOG_LINE@python.inline@  print line@@@",
335      "@@@STEP_LOG_END@python.inline@@@"
336    ]
337  },
338  {
339    "cmd": [
340      "/usr/bin/adb.1.0.35",
341      "kill-server"
342    ],
343    "cwd": "[START_DIR]/skia",
344    "env": {
345      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
346      "CHROME_HEADLESS": "1",
347      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
348    },
349    "infra_step": true,
350    "name": "kill adb server"
351  },
352  {
353    "name": "$result"
354  }
355]