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]