blob: 65f67cc1bcf7a46febe328f2d7b346f91a43c221 [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 Boren9599b0f2018-04-17 15:55:57 -0400504 "python",
505 "-u",
506 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
507 "--json-output",
508 "/path/to/tmp/json",
509 "rmtree",
510 "[START_DIR]/test"
511 ],
512 "infra_step": true,
513 "name": "rmtree test"
514 },
515 {
516 "cmd": [
517 "python",
518 "-u",
519 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
520 "--json-output",
521 "/path/to/tmp/json",
522 "ensure-directory",
523 "--mode",
524 "0777",
525 "[START_DIR]/test"
526 ],
527 "infra_step": true,
528 "name": "makedirs test"
529 },
530 {
531 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500532 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500533 "shell",
534 "rm",
535 "-rf",
536 "/sdcard/revenge_of_the_skiabot/dm_out"
537 ],
538 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400539 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400540 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400541 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400542 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400543 },
Eric Borena1590852017-03-20 12:48:31 -0400544 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500545 "name": "rm /sdcard/revenge_of_the_skiabot/dm_out"
546 },
547 {
548 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500549 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500550 "shell",
551 "mkdir",
552 "-p",
553 "/sdcard/revenge_of_the_skiabot/dm_out"
554 ],
555 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400556 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400557 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400558 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400559 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400560 },
Eric Borena1590852017-03-20 12:48:31 -0400561 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500562 "name": "mkdir /sdcard/revenge_of_the_skiabot/dm_out"
563 },
564 {
565 "cmd": [
566 "python",
567 "-u",
Stephan Altmuellerc19ebc52017-05-30 16:39:17 -0400568 "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n try:\n with contextlib.closing(\n urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n hashes = w.read()\n with open(sys.argv[1], 'w') as f:\n f.write(hashes)\n break\n except Exception as e:\n print 'Failed to get uninteresting hashes from %s:' % HASHES_URL\n print e\n if retry == RETRIES:\n raise\n waittime = WAIT_BASE * math.pow(2, retry)\n print 'Retry in %d seconds.' % waittime\n time.sleep(waittime)\n",
Eric Boren7e97dc02017-02-02 09:02:37 -0500569 "[START_DIR]/tmp/uninteresting_hashes.txt"
570 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400571 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400572 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400573 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400574 },
Eric Borena1590852017-03-20 12:48:31 -0400575 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500576 "name": "get uninteresting hashes",
577 "~followup_annotations": [
578 "@@@STEP_LOG_LINE@python.inline@@@@",
579 "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
580 "@@@STEP_LOG_LINE@python.inline@import math@@@",
581 "@@@STEP_LOG_LINE@python.inline@import socket@@@",
582 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
583 "@@@STEP_LOG_LINE@python.inline@import time@@@",
584 "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
585 "@@@STEP_LOG_LINE@python.inline@@@@",
Stephan Altmuellerc19ebc52017-05-30 16:39:17 -0400586 "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://storage.googleapis.com/skia-infra-gm/hash_files/gold-prod-hashes.txt'@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500587 "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
588 "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
589 "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
590 "@@@STEP_LOG_LINE@python.inline@@@@",
591 "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
592 "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
593 "@@@STEP_LOG_LINE@python.inline@ try:@@@",
594 "@@@STEP_LOG_LINE@python.inline@ with contextlib.closing(@@@",
595 "@@@STEP_LOG_LINE@python.inline@ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
596 "@@@STEP_LOG_LINE@python.inline@ hashes = w.read()@@@",
597 "@@@STEP_LOG_LINE@python.inline@ with open(sys.argv[1], 'w') as f:@@@",
598 "@@@STEP_LOG_LINE@python.inline@ f.write(hashes)@@@",
599 "@@@STEP_LOG_LINE@python.inline@ break@@@",
600 "@@@STEP_LOG_LINE@python.inline@ except Exception as e:@@@",
601 "@@@STEP_LOG_LINE@python.inline@ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
602 "@@@STEP_LOG_LINE@python.inline@ print e@@@",
603 "@@@STEP_LOG_LINE@python.inline@ if retry == RETRIES:@@@",
604 "@@@STEP_LOG_LINE@python.inline@ raise@@@",
605 "@@@STEP_LOG_LINE@python.inline@ waittime = WAIT_BASE * math.pow(2, retry)@@@",
606 "@@@STEP_LOG_LINE@python.inline@ print 'Retry in %d seconds.' % waittime@@@",
607 "@@@STEP_LOG_LINE@python.inline@ time.sleep(waittime)@@@",
608 "@@@STEP_LOG_END@python.inline@@@"
609 ]
610 },
611 {
612 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500613 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500614 "push",
615 "[START_DIR]/tmp/uninteresting_hashes.txt",
616 "/sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt"
617 ],
618 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400619 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400620 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400621 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400622 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400623 },
Eric Borena1590852017-03-20 12:48:31 -0400624 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500625 "name": "push [START_DIR]/tmp/uninteresting_hashes.txt /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt"
626 },
627 {
628 "cmd": [
Eric Borenf9aa9e52017-04-10 09:56:10 -0400629 "python",
630 "-u",
631 "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
632 ],
633 "name": "get swarming bot id",
634 "stdout": "/path/to/tmp/",
635 "~followup_annotations": [
636 "@@@STEP_LOG_LINE@python.inline@import os@@@",
637 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
638 "@@@STEP_LOG_END@python.inline@@@"
639 ]
640 },
641 {
642 "cmd": [
643 "python",
644 "-u",
645 "import os\nprint os.environ.get('SWARMING_TASK_ID', '')\n"
646 ],
647 "name": "get swarming task id",
648 "stdout": "/path/to/tmp/",
649 "~followup_annotations": [
650 "@@@STEP_LOG_LINE@python.inline@import os@@@",
651 "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_TASK_ID', '')@@@",
652 "@@@STEP_LOG_END@python.inline@@@"
653 ]
654 },
655 {
656 "cmd": [
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500657 "python",
658 "-u",
Kevin Lubick17634922017-12-12 08:14:19 -0500659 "\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 -0500660 "/usr/bin/adb.1.0.35",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500661 "0",
662 "ondemand"
Kevin Lubickbca95a52017-11-20 16:06:06 -0500663 ],
Kevin Lubickbca95a52017-11-20 16:06:06 -0500664 "env": {
Kevin Lubickbca95a52017-11-20 16:06:06 -0500665 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400666 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Kevin Lubickbca95a52017-11-20 16:06:06 -0500667 },
668 "infra_step": true,
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500669 "name": "Set CPU 0's governor to ondemand",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500670 "timeout": 30,
671 "~followup_annotations": [
672 "@@@STEP_LOG_LINE@python.inline@@@@",
673 "@@@STEP_LOG_LINE@python.inline@import os@@@",
674 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
675 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
Kevin Lubick1c8092ac2017-11-30 08:35:29 -0500676 "@@@STEP_LOG_LINE@python.inline@import time@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500677 "@@@STEP_LOG_LINE@python.inline@ADB = sys.argv[1]@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500678 "@@@STEP_LOG_LINE@python.inline@cpu = int(sys.argv[2])@@@",
679 "@@@STEP_LOG_LINE@python.inline@gov = sys.argv[3]@@@",
680 "@@@STEP_LOG_LINE@python.inline@@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500681 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output([ADB, 'root'])@@@",
682 "@@@STEP_LOG_LINE@python.inline@# check for message like 'adbd cannot run as root in production builds'@@@",
Kevin Lubick7f5d5d22017-12-08 10:26:56 -0500683 "@@@STEP_LOG_LINE@python.inline@print log@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500684 "@@@STEP_LOG_LINE@python.inline@if 'cannot' in log:@@@",
685 "@@@STEP_LOG_LINE@python.inline@ raise Exception('adb root failed')@@@",
686 "@@@STEP_LOG_LINE@python.inline@@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500687 "@@@STEP_LOG_LINE@python.inline@subprocess.check_output([ADB, 'shell', 'echo \"%s\" > '@@@",
688 "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % (gov, cpu)])@@@",
689 "@@@STEP_LOG_LINE@python.inline@actual_gov = subprocess.check_output([ADB, 'shell', 'cat '@@@",
690 "@@@STEP_LOG_LINE@python.inline@ '/sys/devices/system/cpu/cpu%d/cpufreq/scaling_governor' % cpu]).strip()@@@",
Kevin Lubick17634922017-12-12 08:14:19 -0500691 "@@@STEP_LOG_LINE@python.inline@if actual_gov != gov:@@@",
692 "@@@STEP_LOG_LINE@python.inline@ raise Exception('(actual, expected) (%s, %s)'@@@",
Kevin Lubickf1585aa2017-12-12 07:33:48 -0500693 "@@@STEP_LOG_LINE@python.inline@ % (actual_gov, gov))@@@",
Kevin Lubickd1bbd5f2017-11-21 16:47:16 -0500694 "@@@STEP_LOG_END@python.inline@@@"
695 ]
Kevin Lubickbca95a52017-11-20 16:06:06 -0500696 },
697 {
698 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500699 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500700 "push",
Eric Boren322a8592018-06-01 10:08:53 -0400701 "[START_DIR]/build/dm",
Eric Boren7e97dc02017-02-02 09:02:37 -0500702 "/data/local/tmp/"
703 ],
704 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400705 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400706 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400707 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400708 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400709 },
Eric Borena1590852017-03-20 12:48:31 -0400710 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500711 "name": "push dm"
712 },
713 {
714 "cmd": [
715 "python",
716 "-u",
Eric Boren3e2ffd72017-06-16 13:10:22 -0400717 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
718 "--json-output",
719 "/path/to/tmp/json",
720 "copy",
Brian Osman5e117772018-06-20 14:53:06 -0400721 "set -x; /data/local/tmp/dm --resourcePath /sdcard/revenge_of_the_skiabot/resources --skps /sdcard/revenge_of_the_skiabot/skps --images /sdcard/revenge_of_the_skiabot/images/dm --colorImages /sdcard/revenge_of_the_skiabot/images/colorspace --nameByHash --properties gitHash abc123 builder Test-Android-Clang-Nexus5-GPU-Adreno330-arm-Release-All-Android buildbucket_build_id 123454321 swarming_bot_id skia-bot-123 swarming_task_id 123456 --svgs /sdcard/revenge_of_the_skiabot/svgs --key arch arm compiler Clang configuration Release cpu_or_gpu GPU cpu_or_gpu_value Adreno330 extra_config Android model Nexus5 os Android --uninterestingHashesFile /sdcard/revenge_of_the_skiabot/uninteresting_hashes.txt --writePath /sdcard/revenge_of_the_skiabot/dm_out --dont_write pdf --nocpu --config gles glesdft glessrgb glesesrgb glesmsaa4 --src tests gm image colorImage svg --blacklist _ svg _ svgparse_ glessrgb image _ _ _ test _ GrShape _ image _ interlaced1.png _ image _ interlaced2.png _ image _ interlaced3.png _ image _ .arw _ image _ .cr2 _ image _ .dng _ image _ .nef _ image _ .nrw _ image _ .orf _ image _ .raf _ image _ .rw2 _ image _ .pef _ image _ .srw _ image _ .ARW _ image _ .CR2 _ image _ .DNG _ image _ .NEF _ image _ .NRW _ image _ .ORF _ image _ .RAF _ image _ .RW2 _ image _ .PEF _ image _ .SRW _ gm _ encode-platform --noRAW_threading --nonativeFonts --verbose; echo $? >/data/local/tmp/rc",
Eric Boren7e97dc02017-02-02 09:02:37 -0500722 "[START_DIR]/tmp/dm.sh"
723 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400724 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400725 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400726 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400727 },
Eric Borena1590852017-03-20 12:48:31 -0400728 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500729 "name": "write dm.sh"
730 },
731 {
732 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500733 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500734 "push",
735 "[START_DIR]/tmp/dm.sh",
736 "/data/local/tmp/"
737 ],
738 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400739 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400740 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400741 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400742 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400743 },
Eric Borena1590852017-03-20 12:48:31 -0400744 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500745 "name": "push dm.sh"
746 },
747 {
748 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500749 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500750 "logcat",
751 "-c"
752 ],
753 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400754 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400755 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400756 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400757 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400758 },
Eric Borena1590852017-03-20 12:48:31 -0400759 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500760 "name": "clear log"
761 },
762 {
763 "cmd": [
764 "python",
765 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500766 "\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 -0500767 "/data/local/tmp/",
768 "dm.sh"
769 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400770 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400771 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400772 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400773 },
Eric Boren7e97dc02017-02-02 09:02:37 -0500774 "name": "dm",
775 "~followup_annotations": [
776 "@@@STEP_LOG_LINE@python.inline@@@@",
777 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
778 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
779 "@@@STEP_LOG_LINE@python.inline@bin_dir = sys.argv[1]@@@",
780 "@@@STEP_LOG_LINE@python.inline@sh = sys.argv[2]@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500781 "@@@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 -0500782 "@@@STEP_LOG_LINE@python.inline@try:@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500783 "@@@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 -0500784 "@@@STEP_LOG_LINE@python.inline@ bin_dir + 'rc'])))@@@",
785 "@@@STEP_LOG_LINE@python.inline@except ValueError:@@@",
786 "@@@STEP_LOG_LINE@python.inline@ print \"Couldn't read the return code. Probably killed for OOM.\"@@@",
787 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@",
788 "@@@STEP_LOG_END@python.inline@@@"
789 ]
790 },
791 {
Eric Borencd0a98c2018-06-20 13:23:16 -0400792 "cmd": [],
793 "name": "adb pull"
794 },
795 {
Eric Boren7e97dc02017-02-02 09:02:37 -0500796 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500797 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500798 "pull",
799 "/sdcard/revenge_of_the_skiabot/dm_out",
Eric Borencd0a98c2018-06-20 13:23:16 -0400800 "[TMP_BASE]/adb_pull_tmp_1"
Eric Boren7e97dc02017-02-02 09:02:37 -0500801 ],
802 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400803 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400804 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400805 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400806 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400807 },
Eric Borena1590852017-03-20 12:48:31 -0400808 "infra_step": true,
Eric Borencd0a98c2018-06-20 13:23:16 -0400809 "name": "adb pull.pull /sdcard/revenge_of_the_skiabot/dm_out",
810 "~followup_annotations": [
811 "@@@STEP_NEST_LEVEL@1@@@"
812 ]
813 },
814 {
815 "cmd": [
816 "python",
817 "-u",
818 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
819 "--json-output",
820 "/path/to/tmp/json",
821 "glob",
822 "[TMP_BASE]/adb_pull_tmp_1",
823 "dm_out/*"
824 ],
825 "infra_step": true,
826 "name": "adb pull.list pulled files",
827 "stdout": "/path/to/tmp/",
828 "~followup_annotations": [
829 "@@@STEP_NEST_LEVEL@1@@@",
830 "@@@STEP_LOG_LINE@glob@[TMP_BASE]/adb_pull_tmp_1/1.png@@@",
831 "@@@STEP_LOG_LINE@glob@[TMP_BASE]/adb_pull_tmp_1/2.png@@@",
832 "@@@STEP_LOG_END@glob@@@"
833 ]
834 },
835 {
836 "cmd": [
837 "python",
838 "-u",
839 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
840 "--json-output",
841 "/path/to/tmp/json",
842 "copy",
843 "[TMP_BASE]/adb_pull_tmp_1/1.png",
844 "[START_DIR]/[SWARM_OUT_DIR]"
845 ],
846 "infra_step": true,
847 "name": "adb pull.copy 1.png",
848 "~followup_annotations": [
849 "@@@STEP_NEST_LEVEL@1@@@"
850 ]
851 },
852 {
853 "cmd": [
854 "python",
855 "-u",
856 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
857 "--json-output",
858 "/path/to/tmp/json",
859 "copy",
860 "[TMP_BASE]/adb_pull_tmp_1/2.png",
861 "[START_DIR]/[SWARM_OUT_DIR]"
862 ],
863 "infra_step": true,
864 "name": "adb pull.copy 2.png",
865 "~followup_annotations": [
866 "@@@STEP_NEST_LEVEL@1@@@"
867 ]
868 },
869 {
870 "cmd": [
871 "python",
872 "-u",
873 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
874 "--json-output",
875 "/path/to/tmp/json",
876 "rmtree",
877 "[TMP_BASE]/adb_pull_tmp_1"
878 ],
879 "infra_step": true,
880 "name": "adb pull.rmtree [TMP_BASE]/adb_pull_tmp_1",
881 "~followup_annotations": [
882 "@@@STEP_NEST_LEVEL@1@@@"
883 ]
Eric Boren7e97dc02017-02-02 09:02:37 -0500884 },
885 {
886 "cmd": [
887 "python",
888 "-u",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500889 "\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 -0400890 "[START_DIR]/build"
Eric Boren7e97dc02017-02-02 09:02:37 -0500891 ],
Eric Borenbbb24f22017-03-21 08:20:33 -0400892 "env": {
Eric Borenbbb24f22017-03-21 08:20:33 -0400893 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400894 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400895 },
Eric Borena1590852017-03-20 12:48:31 -0400896 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500897 "name": "dump log",
Kevin Lubick587afc92017-10-12 12:21:47 -0400898 "timeout": 300,
Eric Boren7e97dc02017-02-02 09:02:37 -0500899 "~followup_annotations": [
900 "@@@STEP_LOG_LINE@python.inline@@@@",
901 "@@@STEP_LOG_LINE@python.inline@import os@@@",
902 "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
903 "@@@STEP_LOG_LINE@python.inline@import sys@@@",
904 "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500905 "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/usr/bin/adb.1.0.35', 'logcat', '-d'])@@@",
Eric Boren7e97dc02017-02-02 09:02:37 -0500906 "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
907 "@@@STEP_LOG_LINE@python.inline@ tokens = line.split()@@@",
908 "@@@STEP_LOG_LINE@python.inline@ if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
909 "@@@STEP_LOG_LINE@python.inline@ addr, path = tokens[-2:]@@@",
910 "@@@STEP_LOG_LINE@python.inline@ local = os.path.join(out, os.path.basename(path))@@@",
911 "@@@STEP_LOG_LINE@python.inline@ if os.path.exists(local):@@@",
912 "@@@STEP_LOG_LINE@python.inline@ sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
913 "@@@STEP_LOG_LINE@python.inline@ line = line.replace(addr, addr + ' ' + sym.strip())@@@",
914 "@@@STEP_LOG_LINE@python.inline@ print line@@@",
915 "@@@STEP_LOG_END@python.inline@@@"
916 ]
917 },
918 {
919 "cmd": [
Kevin Lubick4fd283e2017-12-07 11:19:31 -0500920 "/usr/bin/adb.1.0.35",
Eric Boren7e97dc02017-02-02 09:02:37 -0500921 "kill-server"
922 ],
923 "cwd": "[START_DIR]/skia",
Eric Borenbbb24f22017-03-21 08:20:33 -0400924 "env": {
Kevin Lubick7673f3b2018-05-17 14:35:43 -0400925 "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/adbkey",
Eric Borenbbb24f22017-03-21 08:20:33 -0400926 "CHROME_HEADLESS": "1",
Eric Boren0f690102018-05-15 15:04:58 -0400927 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
Eric Borenbbb24f22017-03-21 08:20:33 -0400928 },
Eric Borena1590852017-03-20 12:48:31 -0400929 "infra_step": true,
Eric Boren7e97dc02017-02-02 09:02:37 -0500930 "name": "kill adb server"
931 },
932 {
933 "name": "$result",
934 "recipe_result": null,
935 "status_code": 0
936 }
937]