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 = [{'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 "vpython", 133 "-u", 134 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 135 "--json-output", 136 "/path/to/tmp/json", 137 "ensure-directory", 138 "--mode", 139 "0777", 140 "[START_DIR]/tmp" 141 ], 142 "infra_step": true, 143 "name": "makedirs tmp_dir" 144 }, 145 { 146 "cmd": [ 147 "git", 148 "diff", 149 "--no-ext-diff" 150 ], 151 "cwd": "[START_DIR]/cache/work/skia", 152 "env": { 153 "CHROME_HEADLESS": "1", 154 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 155 }, 156 "name": "git diff #1" 157 }, 158 { 159 "cmd": [ 160 "make", 161 "-C", 162 "tools/gpu/gl/interface", 163 "generate" 164 ], 165 "cwd": "[START_DIR]/cache/work/skia", 166 "env": { 167 "GOCACHE": "[START_DIR]/cache/go_cache", 168 "GOPATH": "[START_DIR]/cache/gopath", 169 "GOROOT": "[START_DIR]/go/go", 170 "PATH": "[START_DIR]/go/go/bin:[START_DIR]/cache/gopath/bin:<PATH>" 171 }, 172 "name": "generate gl interfaces" 173 }, 174 { 175 "cmd": [ 176 "vpython", 177 "-u", 178 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 179 "--json-output", 180 "/path/to/tmp/json", 181 "copy", 182 "[START_DIR]/cache/work/skia/infra/bots/assets/clang_linux/VERSION", 183 "/path/to/tmp/" 184 ], 185 "cwd": "[START_DIR]/cache/work/skia", 186 "infra_step": true, 187 "name": "Get clang_linux VERSION", 188 "~followup_annotations": [ 189 "@@@STEP_LOG_LINE@VERSION@42@@@", 190 "@@@STEP_LOG_END@VERSION@@@" 191 ] 192 }, 193 { 194 "cmd": [ 195 "python", 196 "-u", 197 "[START_DIR]/cache/work/skia/bin/fetch-gn" 198 ], 199 "cwd": "[START_DIR]/cache/work/skia", 200 "env": { 201 "CHROME_HEADLESS": "1", 202 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 203 }, 204 "infra_step": true, 205 "name": "fetch-gn" 206 }, 207 { 208 "cmd": [ 209 "python", 210 "-u", 211 "[START_DIR]/cache/work/skia/bin/fetch-clang-format" 212 ], 213 "cwd": "[START_DIR]/cache/work/skia", 214 "env": { 215 "CHROME_HEADLESS": "1", 216 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 217 }, 218 "infra_step": true, 219 "name": "fetch-clang-format" 220 }, 221 { 222 "cmd": [ 223 "[START_DIR]/ccache_linux/bin/ccache", 224 "-s" 225 ], 226 "cwd": "[START_DIR]/cache/work/skia", 227 "env": { 228 "CCACHE_COMPILERCHECK": "content", 229 "CCACHE_DIR": "[START_DIR]/cache/ccache", 230 "CCACHE_MAXFILES": "0", 231 "CCACHE_MAXSIZE": "75G", 232 "CHROME_HEADLESS": "1", 233 "PATH": "[START_DIR]/cache/work/skia/bin:<PATH>:RECIPE_REPO[depot_tools]" 234 }, 235 "name": "ccache stats-start" 236 }, 237 { 238 "cmd": [ 239 "[START_DIR]/cache/work/skia/bin/gn", 240 "gen", 241 "[START_DIR]/build/out/Release", 242 "--args=cc=\"[START_DIR]/clang_linux/bin/clang\" cc_wrapper=\"[START_DIR]/ccache_linux/bin/ccache\" cxx=\"[START_DIR]/clang_linux/bin/clang++\" extra_cflags=[\"-B[START_DIR]/clang_linux/bin\", \"-DPLACEHOLDER_clang_linux_version=42\"] extra_ldflags=[\"-B[START_DIR]/clang_linux/bin\", \"-fuse-ld=lld\", \"-L[START_DIR]/clang_linux/lib\"] is_debug=false skia_compile_processors=true skia_compile_sksl_tests=true skia_generate_workarounds=true werror=true" 243 ], 244 "cwd": "[START_DIR]/cache/work/skia", 245 "env": { 246 "CCACHE_COMPILERCHECK": "content", 247 "CCACHE_DIR": "[START_DIR]/cache/ccache", 248 "CCACHE_MAXFILES": "0", 249 "CCACHE_MAXSIZE": "75G", 250 "CHROME_HEADLESS": "1", 251 "PATH": "[START_DIR]/cache/work/skia/bin:<PATH>:RECIPE_REPO[depot_tools]" 252 }, 253 "name": "gn gen" 254 }, 255 { 256 "cmd": [ 257 "ninja", 258 "-C", 259 "[START_DIR]/build/out/Release" 260 ], 261 "cwd": "[START_DIR]/cache/work/skia", 262 "env": { 263 "CCACHE_COMPILERCHECK": "content", 264 "CCACHE_DIR": "[START_DIR]/cache/ccache", 265 "CCACHE_MAXFILES": "0", 266 "CCACHE_MAXSIZE": "75G", 267 "CHROME_HEADLESS": "1", 268 "PATH": "[START_DIR]/cache/work/skia/bin:<PATH>:RECIPE_REPO[depot_tools]" 269 }, 270 "name": "ninja" 271 }, 272 { 273 "cmd": [ 274 "[START_DIR]/ccache_linux/bin/ccache", 275 "-s" 276 ], 277 "cwd": "[START_DIR]/cache/work/skia", 278 "env": { 279 "CCACHE_COMPILERCHECK": "content", 280 "CCACHE_DIR": "[START_DIR]/cache/ccache", 281 "CCACHE_MAXFILES": "0", 282 "CCACHE_MAXSIZE": "75G", 283 "CHROME_HEADLESS": "1", 284 "PATH": "[START_DIR]/cache/work/skia/bin:<PATH>:RECIPE_REPO[depot_tools]" 285 }, 286 "name": "ccache stats-end" 287 }, 288 { 289 "cmd": [ 290 "git", 291 "diff", 292 "--no-ext-diff" 293 ], 294 "cwd": "[START_DIR]/cache/work/skia", 295 "env": { 296 "CHROME_HEADLESS": "1", 297 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 298 }, 299 "name": "git diff #2" 300 }, 301 { 302 "cmd": [ 303 "python", 304 "-u", 305 "\ndiff1 = ''''''\n\ndiff2 = ''''''\n\nif diff1 != diff2:\n print('Generated files have been edited!')\n exit(1)\n" 306 ], 307 "cwd": "[START_DIR]/cache/work/skia", 308 "env": { 309 "CHROME_HEADLESS": "1", 310 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 311 }, 312 "name": "compare diffs", 313 "~followup_annotations": [ 314 "@@@STEP_LOG_LINE@python.inline@@@@", 315 "@@@STEP_LOG_LINE@python.inline@diff1 = ''''''@@@", 316 "@@@STEP_LOG_LINE@python.inline@@@@", 317 "@@@STEP_LOG_LINE@python.inline@diff2 = ''''''@@@", 318 "@@@STEP_LOG_LINE@python.inline@@@@", 319 "@@@STEP_LOG_LINE@python.inline@if diff1 != diff2:@@@", 320 "@@@STEP_LOG_LINE@python.inline@ print('Generated files have been edited!')@@@", 321 "@@@STEP_LOG_LINE@python.inline@ exit(1)@@@", 322 "@@@STEP_LOG_END@python.inline@@@" 323 ] 324 }, 325 { 326 "name": "$result" 327 } 328]