• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[
2  {
3    "cmd": [
4      "python",
5      "-u",
6      "\nfrom __future__ import print_function\nimport subprocess\nimport sys\n\nwhich = 'where' if sys.platform == 'win32' else 'which'\ngit = subprocess.check_output([which, 'git'])\nprint('git was found at %s' % git)\nif 'cipd_bin_packages' not in git:\n  print('Git must be obtained through CIPD.', file=sys.stderr)\n  sys.exit(1)\n"
7    ],
8    "env": {
9      "CHROME_HEADLESS": "1",
10      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
11    },
12    "name": "Assert that Git is from CIPD",
13    "~followup_annotations": [
14      "@@@STEP_LOG_LINE@python.inline@@@@",
15      "@@@STEP_LOG_LINE@python.inline@from __future__ import print_function@@@",
16      "@@@STEP_LOG_LINE@python.inline@import subprocess@@@",
17      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
18      "@@@STEP_LOG_LINE@python.inline@@@@",
19      "@@@STEP_LOG_LINE@python.inline@which = 'where' if sys.platform == 'win32' else 'which'@@@",
20      "@@@STEP_LOG_LINE@python.inline@git = subprocess.check_output([which, 'git'])@@@",
21      "@@@STEP_LOG_LINE@python.inline@print('git was found at %s' % git)@@@",
22      "@@@STEP_LOG_LINE@python.inline@if 'cipd_bin_packages' not in git:@@@",
23      "@@@STEP_LOG_LINE@python.inline@  print('Git must be obtained through CIPD.', file=sys.stderr)@@@",
24      "@@@STEP_LOG_LINE@python.inline@  sys.exit(1)@@@",
25      "@@@STEP_LOG_END@python.inline@@@"
26    ]
27  },
28  {
29    "cmd": [
30      "vpython",
31      "-u",
32      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
33      "--json-output",
34      "/path/to/tmp/json",
35      "ensure-directory",
36      "--mode",
37      "0777",
38      "[START_DIR]/cache/work"
39    ],
40    "infra_step": true,
41    "name": "makedirs checkout_path"
42  },
43  {
44    "cmd": [
45      "vpython",
46      "-u",
47      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
48      "--json-output",
49      "/path/to/tmp/json",
50      "remove",
51      "[START_DIR]/cache/work/.gclient_entries"
52    ],
53    "infra_step": true,
54    "name": "remove [START_DIR]/cache/work/.gclient_entries"
55  },
56  {
57    "cmd": [
58      "python",
59      "-u",
60      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
61      "--spec-path",
62      "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'custom_vars': {'checkout_chromium': True}, 'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
63      "--patch_root",
64      "skia",
65      "--revision_mapping_file",
66      "{\"got_revision\": \"skia\"}",
67      "--git-cache-dir",
68      "[START_DIR]/cache/git",
69      "--cleanup-dir",
70      "[CLEANUP]/bot_update",
71      "--output_json",
72      "/path/to/tmp/json",
73      "--revision",
74      "skia@abc123"
75    ],
76    "cwd": "[START_DIR]/cache/work",
77    "env": {
78      "DEPOT_TOOLS_COLLECT_METRICS": "0",
79      "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
80      "GIT_HTTP_LOW_SPEED_TIME": "1800"
81    },
82    "env_suffixes": {
83      "DEPOT_TOOLS_UPDATE": [
84        "0"
85      ],
86      "PATH": [
87        "RECIPE_REPO[depot_tools]"
88      ]
89    },
90    "infra_step": true,
91    "name": "bot_update",
92    "~followup_annotations": [
93      "@@@STEP_TEXT@Some step text@@@",
94      "@@@STEP_LOG_LINE@json.output@{@@@",
95      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
96      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
97      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\"@@@",
98      "@@@STEP_LOG_LINE@json.output@  }, @@@",
99      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
100      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
101      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
102      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"abc123\"@@@",
103      "@@@STEP_LOG_LINE@json.output@    }@@@",
104      "@@@STEP_LOG_LINE@json.output@  }, @@@",
105      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
106      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
107      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
108      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"abc123\", @@@",
109      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/main@{#164710}\"@@@",
110      "@@@STEP_LOG_LINE@json.output@  }, @@@",
111      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
112      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
113      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
114      "@@@STEP_LOG_LINE@json.output@      \"skia\": {@@@",
115      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
116      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/skia.git\", @@@",
117      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"abc123\"@@@",
118      "@@@STEP_LOG_LINE@json.output@        }@@@",
119      "@@@STEP_LOG_LINE@json.output@      }@@@",
120      "@@@STEP_LOG_LINE@json.output@    }, @@@",
121      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
122      "@@@STEP_LOG_LINE@json.output@  }, @@@",
123      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
124      "@@@STEP_LOG_LINE@json.output@}@@@",
125      "@@@STEP_LOG_END@json.output@@@",
126      "@@@SET_BUILD_PROPERTY@got_revision@\"abc123\"@@@",
127      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/main@{#164710}\"@@@"
128    ]
129  },
130  {
131    "cmd": [
132      "python",
133      "-u",
134      "RECIPE_REPO[depot_tools]/gclient.py",
135      "runhooks"
136    ],
137    "cwd": "[START_DIR]/cache/work",
138    "env": {
139      "DEPOT_TOOLS_UPDATE": "0",
140      "GYP_CHROMIUM_NO_ACTION": "0"
141    },
142    "env_suffixes": {
143      "PATH": [
144        "RECIPE_REPO[depot_tools]"
145      ]
146    },
147    "name": "gclient runhooks"
148  },
149  {
150    "cmd": [
151      "vpython",
152      "-u",
153      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
154      "--json-output",
155      "/path/to/tmp/json",
156      "ensure-directory",
157      "--mode",
158      "0777",
159      "[START_DIR]/tmp"
160    ],
161    "infra_step": true,
162    "name": "makedirs tmp_dir"
163  },
164  {
165    "cmd": [],
166    "name": "ensure xcode",
167    "~followup_annotations": [
168      "@@@STEP_TEXT@Ensuring Xcode version 12c33 in [START_DIR]/cache/Xcode.app@@@"
169    ]
170  },
171  {
172    "cmd": [
173      "[START_DIR]/mac_toolchain/mac_toolchain",
174      "install",
175      "-kind",
176      "ios",
177      "-xcode-version",
178      "12c33",
179      "-output-dir",
180      "[START_DIR]/cache/Xcode.app"
181    ],
182    "name": "ensure xcode.install xcode",
183    "~followup_annotations": [
184      "@@@STEP_NEST_LEVEL@1@@@"
185    ]
186  },
187  {
188    "cmd": [
189      "sudo",
190      "xcode-select",
191      "-switch",
192      "[START_DIR]/cache/Xcode.app"
193    ],
194    "name": "ensure xcode.select xcode",
195    "~followup_annotations": [
196      "@@@STEP_NEST_LEVEL@1@@@"
197    ]
198  },
199  {
200    "cmd": [
201      "python",
202      "-u",
203      "[START_DIR]/cache/work/skia/tools/build_command_buffer.py",
204      "--chrome-dir",
205      "[START_DIR]/cache/work",
206      "--output-dir",
207      "[START_DIR]/cache/work/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug",
208      "--extra-gn-args",
209      "mac_sdk_min=\"10.13\"",
210      "--no-sync",
211      "--no-hooks",
212      "--make-output-dir"
213    ],
214    "env": {
215      "CHROME_HEADLESS": "1",
216      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
217    },
218    "name": "build command_buffer"
219  },
220  {
221    "cmd": [
222      "python",
223      "-u",
224      "[START_DIR]/cache/work/skia/bin/fetch-gn"
225    ],
226    "cwd": "[START_DIR]/cache/work/skia",
227    "env": {
228      "CHROME_HEADLESS": "1",
229      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
230    },
231    "infra_step": true,
232    "name": "fetch-gn"
233  },
234  {
235    "cmd": [
236      "[START_DIR]/ccache_mac/bin/ccache",
237      "-s"
238    ],
239    "cwd": "[START_DIR]/cache/work/skia",
240    "env": {
241      "CCACHE_COMPILERCHECK": "content",
242      "CCACHE_DIR": "[START_DIR]/cache/ccache",
243      "CCACHE_MAXFILES": "0",
244      "CCACHE_MAXSIZE": "50G",
245      "CHROME_HEADLESS": "1",
246      "MACOSX_DEPLOYMENT_TARGET": "10.13",
247      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
248    },
249    "name": "ccache stats-start"
250  },
251  {
252    "cmd": [
253      "[START_DIR]/cache/work/skia/bin/gn",
254      "gen",
255      "[START_DIR]/cache/work/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug",
256      "--args=cc=\"clang\" cc_wrapper=\"[START_DIR]/ccache_mac/bin/ccache\" cxx=\"clang++\" extra_cflags=[\"-DREBUILD_IF_CHANGED_xcode_build_version=12c33\", \"-O1\"] skia_gl_standard=\"\" target_cpu=\"x86_64\" werror=true"
257    ],
258    "cwd": "[START_DIR]/cache/work/skia",
259    "env": {
260      "CCACHE_COMPILERCHECK": "content",
261      "CCACHE_DIR": "[START_DIR]/cache/ccache",
262      "CCACHE_MAXFILES": "0",
263      "CCACHE_MAXSIZE": "50G",
264      "CHROME_HEADLESS": "1",
265      "MACOSX_DEPLOYMENT_TARGET": "10.13",
266      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
267    },
268    "name": "gn gen"
269  },
270  {
271    "cmd": [
272      "ninja",
273      "-C",
274      "[START_DIR]/cache/work/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug"
275    ],
276    "cwd": "[START_DIR]/cache/work/skia",
277    "env": {
278      "CCACHE_COMPILERCHECK": "content",
279      "CCACHE_DIR": "[START_DIR]/cache/ccache",
280      "CCACHE_MAXFILES": "0",
281      "CCACHE_MAXSIZE": "50G",
282      "CHROME_HEADLESS": "1",
283      "MACOSX_DEPLOYMENT_TARGET": "10.13",
284      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
285    },
286    "name": "ninja"
287  },
288  {
289    "cmd": [
290      "[START_DIR]/ccache_mac/bin/ccache",
291      "-s"
292    ],
293    "cwd": "[START_DIR]/cache/work/skia",
294    "env": {
295      "CCACHE_COMPILERCHECK": "content",
296      "CCACHE_DIR": "[START_DIR]/cache/ccache",
297      "CCACHE_MAXFILES": "0",
298      "CCACHE_MAXSIZE": "50G",
299      "CHROME_HEADLESS": "1",
300      "MACOSX_DEPLOYMENT_TARGET": "10.13",
301      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
302    },
303    "name": "ccache stats-end"
304  },
305  {
306    "cmd": [
307      "python",
308      "-u",
309      "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products = ['dm', 'dm.exe', 'dm.app', 'fm', 'fm.exe', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab']\n\ntry:\n  os.makedirs(dst)\nexcept OSError as e:\n  if e.errno != errno.EEXIST:\n    raise\n\nfor pattern in build_products:\n  path = os.path.join(src, pattern)\n  for f in glob.glob(path):\n    dst_path = os.path.join(dst, os.path.relpath(f, src))\n    if not os.path.isdir(os.path.dirname(dst_path)):\n      os.makedirs(os.path.dirname(dst_path))\n    print('Copying build product %s to %s' % (f, dst_path))\n    shutil.move(f, dst_path)\n",
310      "[START_DIR]/cache/work/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug",
311      "[START_DIR]/[SWARM_OUT_DIR]"
312    ],
313    "infra_step": true,
314    "name": "copy build products",
315    "~followup_annotations": [
316      "@@@STEP_LOG_LINE@python.inline@import errno@@@",
317      "@@@STEP_LOG_LINE@python.inline@import glob@@@",
318      "@@@STEP_LOG_LINE@python.inline@import os@@@",
319      "@@@STEP_LOG_LINE@python.inline@import shutil@@@",
320      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
321      "@@@STEP_LOG_LINE@python.inline@@@@",
322      "@@@STEP_LOG_LINE@python.inline@src = sys.argv[1]@@@",
323      "@@@STEP_LOG_LINE@python.inline@dst = sys.argv[2]@@@",
324      "@@@STEP_LOG_LINE@python.inline@build_products = ['dm', 'dm.exe', 'dm.app', 'fm', 'fm.exe', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', 'skpbench.exe', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skottie_tool', 'lib/*.so', 'run_testlab']@@@",
325      "@@@STEP_LOG_LINE@python.inline@@@@",
326      "@@@STEP_LOG_LINE@python.inline@try:@@@",
327      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(dst)@@@",
328      "@@@STEP_LOG_LINE@python.inline@except OSError as e:@@@",
329      "@@@STEP_LOG_LINE@python.inline@  if e.errno != errno.EEXIST:@@@",
330      "@@@STEP_LOG_LINE@python.inline@    raise@@@",
331      "@@@STEP_LOG_LINE@python.inline@@@@",
332      "@@@STEP_LOG_LINE@python.inline@for pattern in build_products:@@@",
333      "@@@STEP_LOG_LINE@python.inline@  path = os.path.join(src, pattern)@@@",
334      "@@@STEP_LOG_LINE@python.inline@  for f in glob.glob(path):@@@",
335      "@@@STEP_LOG_LINE@python.inline@    dst_path = os.path.join(dst, os.path.relpath(f, src))@@@",
336      "@@@STEP_LOG_LINE@python.inline@    if not os.path.isdir(os.path.dirname(dst_path)):@@@",
337      "@@@STEP_LOG_LINE@python.inline@      os.makedirs(os.path.dirname(dst_path))@@@",
338      "@@@STEP_LOG_LINE@python.inline@    print('Copying build product %s to %s' % (f, dst_path))@@@",
339      "@@@STEP_LOG_LINE@python.inline@    shutil.move(f, dst_path)@@@",
340      "@@@STEP_LOG_END@python.inline@@@"
341    ]
342  },
343  {
344    "name": "$result"
345  }
346]