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 "rmtree", 35 "[START_DIR]/cache/work/flutter" 36 ], 37 "infra_step": true, 38 "name": "rmtree flutter" 39 }, 40 { 41 "cmd": [ 42 "vpython", 43 "-u", 44 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 45 "--json-output", 46 "/path/to/tmp/json", 47 "ensure-directory", 48 "--mode", 49 "0777", 50 "[START_DIR]/cache/work/flutter" 51 ], 52 "infra_step": true, 53 "name": "makedirs checkout_path" 54 }, 55 { 56 "cmd": [ 57 "vpython", 58 "-u", 59 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 60 "--json-output", 61 "/path/to/tmp/json", 62 "remove", 63 "[START_DIR]/cache/work/flutter/.gclient_entries" 64 ], 65 "infra_step": true, 66 "name": "remove [START_DIR]/cache/work/flutter/.gclient_entries" 67 }, 68 { 69 "cmd": [ 70 "python", 71 "-u", 72 "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py", 73 "--spec-path", 74 "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'src/flutter', 'url': 'https://github.com/flutter/engine.git'}]\ntarget_os = ['android']", 75 "--patch_root", 76 "src/third_party/skia", 77 "--revision_mapping_file", 78 "{\"got_flutter_revision\": \"src/flutter\", \"got_revision\": \"src/third_party/skia\"}", 79 "--git-cache-dir", 80 "[START_DIR]/cache/git", 81 "--cleanup-dir", 82 "[CLEANUP]/bot_update", 83 "--output_json", 84 "/path/to/tmp/json", 85 "--patch_ref", 86 "https://skia.googlesource.com/skia.git@abc123:refs/changes/89/456789/12", 87 "--revision", 88 "src/flutter@origin/master", 89 "--revision", 90 "src/third_party/skia@abc123" 91 ], 92 "cwd": "[START_DIR]/cache/work/flutter", 93 "env": { 94 "GIT_HTTP_LOW_SPEED_LIMIT": "102400", 95 "GIT_HTTP_LOW_SPEED_TIME": "1800" 96 }, 97 "env_suffixes": { 98 "DEPOT_TOOLS_UPDATE": [ 99 "0" 100 ], 101 "PATH": [ 102 "RECIPE_REPO[depot_tools]" 103 ] 104 }, 105 "infra_step": true, 106 "name": "bot_update", 107 "~followup_annotations": [ 108 "@@@STEP_TEXT@Some step text@@@", 109 "@@@STEP_LOG_LINE@json.output@{@@@", 110 "@@@STEP_LOG_LINE@json.output@ \"did_run\": true, @@@", 111 "@@@STEP_LOG_LINE@json.output@ \"fixed_revisions\": {@@@", 112 "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": \"origin/master\", @@@", 113 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": \"abc123\"@@@", 114 "@@@STEP_LOG_LINE@json.output@ }, @@@", 115 "@@@STEP_LOG_LINE@json.output@ \"manifest\": {@@@", 116 "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": {@@@", 117 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/flutter.git\", @@@", 118 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"a1681567f61ff6b59df53546991904bbf6eda393\"@@@", 119 "@@@STEP_LOG_LINE@json.output@ }, @@@", 120 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": {@@@", 121 "@@@STEP_LOG_LINE@json.output@ \"repository\": \"https://fake.org/src/third_party/skia.git\", @@@", 122 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"abc123\"@@@", 123 "@@@STEP_LOG_LINE@json.output@ }@@@", 124 "@@@STEP_LOG_LINE@json.output@ }, @@@", 125 "@@@STEP_LOG_LINE@json.output@ \"patch_failure\": false, @@@", 126 "@@@STEP_LOG_LINE@json.output@ \"patch_root\": \"src/third_party/skia\", @@@", 127 "@@@STEP_LOG_LINE@json.output@ \"properties\": {@@@", 128 "@@@STEP_LOG_LINE@json.output@ \"got_flutter_revision\": \"a1681567f61ff6b59df53546991904bbf6eda393\", @@@", 129 "@@@STEP_LOG_LINE@json.output@ \"got_flutter_revision_cp\": \"refs/heads/master@{#84512}\", @@@", 130 "@@@STEP_LOG_LINE@json.output@ \"got_revision\": \"abc123\", @@@", 131 "@@@STEP_LOG_LINE@json.output@ \"got_revision_cp\": \"refs/heads/master@{#143121}\"@@@", 132 "@@@STEP_LOG_LINE@json.output@ }, @@@", 133 "@@@STEP_LOG_LINE@json.output@ \"root\": \"src/flutter\", @@@", 134 "@@@STEP_LOG_LINE@json.output@ \"source_manifest\": {@@@", 135 "@@@STEP_LOG_LINE@json.output@ \"directories\": {@@@", 136 "@@@STEP_LOG_LINE@json.output@ \"src/flutter\": {@@@", 137 "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@", 138 "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/flutter.git\", @@@", 139 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"a1681567f61ff6b59df53546991904bbf6eda393\"@@@", 140 "@@@STEP_LOG_LINE@json.output@ }@@@", 141 "@@@STEP_LOG_LINE@json.output@ }, @@@", 142 "@@@STEP_LOG_LINE@json.output@ \"src/third_party/skia\": {@@@", 143 "@@@STEP_LOG_LINE@json.output@ \"git_checkout\": {@@@", 144 "@@@STEP_LOG_LINE@json.output@ \"repo_url\": \"https://fake.org/src/third_party/skia.git\", @@@", 145 "@@@STEP_LOG_LINE@json.output@ \"revision\": \"abc123\"@@@", 146 "@@@STEP_LOG_LINE@json.output@ }@@@", 147 "@@@STEP_LOG_LINE@json.output@ }@@@", 148 "@@@STEP_LOG_LINE@json.output@ }, @@@", 149 "@@@STEP_LOG_LINE@json.output@ \"version\": 0@@@", 150 "@@@STEP_LOG_LINE@json.output@ }, @@@", 151 "@@@STEP_LOG_LINE@json.output@ \"step_text\": \"Some step text\"@@@", 152 "@@@STEP_LOG_LINE@json.output@}@@@", 153 "@@@STEP_LOG_END@json.output@@@", 154 "@@@SET_BUILD_PROPERTY@got_flutter_revision@\"a1681567f61ff6b59df53546991904bbf6eda393\"@@@", 155 "@@@SET_BUILD_PROPERTY@got_flutter_revision_cp@\"refs/heads/master@{#84512}\"@@@", 156 "@@@SET_BUILD_PROPERTY@got_revision@\"abc123\"@@@", 157 "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/master@{#143121}\"@@@" 158 ] 159 }, 160 { 161 "cmd": [ 162 "python", 163 "-u", 164 "RECIPE_REPO[depot_tools]/gclient.py", 165 "runhooks" 166 ], 167 "cwd": "[START_DIR]/cache/work/flutter", 168 "env": { 169 "DEPOT_TOOLS_UPDATE": "0" 170 }, 171 "env_suffixes": { 172 "PATH": [ 173 "RECIPE_REPO[depot_tools]" 174 ] 175 }, 176 "name": "gclient runhooks" 177 }, 178 { 179 "cmd": [ 180 "vpython", 181 "-u", 182 "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py", 183 "--json-output", 184 "/path/to/tmp/json", 185 "ensure-directory", 186 "--mode", 187 "0777", 188 "[START_DIR]/tmp" 189 ], 190 "infra_step": true, 191 "name": "makedirs tmp_dir" 192 }, 193 { 194 "name": "$result" 195 } 196]