• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2  {
3    "cmd": [
4      "adb",
5      "shell",
6      "mkdir",
7      "-p",
8      "/sdcard/revenge_of_the_skiabot/resources"
9    ],
10    "cwd": "[START_DIR]/skia",
11    "env": {
12      "BUILDTYPE": "Debug",
13      "CHROME_HEADLESS": "1",
14      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
15      "SKIA_OUT": "[START_DIR]/out"
16    },
17    "infra_step": true,
18    "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
19  },
20  {
21    "cmd": [
22      "python",
23      "-u",
24      "\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(['adb', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
25      "[START_DIR]/skia/resources",
26      "/sdcard/revenge_of_the_skiabot/resources"
27    ],
28    "env": {
29      "BUILDTYPE": "Debug",
30      "CHROME_HEADLESS": "1",
31      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
32      "SKIA_OUT": "[START_DIR]/out"
33    },
34    "infra_step": true,
35    "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources",
36    "~followup_annotations": [
37      "step returned non-zero exit code: 1",
38      "@@@STEP_LOG_LINE@python.inline@@@@",
39      "@@@STEP_LOG_LINE@python.inline@import os@@@",
40      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
41      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
42      "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
43      "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
44      "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
45      "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
46      "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
47      "@@@STEP_LOG_LINE@python.inline@    continue@@@",
48      "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
49      "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
50      "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['adb', 'push',@@@",
51      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
52      "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
53      "@@@STEP_LOG_END@python.inline@@@",
54      "@@@STEP_EXCEPTION@@@"
55    ]
56  },
57  {
58    "cmd": [
59      "python",
60      "-u",
61      "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['adb', '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",
62      "[START_DIR]/out/Debug"
63    ],
64    "env": {
65      "BUILDTYPE": "Debug",
66      "CHROME_HEADLESS": "1",
67      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
68      "SKIA_OUT": "[START_DIR]/out"
69    },
70    "infra_step": true,
71    "name": "dump log",
72    "~followup_annotations": [
73      "@@@STEP_LOG_LINE@python.inline@@@@",
74      "@@@STEP_LOG_LINE@python.inline@import os@@@",
75      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
76      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
77      "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
78      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['adb', 'logcat', '-d'])@@@",
79      "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
80      "@@@STEP_LOG_LINE@python.inline@  tokens = line.split()@@@",
81      "@@@STEP_LOG_LINE@python.inline@  if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
82      "@@@STEP_LOG_LINE@python.inline@    addr, path = tokens[-2:]@@@",
83      "@@@STEP_LOG_LINE@python.inline@    local = os.path.join(out, os.path.basename(path))@@@",
84      "@@@STEP_LOG_LINE@python.inline@    if os.path.exists(local):@@@",
85      "@@@STEP_LOG_LINE@python.inline@      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
86      "@@@STEP_LOG_LINE@python.inline@      line = line.replace(addr, addr + ' ' + sym.strip())@@@",
87      "@@@STEP_LOG_LINE@python.inline@  print line@@@",
88      "@@@STEP_LOG_END@python.inline@@@"
89    ]
90  },
91  {
92    "cmd": [
93      "adb",
94      "shell",
95      "reboot",
96      "-p"
97    ],
98    "cwd": "[START_DIR]/skia",
99    "env": {
100      "BUILDTYPE": "Debug",
101      "CHROME_HEADLESS": "1",
102      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
103      "SKIA_OUT": "[START_DIR]/out"
104    },
105    "infra_step": true,
106    "name": "shut down device to quarantine bot"
107  },
108  {
109    "cmd": [
110      "adb",
111      "kill-server"
112    ],
113    "cwd": "[START_DIR]/skia",
114    "env": {
115      "BUILDTYPE": "Debug",
116      "CHROME_HEADLESS": "1",
117      "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]",
118      "SKIA_OUT": "[START_DIR]/out"
119    },
120    "infra_step": true,
121    "name": "kill adb server"
122  },
123  {
124    "name": "$result",
125    "reason": "Infra Failure: Step('push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources') returned 1",
126    "recipe_result": null,
127    "status_code": 1
128  }
129]