1[ 2 { 3 "cmd": [ 4 "python", 5 "-u", 6 "\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 >> sys.stderr, 'Git must be obtained through CIPD.'\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@import subprocess@@@", 16 "@@@STEP_LOG_LINE@python.inline@import sys@@@", 17 "@@@STEP_LOG_LINE@python.inline@@@@", 18 "@@@STEP_LOG_LINE@python.inline@which = 'where' if sys.platform == 'win32' else 'which'@@@", 19 "@@@STEP_LOG_LINE@python.inline@git = subprocess.check_output([which, 'git'])@@@", 20 "@@@STEP_LOG_LINE@python.inline@print 'git was found at %s' % git@@@", 21 "@@@STEP_LOG_LINE@python.inline@if 'cipd_bin_packages' not in git:@@@", 22 "@@@STEP_LOG_LINE@python.inline@ print >> sys.stderr, 'Git must be obtained through CIPD.'@@@", 23 "@@@STEP_LOG_LINE@python.inline@ sys.exit(1)@@@", 24 "@@@STEP_LOG_END@python.inline@@@" 25 ] 26 }, 27 { 28 "cmd": [ 29 "vpython", 30 "-u", 31 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 32 "--json-output", 33 "/path/to/tmp/json", 34 "ensure-directory", 35 "--mode", 36 "0777", 37 "[START_DIR]/cache/work" 38 ], 39 "infra_step": true, 40 "name": "makedirs checkout_path" 41 }, 42 { 43 "cmd": [ 44 "vpython", 45 "-u", 46 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 47 "--json-output", 48 "/path/to/tmp/json", 49 "remove", 50 "[START_DIR]/cache/work/.gclient_entries" 51 ], 52 "infra_step": true, 53 "name": "remove [START_DIR]/cache/work/.gclient_entries" 54 }, 55 { 56 "cmd": [ 57 "python", 58 "-u", 59 "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", 60 "--spec-path", 61 "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'}]", 62 "--patch_root", 63 "skia", 64 "--revision_mapping_file", 65 "{\"got_revision\": \"skia\"}", 66 "--git-cache-dir", 67 "[START_DIR]/cache/git", 68 "--cleanup-dir", 69 "[CLEANUP]/bot_update", 70 "--output_json", 71 "/path/to/tmp/json", 72 "--revision", 73 "skia@abc123" 74 ], 75 "cwd": "[START_DIR]/cache/work", 76 "env": { 77 "GIT_HTTP_LOW_SPEED_LIMIT": "102400", 78 "GIT_HTTP_LOW_SPEED_TIME": "1800" 79 }, 80 "env_suffixes": { 81 "DEPOT_TOOLS_UPDATE": [ 82 "0" 83 ], 84 "PATH": [ 85 "RECIPE_REPO[depot_tools]" 86 ] 87 }, 88 "infra_step": true, 89 "name": "bot_update", 90 "~followup_annotations": [ 91 "@@@STEP_TEXT@Some step text@@@", 92 "@@@STEP_LOG_LINE@json.output@{@@@", 93 "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@", 94 "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@", 95 "@@@STEP_LOG_LINE@json.output@ \"skia\": \"abc123\"@@@", 96 "@@@STEP_LOG_LINE@json.output@ }, @@@", 97 "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@", 98 "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@", 99 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/skia.git\", @@@", 100 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"abc123\"@@@", 101 "@@@STEP_LOG_LINE@json.output@ }@@@", 102 "@@@STEP_LOG_LINE@json.output@ }, @@@", 103 "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@", 104 "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"skia\", @@@", 105 "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@", 106 "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"abc123\", @@@", 107 "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#164710}\"@@@", 108 "@@@STEP_LOG_LINE@json.output@ }, @@@", 109 "@@@STEP_LOG_LINE@json.output@ \"root\": \"skia\", @@@", 110 "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@", 111 "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@", 112 "@@@STEP_LOG_LINE@json.output@ \"skia\": {@@@", 113 "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@", 114 "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/skia.git\", @@@", 115 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"abc123\"@@@", 116 "@@@STEP_LOG_LINE@json.output@ }@@@", 117 "@@@STEP_LOG_LINE@json.output@ }@@@", 118 "@@@STEP_LOG_LINE@json.output@ }, @@@", 119 "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@", 120 "@@@STEP_LOG_LINE@json.output@ }, @@@", 121 "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@", 122 "@@@STEP_LOG_LINE@json.output@}@@@", 123 "@@@STEP_LOG_END@json.output@@@", 124 "@@@SET_BUILD_PROPERTY@got_revision@\"abc123\"@@@", 125 "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#164710}\"@@@" 126 ] 127 }, 128 { 129 "cmd": [ 130 "python", 131 "-u", 132 "RECIPE_REPO[depot_tools]/gclient.py", 133 "runhooks" 134 ], 135 "cwd": "[START_DIR]/cache/work", 136 "env": { 137 "CPPFLAGS": "-DSK_ALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS=1", 138 "DEPOT_TOOLS_UPDATE": "0", 139 "GYP_CHROMIUM_NO_ACTION": "0" 140 }, 141 "env_suffixes": { 142 "PATH": [ 143 "RECIPE_REPO[depot_tools]" 144 ] 145 }, 146 "name": "gclient runhooks" 147 }, 148 { 149 "cmd": [ 150 "vpython", 151 "-u", 152 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 153 "--json-output", 154 "/path/to/tmp/json", 155 "ensure-directory", 156 "--mode", 157 "0777", 158 "[START_DIR]/tmp" 159 ], 160 "infra_step": true, 161 "name": "makedirs tmp_dir" 162 }, 163 { 164 "cmd": [ 165 "[START_DIR]/cache/work/src/buildtools/linux64/gn", 166 "gen", 167 "[START_DIR]/cache/work/src/out/Release" 168 ], 169 "cwd": "[START_DIR]/cache/work/src", 170 "env": { 171 "CHROME_HEADLESS": "1", 172 "CPPFLAGS": "-DSK_ALLOW_CROSSPROCESS_PICTUREIMAGEFILTERS=1", 173 "GYP_GENERATORS": "ninja", 174 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 175 }, 176 "name": "GN" 177 }, 178 { 179 "cmd": [ 180 "ninja", 181 "-C", 182 "[START_DIR]/cache/work/src/out/Release", 183 "chrome" 184 ], 185 "cwd": "[START_DIR]/cache/work/src", 186 "env": { 187 "CHROME_HEADLESS": "1", 188 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 189 }, 190 "name": "Build Chrome" 191 }, 192 { 193 "cmd": [ 194 "vpython", 195 "-u", 196 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 197 "--json-output", 198 "/path/to/tmp/json", 199 "rmtree", 200 "[START_DIR]/skp_output" 201 ], 202 "infra_step": true, 203 "name": "rmtree skp_output" 204 }, 205 { 206 "cmd": [ 207 "vpython", 208 "-u", 209 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 210 "--json-output", 211 "/path/to/tmp/json", 212 "ensure-directory", 213 "--mode", 214 "0777", 215 "[START_DIR]/skp_output" 216 ], 217 "infra_step": true, 218 "name": "makedirs skp_output" 219 }, 220 { 221 "cmd": [ 222 "python", 223 "[START_DIR]/cache/work/skia/infra/bots/assets/skp/create.py", 224 "--chrome_src_path", 225 "[START_DIR]/cache/work/src", 226 "--browser_executable", 227 "[START_DIR]/cache/work/src/out/Release/chrome", 228 "--target_dir", 229 "[START_DIR]/skp_output" 230 ], 231 "cwd": "[START_DIR]/cache/work/skia", 232 "env": { 233 "CHROME_HEADLESS": "1", 234 "PATH": "<PATH>:RECIPE_REPO[depot_tools]" 235 }, 236 "name": "Recreate SKPs" 237 }, 238 { 239 "name": "$result" 240 } 241]