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