• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2  {
3    "cmd": [
4      "python",
5      "-u",
6      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
7      "--json-output",
8      "/path/to/tmp/json",
9      "ensure-directory",
10      "--mode",
11      "0777",
12      "[START_DIR]/tmp"
13    ],
14    "infra_step": true,
15    "name": "makedirs tmp_dir"
16  },
17  {
18    "cmd": [
19      "python",
20      "-u",
21      "import os\nprint os.environ.get('SWARMING_BOT_ID', '')\n"
22    ],
23    "name": "get swarming bot id",
24    "~followup_annotations": [
25      "@@@STEP_LOG_LINE@python.inline@import os@@@",
26      "@@@STEP_LOG_LINE@python.inline@print os.environ.get('SWARMING_BOT_ID', '')@@@",
27      "@@@STEP_LOG_END@python.inline@@@"
28    ]
29  },
30  {
31    "cmd": [
32      "/opt/infra-android/tools/adb",
33      "shell",
34      "mkdir",
35      "-p",
36      "/sdcard/revenge_of_the_skiabot/resources"
37    ],
38    "cwd": "[START_DIR]/skia",
39    "env": {
40      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
41      "CHROME_HEADLESS": "1",
42      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
43    },
44    "infra_step": true,
45    "name": "mkdir /sdcard/revenge_of_the_skiabot/resources"
46  },
47  {
48    "cmd": [
49      "python",
50      "-u",
51      "\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(['/opt/infra-android/tools/adb', 'push',\n                           os.path.realpath(os.path.join(host, p, f)),\n                           os.path.join(device, p, f)])\n",
52      "[START_DIR]/skia/resources",
53      "/sdcard/revenge_of_the_skiabot/resources"
54    ],
55    "env": {
56      "CHROME_HEADLESS": "1",
57      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
58    },
59    "infra_step": true,
60    "name": "push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources",
61    "~followup_annotations": [
62      "@@@STEP_LOG_LINE@python.inline@@@@",
63      "@@@STEP_LOG_LINE@python.inline@import os@@@",
64      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
65      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
66      "@@@STEP_LOG_LINE@python.inline@host   = sys.argv[1]@@@",
67      "@@@STEP_LOG_LINE@python.inline@device = sys.argv[2]@@@",
68      "@@@STEP_LOG_LINE@python.inline@for d, _, fs in os.walk(host):@@@",
69      "@@@STEP_LOG_LINE@python.inline@  p = os.path.relpath(d, host)@@@",
70      "@@@STEP_LOG_LINE@python.inline@  if p != '.' and p.startswith('.'):@@@",
71      "@@@STEP_LOG_LINE@python.inline@    continue@@@",
72      "@@@STEP_LOG_LINE@python.inline@  for f in fs:@@@",
73      "@@@STEP_LOG_LINE@python.inline@    print os.path.join(p,f)@@@",
74      "@@@STEP_LOG_LINE@python.inline@    subprocess.check_call(['/opt/infra-android/tools/adb', 'push',@@@",
75      "@@@STEP_LOG_LINE@python.inline@                           os.path.realpath(os.path.join(host, p, f)),@@@",
76      "@@@STEP_LOG_LINE@python.inline@                           os.path.join(device, p, f)])@@@",
77      "@@@STEP_LOG_END@python.inline@@@",
78      "@@@STEP_EXCEPTION@@@"
79    ]
80  },
81  {
82    "cmd": [
83      "python",
84      "-u",
85      "\nimport os\nimport subprocess\nimport sys\nout = sys.argv[1]\nlog = subprocess.check_output(['/opt/infra-android/tools/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",
86      "[START_DIR]/build"
87    ],
88    "env": {
89      "CHROME_HEADLESS": "1",
90      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
91    },
92    "infra_step": true,
93    "name": "dump log",
94    "timeout": 300,
95    "~followup_annotations": [
96      "@@@STEP_LOG_LINE@python.inline@@@@",
97      "@@@STEP_LOG_LINE@python.inline@import os@@@",
98      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
99      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
100      "@@@STEP_LOG_LINE@python.inline@out = sys.argv[1]@@@",
101      "@@@STEP_LOG_LINE@python.inline@log = subprocess.check_output(['/opt/infra-android/tools/adb', 'logcat', '-d'])@@@",
102      "@@@STEP_LOG_LINE@python.inline@for line in log.split('\\n'):@@@",
103      "@@@STEP_LOG_LINE@python.inline@  tokens = line.split()@@@",
104      "@@@STEP_LOG_LINE@python.inline@  if len(tokens) == 11 and tokens[-7] == 'F' and tokens[-3] == 'pc':@@@",
105      "@@@STEP_LOG_LINE@python.inline@    addr, path = tokens[-2:]@@@",
106      "@@@STEP_LOG_LINE@python.inline@    local = os.path.join(out, os.path.basename(path))@@@",
107      "@@@STEP_LOG_LINE@python.inline@    if os.path.exists(local):@@@",
108      "@@@STEP_LOG_LINE@python.inline@      sym = subprocess.check_output(['addr2line', '-Cfpe', local, addr])@@@",
109      "@@@STEP_LOG_LINE@python.inline@      line = line.replace(addr, addr + ' ' + sym.strip())@@@",
110      "@@@STEP_LOG_LINE@python.inline@  print line@@@",
111      "@@@STEP_LOG_END@python.inline@@@"
112    ]
113  },
114  {
115    "cmd": [
116      "python",
117      "-u",
118      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
119      "--json-output",
120      "/path/to/tmp/json",
121      "copy",
122      " ",
123      "/home/chrome-bot/build123-m2--device5.force_quarantine"
124    ],
125    "infra_step": true,
126    "name": "Quarantining Bot",
127    "~followup_annotations": [
128      "@@@STEP_LOG_LINE@build123-m2--device5.force_quarantine@ @@@",
129      "@@@STEP_LOG_END@build123-m2--device5.force_quarantine@@@"
130    ]
131  },
132  {
133    "cmd": [
134      "/opt/infra-android/tools/adb",
135      "kill-server"
136    ],
137    "cwd": "[START_DIR]/skia",
138    "env": {
139      "ADB_VENDOR_KEYS": "/home/chrome-bot/.android/chrome_infrastructure_adbkey",
140      "CHROME_HEADLESS": "1",
141      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
142    },
143    "infra_step": true,
144    "name": "kill adb server"
145  },
146  {
147    "failure": {
148      "humanReason": "Infra Failure: Step('push [START_DIR]/skia/resources/* /sdcard/revenge_of_the_skiabot/resources') (retcode: 1)"
149    },
150    "name": "$result"
151  }
152]