blob: fc4666a75024fc3b603789fbe3855fa55d40fa16 [file] [log] [blame]
Eric Boren7e97dc02017-02-02 09:02:37 -05001[
2 {
3 "cmd": [
Eric Borenb7023162018-05-04 13:46:15 -04004 "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": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -050019 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -050020 "shell",
21 "mkdir",
22 "-p",
23 "/sdcard/revenge_of_the_skiabot/resources"
24 ],
25 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -040026 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -040027 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -040028 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -040029 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -040030 },
Eric Borena1590852017-03-20 12:48:31 -040031 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -050032 "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
33 },
34 {
35 "cmd": [
36 "python",
37 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -050038 "\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",
Eric Boren7e97dc02017-02-02 09:02:37 -050039 "[START_DIR]/skia/resources",
40 "/sdcard/revenge_of_the_skiabot/resources"
41 ],
Eric Borenbbb24f22017-03-21 08:20:33 -040042 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -040043 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -040044 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -040045 },
Eric Borena1590852017-03-20 12:48:31 -040046 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -050047 "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources",
48 "~followup_annotations": [
49 "@@@STEP_LOG_LINE@python.inline@@@@",
50 "@@@STEP_LOG_LINE@python.inline@import os@@@",
51 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
52 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
53 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
54 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
55 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
56 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
57 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
58 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
59 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
60 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -050061 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -050062 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
63 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
64 "@@@STEP_LOG_END@python.inline@@@"
65 ]
66 },
67 {
68 "cmd": [
69 "python",
70 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -040071 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
72 "--json-output",
73 "/path/to/tmp/json",
74 "copy",
Eric Boren7e97dc02017-02-02 09:02:37 -050075 "[START_DIR]/skia/infra/bots/assets/skp/VERSION",
76 "/path/to/tmp/"
77 ],
Eric Borena1590852017-03-20 12:48:31 -040078 "infra_step": true,
Ben Wagnerf20710e2018-03-19 16:52:37 -040079 "name": "Get skp VERSION"
Eric Boren7e97dc02017-02-02 09:02:37 -050080 },
81 {
82 "cmd": [
83 "python",
84 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -040085 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
86 "--json-output",
87 "/path/to/tmp/json",
88 "copy",
Eric Boren7e97dc02017-02-02 09:02:37 -050089 "42",
90 "[START_DIR]/tmp/SKP_VERSION"
91 ],
Eric Borena1590852017-03-20 12:48:31 -040092 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -050093 "name": "write SKP_VERSION"
94 },
95 {
96 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -050097 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -050098 "shell",
99 "cat",
100 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
101 ],
102 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400103 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400104 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400105 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400106 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400107 },
Eric Borena1590852017-03-20 12:48:31 -0400108 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500109 "name": "read /sdcard/revenge_of_the_skiabot/SKP_VERSION",
110 "stdout": "/path/to/tmp/"
111 },
112 {
113 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500114 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500115 "shell",
116 "rm",
117 "-f",
118 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
119 ],
120 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400121 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400122 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400123 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400124 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400125 },
Eric Borena1590852017-03-20 12:48:31 -0400126 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500127 "name": "rm /sdcard/revenge_of_the_skiabot/SKP_VERSION"
128 },
129 {
130 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500131 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500132 "shell",
133 "rm",
134 "-rf",
135 "/sdcard/revenge_of_the_skiabot/skps"
136 ],
137 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400138 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400139 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400140 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400141 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400142 },
Eric Borena1590852017-03-20 12:48:31 -0400143 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500144 "name": "rm /sdcard/revenge_of_the_skiabot/skps"
145 },
146 {
147 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500148 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500149 "shell",
150 "mkdir",
151 "-p",
152 "/sdcard/revenge_of_the_skiabot/skps"
153 ],
154 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400155 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400156 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400157 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400158 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400159 },
Eric Borena1590852017-03-20 12:48:31 -0400160 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500161 "name": "mkdir /sdcard/revenge_of_the_skiabot/skps"
162 },
163 {
164 "cmd": [
165 "python",
166 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500167 "\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",
Eric Boren7e97dc02017-02-02 09:02:37 -0500168 "[START_DIR]/skp",
169 "/sdcard/revenge_of_the_skiabot/skps"
170 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400171 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400172 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400173 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400174 },
Eric Borena1590852017-03-20 12:48:31 -0400175 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500176 "name": "push [START_DIR]/skp/* /sdcard/revenge_of_the_skiabot/skps",
177 "~followup_annotations": [
178 "@@@STEP_LOG_LINE@python.inline@@@@",
179 "@@@STEP_LOG_LINE@python.inline@import os@@@",
180 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
181 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
182 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
183 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
184 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
185 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
186 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
187 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
188 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
189 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500190 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500191 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
192 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
193 "@@@STEP_LOG_END@python.inline@@@"
194 ]
195 },
196 {
197 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500198 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500199 "push",
200 "[START_DIR]/tmp/SKP_VERSION",
201 "/sdcard/revenge_of_the_skiabot/SKP_VERSION"
202 ],
203 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400204 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400205 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400206 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400207 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400208 },
Eric Borena1590852017-03-20 12:48:31 -0400209 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500210 "name": "push [START_DIR]/tmp/SKP_VERSION /sdcard/revenge_of_the_skiabot/SKP_VERSION"
211 },
212 {
213 "cmd": [
214 "python",
215 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400216 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
217 "--json-output",
218 "/path/to/tmp/json",
219 "copy",
Eric Boren7e97dc02017-02-02 09:02:37 -0500220 "[START_DIR]/skia/infra/bots/assets/skimage/VERSION",
221 "/path/to/tmp/"
222 ],
Eric Borena1590852017-03-20 12:48:31 -0400223 "infra_step": true,
Ben Wagnerf20710e2018-03-19 16:52:37 -0400224 "name": "Get skimage VERSION"
Eric Boren7e97dc02017-02-02 09:02:37 -0500225 },
226 {
227 "cmd": [
228 "python",
229 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400230 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
231 "--json-output",
232 "/path/to/tmp/json",
233 "copy",
Eric Boren7e97dc02017-02-02 09:02:37 -0500234 "42",
235 "[START_DIR]/tmp/SK_IMAGE_VERSION"
236 ],
Eric Borena1590852017-03-20 12:48:31 -0400237 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500238 "name": "write SK_IMAGE_VERSION"
239 },
240 {
241 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500242 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500243 "shell",
244 "cat",
245 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
246 ],
247 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400248 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400249 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400250 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400251 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400252 },
Eric Borena1590852017-03-20 12:48:31 -0400253 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500254 "name": "read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION",
255 "stdout": "/path/to/tmp/"
256 },
257 {
258 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500259 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500260 "shell",
261 "rm",
262 "-f",
263 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
264 ],
265 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400266 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400267 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400268 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400269 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400270 },
Eric Borena1590852017-03-20 12:48:31 -0400271 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500272 "name": "rm /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
273 },
274 {
275 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500276 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500277 "shell",
278 "rm",
279 "-rf",
280 "/sdcard/revenge_of_the_skiabot/images"
281 ],
282 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400283 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400284 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400285 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400286 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400287 },
Eric Borena1590852017-03-20 12:48:31 -0400288 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500289 "name": "rm /sdcard/revenge_of_the_skiabot/images"
290 },
291 {
292 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500293 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500294 "shell",
295 "mkdir",
296 "-p",
297 "/sdcard/revenge_of_the_skiabot/images"
298 ],
299 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400300 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400301 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400302 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400303 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400304 },
Eric Borena1590852017-03-20 12:48:31 -0400305 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500306 "name": "mkdir /sdcard/revenge_of_the_skiabot/images"
307 },
308 {
309 "cmd": [
310 "python",
311 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500312 "\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",
Eric Boren7e97dc02017-02-02 09:02:37 -0500313 "[START_DIR]/skimage",
314 "/sdcard/revenge_of_the_skiabot/images"
315 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400316 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400317 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400318 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400319 },
Eric Borena1590852017-03-20 12:48:31 -0400320 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500321 "name": "push [START_DIR]/skimage/* /sdcard/revenge_of_the_skiabot/images",
322 "~followup_annotations": [
323 "@@@STEP_LOG_LINE@python.inline@@@@",
324 "@@@STEP_LOG_LINE@python.inline@import os@@@",
325 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
326 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
327 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
328 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
329 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
330 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
331 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
332 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
333 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
334 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500335 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500336 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
337 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
338 "@@@STEP_LOG_END@python.inline@@@"
339 ]
340 },
341 {
342 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500343 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500344 "push",
345 "[START_DIR]/tmp/SK_IMAGE_VERSION",
346 "/sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
347 ],
348 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400349 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400350 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400351 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400352 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400353 },
Eric Borena1590852017-03-20 12:48:31 -0400354 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500355 "name": "push [START_DIR]/tmp/SK_IMAGE_VERSION /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION"
356 },
357 {
358 "cmd": [
359 "python",
360 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400361 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
362 "--json-output",
363 "/path/to/tmp/json",
364 "copy",
Eric Boren7e97dc02017-02-02 09:02:37 -0500365 "[START_DIR]/skia/infra/bots/assets/svg/VERSION",
366 "/path/to/tmp/"
367 ],
Eric Borena1590852017-03-20 12:48:31 -0400368 "infra_step": true,
Ben Wagnerf20710e2018-03-19 16:52:37 -0400369 "name": "Get svg VERSION"
Eric Boren7e97dc02017-02-02 09:02:37 -0500370 },
371 {
372 "cmd": [
373 "python",
374 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400375 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
376 "--json-output",
377 "/path/to/tmp/json",
378 "copy",
Eric Boren7e97dc02017-02-02 09:02:37 -0500379 "42",
380 "[START_DIR]/tmp/SVG_VERSION"
381 ],
Eric Borena1590852017-03-20 12:48:31 -0400382 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500383 "name": "write SVG_VERSION"
384 },
385 {
386 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500387 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500388 "shell",
389 "cat",
390 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
391 ],
392 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400393 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400394 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400395 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400396 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400397 },
Eric Borena1590852017-03-20 12:48:31 -0400398 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500399 "name": "read /sdcard/revenge_of_the_skiabot/SVG_VERSION",
400 "stdout": "/path/to/tmp/"
401 },
402 {
403 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500404 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500405 "shell",
406 "rm",
407 "-f",
408 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
409 ],
410 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400411 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400412 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400413 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400414 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400415 },
Eric Borena1590852017-03-20 12:48:31 -0400416 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500417 "name": "rm /sdcard/revenge_of_the_skiabot/SVG_VERSION"
418 },
419 {
420 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500421 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500422 "shell",
423 "rm",
424 "-rf",
425 "/sdcard/revenge_of_the_skiabot/svgs"
426 ],
427 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400428 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400429 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400430 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400431 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400432 },
Eric Borena1590852017-03-20 12:48:31 -0400433 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500434 "name": "rm /sdcard/revenge_of_the_skiabot/svgs"
435 },
436 {
437 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500438 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500439 "shell",
440 "mkdir",
441 "-p",
442 "/sdcard/revenge_of_the_skiabot/svgs"
443 ],
444 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400445 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400446 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400447 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400448 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400449 },
Eric Borena1590852017-03-20 12:48:31 -0400450 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500451 "name": "mkdir /sdcard/revenge_of_the_skiabot/svgs"
452 },
453 {
454 "cmd": [
455 "python",
456 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500457 "\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",
Eric Boren7e97dc02017-02-02 09:02:37 -0500458 "[START_DIR]/svg",
459 "/sdcard/revenge_of_the_skiabot/svgs"
460 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400461 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400462 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400463 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400464 },
Eric Borena1590852017-03-20 12:48:31 -0400465 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500466 "name": "push [START_DIR]/svg/* /sdcard/revenge_of_the_skiabot/svgs",
467 "~followup_annotations": [
468 "@@@STEP_LOG_LINE@python.inline@@@@",
469 "@@@STEP_LOG_LINE@python.inline@import os@@@",
470 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
471 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
472 "@@@STEP_LOG_LINE@python.inline@host = sys.argv[1]@@@",
473 "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
474 "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
475 "@@@STEP_LOG_LINE@python.inline@ p = os.path.relpath(d, host)@@@",
476 "@@@STEP_LOG_LINE@python.inline@ if p != '.' and p.startswith('.'):@@@",
477 "@@@STEP_LOG_LINE@python.inline@ continue@@@",
478 "@@@STEP_LOG_LINE@python.inline@ for f in fs:@@@",
479 "@@@STEP_LOG_LINE@python.inline@ print os.path.join(p,f)@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500480 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_call(['/usr/bin/adb.1.0.35', 'push',@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500481 "@@@STEP_LOG_LINE@python.inline@ os.path.realpath(os.path.join(host, p, f)),@@@",
482 "@@@STEP_LOG_LINE@python.inline@ os.path.join(device, p, f)])@@@",
483 "@@@STEP_LOG_END@python.inline@@@"
484 ]
485 },
486 {
487 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500488 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500489 "push",
490 "[START_DIR]/tmp/SVG_VERSION",
491 "/sdcard/revenge_of_the_skiabot/SVG_VERSION"
492 ],
493 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400494 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400495 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400496 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400497 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400498 },
Eric Borena1590852017-03-20 12:48:31 -0400499 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500500 "name": "push [START_DIR]/tmp/SVG_VERSION /sdcard/revenge_of_the_skiabot/SVG_VERSION"
501 },
502 {
503 "cmd": [
Eric Borenf9aa9e52017-04-10 09:56:10 -0400504 "python",
505 "-u",
506 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
507 ],
508 "name": "get swarming bot id",
509 "stdout": "/path/to/tmp/",
510 "~followup_annotations": [
511 "@@@STEP_LOG_LINE@python.inline@import os@@@",
512 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
513 "@@@STEP_LOG_END@python.inline@@@"
514 ]
515 },
516 {
517 "cmd": [
518 "python",
519 "-u",
520 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
521 ],
522 "name": "get swarming task id",
523 "stdout": "/path/to/tmp/",
524 "~followup_annotations": [
525 "@@@STEP_LOG_LINE@python.inline@import os@@@",
526 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
527 "@@@STEP_LOG_END@python.inline@@@"
528 ]
529 },
530 {
531 "cmd": [
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500532 "python",
533 "-u",
Kevin Lubick17634922017-12-12 08:14:19 -0500534 "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ncpu = int(sys.argv[2])\ngov = sys.argv[3]\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])\nactual_gov = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()\nif actual_gov != gov:\n raise Exception('(actual, expected) (%s, %s)'\n % (actual_gov, gov))\n",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500535 "/usr/bin/adb.1.0.35",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500536 "0",
537 "userspace"
Kevin Lubickbca95a52017-11-20 16:06:06 -0500538 ],
Kevin Lubickbca95a52017-11-20 16:06:06 -0500539 "env": {
Kevin Lubickbca95a52017-11-20 16:06:06 -0500540 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400541 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Kevin Lubickbca95a52017-11-20 16:06:06 -0500542 },
543 "infra_step": true,
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500544 "name": "Set CPU 0's governor to userspace",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500545 "timeout": 30,
546 "~followup_annotations": [
547 "@@@STEP_LOG_LINE@python.inline@@@@",
548 "@@@STEP_LOG_LINE@python.inline@import os@@@",
549 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
550 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
Kevin Lubick1c8092ac2017-11-30 08:35:29 -0500551 "@@@STEP_LOG_LINE@python.inline@import time@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500552 "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500553 "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
554 "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@",
555 "@@@STEP_LOG_LINE@python.inline@@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500556 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
557 "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
Kevin Lubick7f5d5d22017-12-08 10:26:56 -0500558 "@@@STEP_LOG_LINE@python.inline@print log@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500559 "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
560 "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@",
561 "@@@STEP_LOG_LINE@python.inline@@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500562 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
563 "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@",
564 "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@",
565 "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@",
Kevin Lubick17634922017-12-12 08:14:19 -0500566 "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@",
567 "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %s)'@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500568 "@@@STEP_LOG_LINE@python.inline@ % (actual_gov, gov))@@@",
569 "@@@STEP_LOG_END@python.inline@@@"
570 ]
571 },
572 {
573 "cmd": [
574 "python",
575 "-u",
576 "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\ntarget_percent = float(sys.argv[2])\ncpu = int(sys.argv[3])\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nroot = '/sys/devices/system/cpu/cpu%d/cpufreq' %cpu\n\n# All devices we test on give a list of their available frequencies.\navailable_freqs = subprocess.check_output([ADB, 'shell',\n 'cat %s/scaling_available_frequencies' % root])\n\n# Check for message like '/system/bin/sh: file not found'\nif available_freqs and '/system/bin/sh' not in available_freqs:\n available_freqs = sorted(\n int(i) for i in available_freqs.strip().split())\nelse:\n raise Exception('Could not get list of available frequencies: %s' %\n available_freqs)\n\nmaxfreq = available_freqs[-1]\ntarget = int(round(maxfreq * target_percent))\nfreq = maxfreq\nfor f in reversed(available_freqs):\n if f <= target:\n freq = f\n break\n\nprint 'Setting frequency to %d' % freq\n\n# If scaling_max_freq is lower than our attempted setting, it won't take.\n# We must set min first, because if we try to set max to be less than min\n# (which sometimes happens after certain devices reboot) it returns a\n# perplexing permissions error.\nsubprocess.check_output([ADB, 'shell', 'echo 0 > '\n '%s/scaling_min_freq' % root])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n '%s/scaling_max_freq' % (freq, root)])\nsubprocess.check_output([ADB, 'shell', 'echo %d > '\n '%s/scaling_setspeed' % (freq, root)])\ntime.sleep(5)\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n '%s/scaling_cur_freq' % root]).strip()\nif actual_freq != str(freq):\n raise Exception('(actual, expected) (%s, %d)'\n % (actual_freq, freq))\n",
577 "/usr/bin/adb.1.0.35",
578 "0.6",
579 "0"
580 ],
581 "env": {
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500582 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400583 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500584 },
585 "infra_step": true,
586 "name": "Scale CPU 0 to 0.600000",
587 "timeout": 30,
588 "~followup_annotations": [
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500589 "@@@STEP_LOG_LINE@python.inline@@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500590 "@@@STEP_LOG_LINE@python.inline@import os@@@",
591 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
592 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
593 "@@@STEP_LOG_LINE@python.inline@import time@@@",
594 "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
595 "@@@STEP_LOG_LINE@python.inline@target_percent = float(sys.argv[2])@@@",
596 "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[3])@@@",
597 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
598 "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
599 "@@@STEP_LOG_LINE@python.inline@print log@@@",
600 "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
601 "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@",
602 "@@@STEP_LOG_LINE@python.inline@@@@",
603 "@@@STEP_LOG_LINE@python.inline@root = '/sys/devices/system/cpu/cpu%d/cpufreq' %cpu@@@",
604 "@@@STEP_LOG_LINE@python.inline@@@@",
605 "@@@STEP_LOG_LINE@python.inline@# All devices we test on give a list of their available frequencies.@@@",
606 "@@@STEP_LOG_LINE@python.inline@available_freqs = subprocess.check_output([ADB, 'shell',@@@",
607 "@@@STEP_LOG_LINE@python.inline@ 'cat %s/scaling_available_frequencies' % root])@@@",
608 "@@@STEP_LOG_LINE@python.inline@@@@",
609 "@@@STEP_LOG_LINE@python.inline@# Check for message like '/system/bin/sh: file not found'@@@",
610 "@@@STEP_LOG_LINE@python.inline@if available_freqs and '/system/bin/sh' not in available_freqs:@@@",
611 "@@@STEP_LOG_LINE@python.inline@ available_freqs = sorted(@@@",
612 "@@@STEP_LOG_LINE@python.inline@ int(i) for i in available_freqs.strip().split())@@@",
613 "@@@STEP_LOG_LINE@python.inline@else:@@@",
614 "@@@STEP_LOG_LINE@python.inline@ raise Exception('Could not get list of available frequencies: %s' %@@@",
615 "@@@STEP_LOG_LINE@python.inline@ available_freqs)@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500616 "@@@STEP_LOG_LINE@python.inline@@@@",
617 "@@@STEP_LOG_LINE@python.inline@maxfreq = available_freqs[-1]@@@",
618 "@@@STEP_LOG_LINE@python.inline@target = int(round(maxfreq * target_percent))@@@",
619 "@@@STEP_LOG_LINE@python.inline@freq = maxfreq@@@",
620 "@@@STEP_LOG_LINE@python.inline@for f in reversed(available_freqs):@@@",
621 "@@@STEP_LOG_LINE@python.inline@ if f <= target:@@@",
622 "@@@STEP_LOG_LINE@python.inline@ freq = f@@@",
623 "@@@STEP_LOG_LINE@python.inline@ break@@@",
624 "@@@STEP_LOG_LINE@python.inline@@@@",
625 "@@@STEP_LOG_LINE@python.inline@print 'Setting frequency to %d' % freq@@@",
626 "@@@STEP_LOG_LINE@python.inline@@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500627 "@@@STEP_LOG_LINE@python.inline@# If scaling_max_freq is lower than our attempted setting, it won't take.@@@",
Kevin Lubick7f5d5d22017-12-08 10:26:56 -0500628 "@@@STEP_LOG_LINE@python.inline@# We must set min first, because if we try to set max to be less than min@@@",
629 "@@@STEP_LOG_LINE@python.inline@# (which sometimes happens after certain devices reboot) it returns a@@@",
630 "@@@STEP_LOG_LINE@python.inline@# perplexing permissions error.@@@",
Kevin Lubick4c6bde22017-12-05 15:54:19 -0500631 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo 0 > '@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500632 "@@@STEP_LOG_LINE@python.inline@ '%s/scaling_min_freq' % root])@@@",
Kevin Lubick1c8092ac2017-11-30 08:35:29 -0500633 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500634 "@@@STEP_LOG_LINE@python.inline@ '%s/scaling_max_freq' % (freq, root)])@@@",
Kevin Lubick7f5d5d22017-12-08 10:26:56 -0500635 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo %d > '@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500636 "@@@STEP_LOG_LINE@python.inline@ '%s/scaling_setspeed' % (freq, root)])@@@",
Kevin Lubick1c8092ac2017-11-30 08:35:29 -0500637 "@@@STEP_LOG_LINE@python.inline@time.sleep(5)@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500638 "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500639 "@@@STEP_LOG_LINE@python.inline@ '%s/scaling_cur_freq' % root]).strip()@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500640 "@@@STEP_LOG_LINE@python.inline@if actual_freq != str(freq):@@@",
641 "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %d)'@@@",
642 "@@@STEP_LOG_LINE@python.inline@ % (actual_freq, freq))@@@",
643 "@@@STEP_LOG_END@python.inline@@@"
644 ]
Kevin Lubickbca95a52017-11-20 16:06:06 -0500645 },
646 {
647 "cmd": [
Kevin Lubick1c153c02018-01-11 13:02:51 -0500648 "python",
649 "-u",
Ravi Mistry8b6a9ae2018-03-14 18:31:07 +0000650 "\nimport os\nimport subprocess\nimport sys\nimport time\nADB = sys.argv[1]\nfreq = sys.argv[2]\nidle_timer = \"10000\"\n\nlog = subprocess.check_output([ADB, 'root'])\n# check for message like 'adbd cannot run as root in production builds'\nprint log\nif 'cannot' in log:\n raise Exception('adb root failed')\n\nsubprocess.check_output([ADB, 'shell', 'stop', 'thermald'])\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n '/sys/class/kgsl/kgsl-3d0/gpuclk' % freq])\n\nactual_freq = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/class/kgsl/kgsl-3d0/gpuclk']).strip()\nif actual_freq != freq:\n raise Exception('Frequency (actual, expected) (%s, %s)'\n % (actual_freq, freq))\n\nsubprocess.check_output([ADB, 'shell', 'echo \"%s\" > '\n '/sys/class/kgsl/kgsl-3d0/idle_timer' % idle_timer])\n\nactual_timer = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/class/kgsl/kgsl-3d0/idle_timer']).strip()\nif actual_timer != idle_timer:\n raise Exception('idle_timer (actual, expected) (%s, %s)'\n % (actual_timer, idle_timer))\n\nfor s in ['force_bus_on', 'force_rail_on', 'force_clk_on']:\n subprocess.check_output([ADB, 'shell', 'echo \"1\" > '\n '/sys/class/kgsl/kgsl-3d0/%s' % s])\n actual_set = subprocess.check_output([ADB, 'shell', 'cat '\n '/sys/class/kgsl/kgsl-3d0/%s' % s]).strip()\n if actual_set != \"1\":\n raise Exception('%s (actual, expected) (%s, 1)'\n % (s, actual_set))\n",
Kevin Lubick1c153c02018-01-11 13:02:51 -0500651 "/usr/bin/adb.1.0.35",
652 "450000000"
653 ],
654 "env": {
Kevin Lubick1c153c02018-01-11 13:02:51 -0500655 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400656 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Kevin Lubick1c153c02018-01-11 13:02:51 -0500657 },
658 "infra_step": true,
659 "name": "Lock GPU to 450000000 (and other perf tweaks)",
660 "timeout": 30,
661 "~followup_annotations": [
662 "@@@STEP_LOG_LINE@python.inline@@@@",
663 "@@@STEP_LOG_LINE@python.inline@import os@@@",
664 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
665 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
666 "@@@STEP_LOG_LINE@python.inline@import time@@@",
667 "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
668 "@@@STEP_LOG_LINE@python.inline@freq = sys.argv[2]@@@",
669 "@@@STEP_LOG_LINE@python.inline@idle_timer = \"10000\"@@@",
670 "@@@STEP_LOG_LINE@python.inline@@@@",
671 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
672 "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
673 "@@@STEP_LOG_LINE@python.inline@print log@@@",
674 "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
675 "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@",
676 "@@@STEP_LOG_LINE@python.inline@@@@",
677 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'stop', 'thermald'])@@@",
678 "@@@STEP_LOG_LINE@python.inline@@@@",
679 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
680 "@@@STEP_LOG_LINE@python.inline@ '/sys/class/kgsl/kgsl-3d0/gpuclk' % freq])@@@",
681 "@@@STEP_LOG_LINE@python.inline@@@@",
682 "@@@STEP_LOG_LINE@python.inline@actual_freq = subprocess.check_output([ADB, 'shell', 'cat '@@@",
683 "@@@STEP_LOG_LINE@python.inline@ '/sys/class/kgsl/kgsl-3d0/gpuclk']).strip()@@@",
684 "@@@STEP_LOG_LINE@python.inline@if actual_freq != freq:@@@",
685 "@@@STEP_LOG_LINE@python.inline@ raise Exception('Frequency (actual, expected) (%s, %s)'@@@",
686 "@@@STEP_LOG_LINE@python.inline@ % (actual_freq, freq))@@@",
687 "@@@STEP_LOG_LINE@python.inline@@@@",
688 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
689 "@@@STEP_LOG_LINE@python.inline@ '/sys/class/kgsl/kgsl-3d0/idle_timer' % idle_timer])@@@",
690 "@@@STEP_LOG_LINE@python.inline@@@@",
691 "@@@STEP_LOG_LINE@python.inline@actual_timer = subprocess.check_output([ADB, 'shell', 'cat '@@@",
692 "@@@STEP_LOG_LINE@python.inline@ '/sys/class/kgsl/kgsl-3d0/idle_timer']).strip()@@@",
693 "@@@STEP_LOG_LINE@python.inline@if actual_timer != idle_timer:@@@",
694 "@@@STEP_LOG_LINE@python.inline@ raise Exception('idle_timer (actual, expected) (%s, %s)'@@@",
695 "@@@STEP_LOG_LINE@python.inline@ % (actual_timer, idle_timer))@@@",
696 "@@@STEP_LOG_LINE@python.inline@@@@",
697 "@@@STEP_LOG_LINE@python.inline@for s in ['force_bus_on', 'force_rail_on', 'force_clk_on']:@@@",
698 "@@@STEP_LOG_LINE@python.inline@ subprocess.check_output([ADB, 'shell', 'echo \"1\" > '@@@",
699 "@@@STEP_LOG_LINE@python.inline@ '/sys/class/kgsl/kgsl-3d0/%s' % s])@@@",
700 "@@@STEP_LOG_LINE@python.inline@ actual_set = subprocess.check_output([ADB, 'shell', 'cat '@@@",
701 "@@@STEP_LOG_LINE@python.inline@ '/sys/class/kgsl/kgsl-3d0/%s' % s]).strip()@@@",
702 "@@@STEP_LOG_LINE@python.inline@ if actual_set != \"1\":@@@",
703 "@@@STEP_LOG_LINE@python.inline@ raise Exception('%s (actual, expected) (%s, 1)'@@@",
704 "@@@STEP_LOG_LINE@python.inline@ % (s, actual_set))@@@",
705 "@@@STEP_LOG_END@python.inline@@@"
706 ]
707 },
708 {
709 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500710 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500711 "push",
Eric Boren322a8592018-06-01 10:08:53 -0400712 "[START_DIR]/build/nanobench",
Eric Boren7e97dc02017-02-02 09:02:37 -0500713 "/data/local/tmp/"
714 ],
715 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400716 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400717 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400718 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400719 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400720 },
Eric Borena1590852017-03-20 12:48:31 -0400721 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500722 "name": "push nanobench"
723 },
724 {
725 "cmd": [
726 "python",
727 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400728 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
729 "--json-output",
730 "/path/to/tmp/json",
731 "copy",
Mike Kleinbbfe5152017-12-06 15:05:26 -0500732 "set -x; /data/local/tmp/nanobench -i /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/nanobench --svgs /sdcard/revenge_of_the_skiabot/svgs --pre_log --images --gpuStatsDump true --scales 1.0 1.1 --nocpu --config gles glessrgb glesmsaa4 --match ~blurroundrect ~patch_grid ~desk_carsvg ~keymobi_shop_mobileweb_ebay_com.skp ~inc0.gif ~inc1.gif ~incInterlaced.gif ~inc0.jpg ~incGray.jpg ~inc0.wbmp ~inc1.wbmp ~inc0.webp ~inc1.webp ~inc0.ico ~inc1.ico ~inc0.png ~inc1.png ~inc2.png ~inc12.png ~inc13.png ~inc14.png ~inc0.webp ~inc1.webp; echo $? >/data/local/tmp/rc",
Eric Boren7e97dc02017-02-02 09:02:37 -0500733 "[START_DIR]/tmp/nanobench.sh"
734 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400735 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400736 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400737 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400738 },
Eric Borena1590852017-03-20 12:48:31 -0400739 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500740 "name": "write nanobench.sh"
741 },
742 {
743 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500744 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500745 "push",
746 "[START_DIR]/tmp/nanobench.sh",
747 "/data/local/tmp/"
748 ],
749 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400750 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400751 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400752 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400753 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400754 },
Eric Borena1590852017-03-20 12:48:31 -0400755 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500756 "name": "push nanobench.sh"
757 },
758 {
759 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500760 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500761 "logcat",
762 "-c"
763 ],
764 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400765 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400766 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400767 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400768 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400769 },
Eric Borena1590852017-03-20 12:48:31 -0400770 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500771 "name": "clear log"
772 },
773 {
774 "cmd": [
775 "python",
776 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500777 "\nimport subprocess\nimport sys\nbin_dir = sys.argv[1]\nsh = sys.argv[2]\nsubprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])\ntry:\n sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', '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",
Eric Boren7e97dc02017-02-02 09:02:37 -0500778 "/data/local/tmp/",
779 "nanobench.sh"
780 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400781 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400782 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400783 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400784 },
Eric Boren7e97dc02017-02-02 09:02:37 -0500785 "name": "nanobench",
786 "~followup_annotations": [
787 "@@@STEP_LOG_LINE@python.inline@@@@",
788 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
789 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
790 "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
791 "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500792 "@@@STEP_LOG_LINE@python.inline@subprocess.check_call(['/usr/bin/adb.1.0.35', 'shell', 'sh', bin_dir + sh])@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500793 "@@@STEP_LOG_LINE@python.inline@try:@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500794 "@@@STEP_LOG_LINE@python.inline@ sys.exit(int(subprocess.check_output(['/usr/bin/adb.1.0.35', 'shell', 'cat',@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500795 "@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@",
796 "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
797 "@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@",
798 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@",
799 "@@@STEP_LOG_END@python.inline@@@"
800 ]
801 },
802 {
803 "cmd": [
804 "python",
805 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500806 "\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",
Eric Boren322a8592018-06-01 10:08:53 -0400807 "[START_DIR]/build"
Eric Boren7e97dc02017-02-02 09:02:37 -0500808 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400809 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400810 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400811 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400812 },
Eric Borena1590852017-03-20 12:48:31 -0400813 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500814 "name": "dump log",
Kevin Lubick587afc92017-10-12 12:21:47 -0400815 "timeout": 300,
Eric Boren7e97dc02017-02-02 09:02:37 -0500816 "~followup_annotations": [
817 "@@@STEP_LOG_LINE@python.inline@@@@",
818 "@@@STEP_LOG_LINE@python.inline@import os@@@",
819 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
820 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
821 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500822 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500823 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
824 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
825 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
826 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
827 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
828 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
829 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
830 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
831 "@@@STEP_LOG_LINE@python.inline@ print line@@@",
832 "@@@STEP_LOG_END@python.inline@@@"
833 ]
834 },
835 {
836 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500837 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500838 "kill-server"
839 ],
840 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400841 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400842 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400843 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400844 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400845 },
Eric Borena1590852017-03-20 12:48:31 -0400846 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500847 "name": "kill adb server"
848 },
849 {
850 "name": "$result",
851 "recipe_result": null,
852 "status_code": 0
853 }
854]