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 "[CUSTOM_/_B_WORK]" 13 ], 14 "infra_step": true, 15 "name": "makedirs checkout_path" 16 }, 17 { 18 "cmd": [ 19 "python", 20 "-u", 21 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 22 "--json-output", 23 "/path/to/tmp/json", 24 "remove", 25 "[CUSTOM_/_B_WORK]/.gclient_entries" 26 ], 27 "infra_step": true, 28 "name": "remove [CUSTOM_/_B_WORK]/.gclient_entries" 29 }, 30 { 31 "cmd": [ 32 "python", 33 "-u", 34 "RECIPE_MODULE[depot_tools::git]/resources/git_setup.py", 35 "--path", 36 "[CUSTOM_/_B_WORK]/depot_tools", 37 "--url", 38 "https://chromium.googlesource.com/chromium/tools/depot_tools.git" 39 ], 40 "name": "git setup" 41 }, 42 { 43 "cmd": [ 44 "git", 45 "retry", 46 "fetch", 47 "origin", 48 "master", 49 "--progress" 50 ], 51 "cwd": "[CUSTOM_/_B_WORK]/depot_tools", 52 "env": { 53 "PATH": "RECIPE_PACKAGE_REPO[depot_tools]:<PATH>" 54 }, 55 "infra_step": true, 56 "name": "git fetch" 57 }, 58 { 59 "cmd": [ 60 "git", 61 "checkout", 62 "-f", 63 "FETCH_HEAD" 64 ], 65 "cwd": "[CUSTOM_/_B_WORK]/depot_tools", 66 "infra_step": true, 67 "name": "git checkout" 68 }, 69 { 70 "cmd": [ 71 "git", 72 "rev-parse", 73 "HEAD" 74 ], 75 "cwd": "[CUSTOM_/_B_WORK]/depot_tools", 76 "infra_step": true, 77 "name": "read revision", 78 "stdout": "/path/to/tmp/", 79 "~followup_annotations": [ 80 "@@@STEP_TEXT@<br/>checked out 'deadbeef'<br/>@@@" 81 ] 82 }, 83 { 84 "cmd": [ 85 "git", 86 "clean", 87 "-f", 88 "-d", 89 "-x" 90 ], 91 "cwd": "[CUSTOM_/_B_WORK]/depot_tools", 92 "infra_step": true, 93 "name": "git clean" 94 }, 95 { 96 "cmd": [ 97 "git", 98 "submodule", 99 "sync" 100 ], 101 "cwd": "[CUSTOM_/_B_WORK]/depot_tools", 102 "infra_step": true, 103 "name": "submodule sync" 104 }, 105 { 106 "cmd": [ 107 "git", 108 "submodule", 109 "update", 110 "--init", 111 "--recursive" 112 ], 113 "cwd": "[CUSTOM_/_B_WORK]/depot_tools", 114 "infra_step": true, 115 "name": "submodule update" 116 }, 117 { 118 "cmd": [ 119 "python", 120 "-u", 121 "[CUSTOM_/_B_WORK]/depot_tools/recipes/recipe_modules/bot_update/resources/bot_update.py", 122 "--spec-path", 123 "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'}]", 124 "--patch_root", 125 "skia", 126 "--revision_mapping_file", 127 "{\"got_revision\": \"skia\"}", 128 "--git-cache-dir", 129 "[CUSTOM_/_B_CACHE]", 130 "--cleanup-dir", 131 "[CLEANUP]/bot_update", 132 "--output_json", 133 "/path/to/tmp/json", 134 "--revision", 135 "skia@abc123", 136 "--revision", 137 "src@origin/lkcr" 138 ], 139 "cwd": "[CUSTOM_/_B_WORK]", 140 "env_prefixes": { 141 "PATH": [ 142 "RECIPE_PACKAGE_REPO[depot_tools]" 143 ] 144 }, 145 "infra_step": true, 146 "name": "bot_update", 147 "~followup_annotations": [ 148 "@@@STEP_TEXT@Some step text@@@", 149 "@@@STEP_LOG_LINE (a] json.output@{@@@", 150 "@@@STEP_LOG_LINE (a] json.output@ \"did_run\": true, @@@", 151 "@@@STEP_LOG_LINE (a] json.output@ \"fixed_revisions\": {@@@", 152 "@@@STEP_LOG_LINE (a] json.output@ \"skia\": \"abc123\", @@@", 153 "@@@STEP_LOG_LINE (a] json.output@ \"src\": \"origin/lkcr\"@@@", 154 "@@@STEP_LOG_LINE (a] json.output@ }, @@@", 155 "@@@STEP_LOG_LINE (a] json.output@ \"manifest\": {@@@", 156 "@@@STEP_LOG_LINE (a] json.output@ \"skia\": {@@@", 157 "@@@STEP_LOG_LINE (a] json.output@ \"repository\": \"https://fake.org/skia.git\", @@@", 158 "@@@STEP_LOG_LINE (a] json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@", 159 "@@@STEP_LOG_LINE (a] json.output@ }@@@", 160 "@@@STEP_LOG_LINE (a] json.output@ }, @@@", 161 "@@@STEP_LOG_LINE (a] json.output@ \"patch_failure\": false, @@@", 162 "@@@STEP_LOG_LINE (a] json.output@ \"patch_root\": \"skia\", @@@", 163 "@@@STEP_LOG_LINE (a] json.output@ \"properties\": {@@@", 164 "@@@STEP_LOG_LINE (a] json.output@ \"got_revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\", @@@", 165 "@@@STEP_LOG_LINE (a] json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@", 166 "@@@STEP_LOG_LINE (a] json.output@ }, @@@", 167 "@@@STEP_LOG_LINE (a] json.output@ \"root\": \"skia\", @@@", 168 "@@@STEP_LOG_LINE (a] json.output@ \"source_manifest\": {@@@", 169 "@@@STEP_LOG_LINE (a] json.output@ \"directories\": {@@@", 170 "@@@STEP_LOG_LINE (a] json.output@ \"skia\": {@@@", 171 "@@@STEP_LOG_LINE (a] json.output@ \"git_checkout\": {@@@", 172 "@@@STEP_LOG_LINE (a] json.output@ \"repo_url\": \"https://fake.org/skia.git\", @@@", 173 "@@@STEP_LOG_LINE (a] json.output@ \"revision\": \"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@", 174 "@@@STEP_LOG_LINE (a] json.output@ }@@@", 175 "@@@STEP_LOG_LINE (a] json.output@ }@@@", 176 "@@@STEP_LOG_LINE (a] json.output@ }, @@@", 177 "@@@STEP_LOG_LINE (a] json.output@ \"version\": 0@@@", 178 "@@@STEP_LOG_LINE (a] json.output@ }, @@@", 179 "@@@STEP_LOG_LINE (a] json.output@ \"step_text\": \"Some step text\"@@@", 180 "@@@STEP_LOG_LINE (a] json.output@}@@@", 181 "@@@STEP_LOG_END (a] json.output@@@", 182 "@@@SET_BUILD_PROPERTY@got_revision@\"9046e2e693bb92a76e972b694580e5d17ad10748\"@@@", 183 "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@" 184 ] 185 }, 186 { 187 "cmd": [ 188 "[CUSTOM_/_B_WORK]/depot_tools/gclient", 189 "runhooks" 190 ], 191 "cwd": "[CUSTOM_/_B_WORK]", 192 "env": { 193 "BUILDTYPE": "Debug", 194 "CHROME_HEADLESS": "1", 195 "GYP_CHROMIUM_NO_ACTION": "0", 196 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 197 "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer" 198 }, 199 "name": "gclient runhooks" 200 }, 201 { 202 "cmd": [ 203 "python", 204 "-u", 205 "[CUSTOM_/_B_WORK]/skia/tools/build_command_buffer.py", 206 "--chrome-dir", 207 "[CUSTOM_/_B_WORK]", 208 "--output-dir", 209 "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug", 210 "--no-sync", 211 "--no-hooks", 212 "--make-output-dir" 213 ], 214 "env": { 215 "BUILDTYPE": "Debug", 216 "CC": "/usr/bin/clang", 217 "CHROME_HEADLESS": "1", 218 "CXX": "/usr/bin/clang++", 219 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 220 "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer" 221 }, 222 "name": "build command_buffer" 223 }, 224 { 225 "cmd": [ 226 "python", 227 "-u", 228 "[CUSTOM_/_B_WORK]/skia/bin/fetch-gn" 229 ], 230 "cwd": "[CUSTOM_/_B_WORK]/skia", 231 "env": { 232 "BUILDTYPE": "Debug", 233 "CC": "/usr/bin/clang", 234 "CHROME_HEADLESS": "1", 235 "CXX": "/usr/bin/clang++", 236 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 237 "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer" 238 }, 239 "infra_step": true, 240 "name": "fetch-gn" 241 }, 242 { 243 "cmd": [ 244 "[CUSTOM_/_B_WORK]/skia/bin/gn", 245 "gen", 246 "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug", 247 "--args=cc=\"clang\" cxx=\"clang++\" extra_cflags=[\"-O1\"] target_cpu=\"x86_64\"" 248 ], 249 "cwd": "[CUSTOM_/_B_WORK]/skia", 250 "env": { 251 "BUILDTYPE": "Debug", 252 "CC": "/usr/bin/clang", 253 "CHROME_HEADLESS": "1", 254 "CXX": "/usr/bin/clang++", 255 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 256 "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer" 257 }, 258 "name": "gn gen" 259 }, 260 { 261 "cmd": [ 262 "ninja", 263 "-k", 264 "0", 265 "-C", 266 "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug" 267 ], 268 "cwd": "[CUSTOM_/_B_WORK]/skia", 269 "env": { 270 "BUILDTYPE": "Debug", 271 "CC": "/usr/bin/clang", 272 "CHROME_HEADLESS": "1", 273 "CXX": "/usr/bin/clang++", 274 "PATH": "<PATH>:RECIPE_PACKAGE_REPO[depot_tools]", 275 "SKIA_OUT": "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer" 276 }, 277 "name": "ninja" 278 }, 279 { 280 "cmd": [ 281 "python", 282 "-u", 283 "import errno\nimport glob\nimport os\nimport shutil\nimport sys\n\nsrc = sys.argv[1]\ndst = sys.argv[2]\nbuild_products_whitelist = ['bookmaker', 'dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skiaserve', 'lib/*.so']\n\ntry:\n os.makedirs(dst)\nexcept OSError as e:\n if e.errno != errno.EEXIST:\n raise\n\nfor pattern in build_products_whitelist:\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", 284 "[CUSTOM_/_B_WORK]/skia/out/Build-Mac-Clang-x86_64-Debug-CommandBuffer/Debug", 285 "[CUSTOM_[SWARM_OUT_DIR]]/out/Debug" 286 ], 287 "infra_step": true, 288 "name": "copy build products", 289 "~followup_annotations": [ 290 "@@@STEP_LOG_LINE (a] python.inline@import errno@@@", 291 "@@@STEP_LOG_LINE (a] python.inline@import glob@@@", 292 "@@@STEP_LOG_LINE (a] python.inline@import os@@@", 293 "@@@STEP_LOG_LINE (a] python.inline@import shutil@@@", 294 "@@@STEP_LOG_LINE (a] python.inline@import sys@@@", 295 "@@@STEP_LOG_LINE (a] python.inline@@@@", 296 "@@@STEP_LOG_LINE (a] python.inline@src = sys.argv[1]@@@", 297 "@@@STEP_LOG_LINE (a] python.inline@dst = sys.argv[2]@@@", 298 "@@@STEP_LOG_LINE (a] python.inline@build_products_whitelist = ['bookmaker', 'dm', 'dm.exe', 'dm.app', 'nanobench.app', 'get_images_from_skps', 'get_images_from_skps.exe', 'nanobench', 'nanobench.exe', 'skpbench', '*.so', '*.dll', '*.dylib', 'skia_launcher', 'skiaserve', 'lib/*.so']@@@", 299 "@@@STEP_LOG_LINE (a] python.inline@@@@", 300 "@@@STEP_LOG_LINE (a] python.inline@try:@@@", 301 "@@@STEP_LOG_LINE (a] python.inline@ os.makedirs(dst)@@@", 302 "@@@STEP_LOG_LINE (a] python.inline@except OSError as e:@@@", 303 "@@@STEP_LOG_LINE (a] python.inline@ if e.errno != errno.EEXIST:@@@", 304 "@@@STEP_LOG_LINE (a] python.inline@ raise@@@", 305 "@@@STEP_LOG_LINE (a] python.inline@@@@", 306 "@@@STEP_LOG_LINE (a] python.inline@for pattern in build_products_whitelist:@@@", 307 "@@@STEP_LOG_LINE (a] python.inline@ path = os.path.join(src, pattern)@@@", 308 "@@@STEP_LOG_LINE (a] python.inline@ for f in glob.glob(path):@@@", 309 "@@@STEP_LOG_LINE (a] python.inline@ dst_path = os.path.join(dst, os.path.relpath(f, src))@@@", 310 "@@@STEP_LOG_LINE (a] python.inline@ if not os.path.isdir(os.path.dirname(dst_path)):@@@", 311 "@@@STEP_LOG_LINE (a] python.inline@ os.makedirs(os.path.dirname(dst_path))@@@", 312 "@@@STEP_LOG_LINE (a] python.inline@ print 'Copying build product %s to %s' % (f, dst_path)@@@", 313 "@@@STEP_LOG_LINE (a] python.inline@ shutil.move(f, dst_path)@@@", 314 "@@@STEP_LOG_END (a] python.inline@@@" 315 ] 316 }, 317 { 318 "name": "$result", 319 "recipe_result": null, 320 "status_code": 0 321 } 322 ]