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      "DEPOT_TOOLS_UPDATE": "0",
138      "GYP_CHROMIUM_NO_ACTION": "0"
139    },
140    "env_suffixes": {
141      "PATH": [
142        "RECIPE_REPO[depot_tools]"
143      ]
144    },
145    "name": "gclient runhooks"
146  },
147  {
148    "cmd": [
149      "vpython",
150      "-u",
151      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
152      "--json-output",
153      "/path/to/tmp/json",
154      "ensure-directory",
155      "--mode",
156      "0777",
157      "[START_DIR]/tmp"
158    ],
159    "infra_step": true,
160    "name": "makedirs tmp_dir"
161  },
162  {
163    "name": "$result"
164  }
165]