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