1[
2  {
3    "cmd": [
4      "python",
5      "-u",
6      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
7      "[CUSTOM_/_B_WORK]",
8      "511"
9    ],
10    "infra_step": true,
11    "name": "makedirs checkout_path",
12    "~followup_annotations": [
13      "@@@STEP_LOG_LINE@python.inline@@@@",
14      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
15      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
16      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
17      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
18      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
19      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
20      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
21      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
22      "@@@STEP_LOG_END@python.inline@@@"
23    ]
24  },
25  {
26    "cmd": [
27      "python",
28      "-u",
29      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
30      "--spec",
31      "cache_dir = '[CUSTOM_/_B_CACHE]'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}, {'deps_file': '.DEPS.git', 'managed': False, 'name': 'src', 'url': 'https://chromium.googlesource.com/chromium/src.git'}]",
32      "--patch_root",
33      "skia",
34      "--revision_mapping_file",
35      "{\"skia\": \"got_revision\"}",
36      "--git-cache-dir",
37      "[CUSTOM_/_B_CACHE]",
38      "--output_json",
39      "/path/to/tmp/json",
40      "--revision",
41      "skia@abc123",
42      "--revision",
43      "src@origin/lkgr",
44      "--output_manifest"
45    ],
46    "cwd": "[CUSTOM_/_B_WORK]",
47    "env": {
48      "GIT_HTTP_LOW_SPEED_LIMIT": "1000",
49      "GIT_HTTP_LOW_SPEED_TIME": "300",
50      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
51    },
52    "infra_step": true,
53    "name": "bot_update",
54    "~followup_annotations": [
55      "@@@STEP_TEXT@Some step text@@@",
56      "@@@STEP_LOG_LINE@json.output@{@@@",
57      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
58      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
59      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\", @@@",
60      "@@@STEP_LOG_LINE@json.output@    \"src\": \"origin/lkgr\"@@@",
61      "@@@STEP_LOG_LINE@json.output@  }, @@@",
62      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
63      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
64      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
65      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
66      "@@@STEP_LOG_LINE@json.output@    }@@@",
67      "@@@STEP_LOG_LINE@json.output@  }, @@@",
68      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
69      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
70      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
71      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@",
72      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@",
73      "@@@STEP_LOG_LINE@json.output@  }, @@@",
74      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
75      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
76      "@@@STEP_LOG_LINE@json.output@}@@@",
77      "@@@STEP_LOG_END@json.output@@@",
78      "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@",
79      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@"
80    ]
81  },
82  {
83    "cmd": [
84      "python",
85      "-u",
86      "RECIPE_PACKAGE_REPO[depot_tools]/gclient.py",
87      "runhooks"
88    ],
89    "cwd": "[CUSTOM_/_B_WORK]",
90    "env": {
91      "CPPFLAGS": "-DSK_ALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS=1",
92      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]"
93    },
94    "name": "gclient runhooks"
95  },
96  {
97    "cmd": [
98      "python",
99      "-u",
100      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
101      "[START_DIR]/tmp",
102      "511"
103    ],
104    "infra_step": true,
105    "name": "makedirs tmp_dir",
106    "~followup_annotations": [
107      "@@@STEP_LOG_LINE@python.inline@@@@",
108      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
109      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
110      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
111      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
112      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
113      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
114      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
115      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
116      "@@@STEP_LOG_END@python.inline@@@"
117    ]
118  },
119  {
120    "cmd": [
121      "[CUSTOM_/_B_WORK]/src/buildtools/linux64/gn",
122      "gen",
123      "[CUSTOM_/_B_WORK]/src/out/Release"
124    ],
125    "cwd": "[CUSTOM_/_B_WORK]/src",
126    "env": {
127      "CPPFLAGS": "-DSK_ALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS=1",
128      "GYP_GENERATORS": "ninja"
129    },
130    "name": "GN"
131  },
132  {
133    "cmd": [
134      "ninja",
135      "-C",
136      "[CUSTOM_/_B_WORK]/src/out/Release",
137      "chrome"
138    ],
139    "cwd": "[CUSTOM_/_B_WORK]/src",
140    "name": "Build Chrome"
141  },
142  {
143    "cmd": [
144      "python",
145      "-u",
146      "RECIPE_MODULE[build::file]/resources/fileutil.py",
147      "rmtree",
148      "[START_DIR]/skp_output"
149    ],
150    "infra_step": true,
151    "name": "rmtree skp_output"
152  },
153  {
154    "cmd": [
155      "python",
156      "-u",
157      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
158      "[START_DIR]/skp_output",
159      "511"
160    ],
161    "name": "makedirs skp_output",
162    "~followup_annotations": [
163      "@@@STEP_LOG_LINE@python.inline@@@@",
164      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
165      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
166      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
167      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
168      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
169      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
170      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
171      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
172      "@@@STEP_LOG_END@python.inline@@@"
173    ]
174  },
175  {
176    "cmd": [
177      "python",
178      "[CUSTOM_/_B_WORK]/skia/infra/bots/assets/skp/create.py",
179      "--chrome_src_path",
180      "[CUSTOM_/_B_WORK]/src",
181      "--browser_executable",
182      "[CUSTOM_/_B_WORK]/src/out/Release/chrome",
183      "--target_dir",
184      "[START_DIR]/skp_output",
185      "--upload_to_partner_bucket"
186    ],
187    "cwd": "[CUSTOM_/_B_WORK]/skia",
188    "env": {
189      "CHROME_HEADLESS": "1",
190      "PATH": "[DEPOT_TOOLS]:%(PATH)s"
191    },
192    "name": "Recreate SKPs"
193  },
194  {
195    "cmd": [
196      "go",
197      "get",
198      "-u",
199      "-t",
200      "go.skia.org/infra/..."
201    ],
202    "env": {
203      "BUILDTYPE": "Release",
204      "CHROME_HEADLESS": "1",
205      "GOPATH": "[CUSTOM_/_B_WORK]/gopath",
206      "PATH": "%(PATH)s:RECIPE_PACKAGE_REPO[depot_tools]",
207      "SKIA_OUT": "[START_DIR]/out"
208    },
209    "name": "update go pkgs"
210  },
211  {
212    "cmd": [
213      "python",
214      "-u",
215      "\nimport os\nimport urllib2\n\nTOKEN_FILE = 'update_skps.git_cookies'\nTOKEN_URL = 'http://metadata/computeMetadata/v1/project/attributes/update_skps_git_cookies'\n\nreq = urllib2.Request(TOKEN_URL, headers={'Metadata-Flavor': 'Google'})\ncontents = urllib2.urlopen(req).read()\n\nhome = os.path.expanduser('~')\ntoken_file = os.path.join(home, TOKEN_FILE)\n\nwith open(token_file, 'w') as f:\n  f.write(contents)\n"
216    ],
217    "name": "download update-skps.gitcookies",
218    "~followup_annotations": [
219      "@@@STEP_LOG_LINE@python.inline@@@@",
220      "@@@STEP_LOG_LINE@python.inline@import os@@@",
221      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
222      "@@@STEP_LOG_LINE@python.inline@@@@",
223      "@@@STEP_LOG_LINE@python.inline@TOKEN_FILE = 'update_skps.git_cookies'@@@",
224      "@@@STEP_LOG_LINE@python.inline@TOKEN_URL = 'http://metadata/computeMetadata/v1/project/attributes/update_skps_git_cookies'@@@",
225      "@@@STEP_LOG_LINE@python.inline@@@@",
226      "@@@STEP_LOG_LINE@python.inline@req = urllib2.Request(TOKEN_URL, headers={'Metadata-Flavor': 'Google'})@@@",
227      "@@@STEP_LOG_LINE@python.inline@contents = urllib2.urlopen(req).read()@@@",
228      "@@@STEP_LOG_LINE@python.inline@@@@",
229      "@@@STEP_LOG_LINE@python.inline@home = os.path.expanduser('~')@@@",
230      "@@@STEP_LOG_LINE@python.inline@token_file = os.path.join(home, TOKEN_FILE)@@@",
231      "@@@STEP_LOG_LINE@python.inline@@@@",
232      "@@@STEP_LOG_LINE@python.inline@with open(token_file, 'w') as f:@@@",
233      "@@@STEP_LOG_LINE@python.inline@  f.write(contents)@@@",
234      "@@@STEP_LOG_END@python.inline@@@"
235    ]
236  },
237  {
238    "cmd": [
239      "python",
240      "[CUSTOM_/_B_WORK]/skia/infra/bots/upload_skps.py",
241      "--target_dir",
242      "[START_DIR]/skp_output",
243      "--gitcookies",
244      "[HOME]/update_skps.git_cookies"
245    ],
246    "cwd": "[CUSTOM_/_B_WORK]/skia",
247    "env": {
248      "CHROME_HEADLESS": "1",
249      "GOPATH": "[CUSTOM_/_B_WORK]/gopath",
250      "PATH": "[DEPOT_TOOLS]:%(PATH)s"
251    },
252    "name": "Upload SKPs",
253    "~followup_annotations": [
254      "step returned non-zero exit code: 1",
255      "@@@STEP_FAILURE@@@"
256    ]
257  },
258  {
259    "cmd": [
260      "python",
261      "-u",
262      "\nimport os\n\n\nTOKEN_FILE = 'update_skps.git_cookies'\n\n\nhome = os.path.expanduser('~')\ntoken_file = os.path.join(home, TOKEN_FILE)\nif os.path.isfile(token_file):\n  os.remove(token_file)\n"
263    ],
264    "name": "cleanup update-skps.gitcookies",
265    "~followup_annotations": [
266      "@@@STEP_LOG_LINE@python.inline@@@@",
267      "@@@STEP_LOG_LINE@python.inline@import os@@@",
268      "@@@STEP_LOG_LINE@python.inline@@@@",
269      "@@@STEP_LOG_LINE@python.inline@@@@",
270      "@@@STEP_LOG_LINE@python.inline@TOKEN_FILE = 'update_skps.git_cookies'@@@",
271      "@@@STEP_LOG_LINE@python.inline@@@@",
272      "@@@STEP_LOG_LINE@python.inline@@@@",
273      "@@@STEP_LOG_LINE@python.inline@home = os.path.expanduser('~')@@@",
274      "@@@STEP_LOG_LINE@python.inline@token_file = os.path.join(home, TOKEN_FILE)@@@",
275      "@@@STEP_LOG_LINE@python.inline@if os.path.isfile(token_file):@@@",
276      "@@@STEP_LOG_LINE@python.inline@  os.remove(token_file)@@@",
277      "@@@STEP_LOG_END@python.inline@@@"
278    ]
279  },
280  {
281    "name": "$result",
282    "reason": "Step('Upload SKPs') failed with return_code 1",
283    "recipe_result": null,
284    "status_code": 1
285  }
286]