1[
2  {
3    "cmd": [],
4    "name": "Prepare Container Build"
5  },
6  {
7    "cmd": [],
8    "name": "Prepare Container Build.Prepare git",
9    "~followup_annotations": [
10      "@@@STEP_NEST_LEVEL@1@@@"
11    ]
12  },
13  {
14    "cmd": [
15      "git",
16      "config",
17      "--get",
18      "user.name"
19    ],
20    "infra_step": true,
21    "name": "Prepare Container Build.Prepare git.git config user.name",
22    "~followup_annotations": [
23      "@@@STEP_NEST_LEVEL@2@@@"
24    ]
25  },
26  {
27    "cmd": [
28      "git",
29      "config",
30      "--get",
31      "user.email"
32    ],
33    "infra_step": true,
34    "name": "Prepare Container Build.Prepare git.git config user.email",
35    "~followup_annotations": [
36      "@@@STEP_NEST_LEVEL@2@@@"
37    ]
38  },
39  {
40    "cmd": [
41      "git",
42      "config",
43      "--global",
44      "user.name",
45      "Crosvm Bot"
46    ],
47    "infra_step": true,
48    "name": "Prepare Container Build.Prepare git.Set git config: user.name",
49    "~followup_annotations": [
50      "@@@STEP_NEST_LEVEL@2@@@"
51    ]
52  },
53  {
54    "cmd": [
55      "git",
56      "config",
57      "--global",
58      "user.email",
59      "[email protected]"
60    ],
61    "infra_step": true,
62    "name": "Prepare Container Build.Prepare git.Set git config: user.email",
63    "~followup_annotations": [
64      "@@@STEP_NEST_LEVEL@2@@@"
65    ]
66  },
67  {
68    "cmd": [
69      "git",
70      "config",
71      "--global",
72      "--replace-all",
73      "credential.helper",
74      "gcloud.sh"
75    ],
76    "infra_step": true,
77    "name": "Prepare Container Build.Prepare git.Set git config: credential.helper",
78    "~followup_annotations": [
79      "@@@STEP_NEST_LEVEL@2@@@"
80    ]
81  },
82  {
83    "cmd": [],
84    "name": "Prepare Container Build.Prepare source",
85    "~followup_annotations": [
86      "@@@STEP_NEST_LEVEL@1@@@"
87    ]
88  },
89  {
90    "cmd": [
91      "vpython3",
92      "-u",
93      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
94      "--json-output",
95      "/path/to/tmp/json",
96      "ensure-directory",
97      "--mode",
98      "0o777",
99      "[CACHE]/builder"
100    ],
101    "infra_step": true,
102    "name": "Prepare Container Build.Prepare source.Ensure builder_cache exists",
103    "~followup_annotations": [
104      "@@@STEP_NEST_LEVEL@2@@@"
105    ]
106  },
107  {
108    "cmd": [
109      "vpython3",
110      "-u",
111      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
112      "--spec-path",
113      "cache_dir = '[CACHE]/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': True, 'name': 'crosvm', 'url': 'https://chromium.googlesource.com/crosvm/crosvm'}]",
114      "--revision_mapping_file",
115      "{\"got_revision\": \"crosvm\"}",
116      "--git-cache-dir",
117      "[CACHE]/git",
118      "--cleanup-dir",
119      "[CLEANUP]/bot_update",
120      "--output_json",
121      "/path/to/tmp/json",
122      "--revision",
123      "crosvm@HEAD"
124    ],
125    "cwd": "[CACHE]/builder",
126    "env": {
127      "DEPOT_TOOLS_COLLECT_METRICS": "0",
128      "GIT_BACKENDINFO": "1",
129      "GIT_DAPPER_TRACE": "1",
130      "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
131      "GIT_HTTP_LOW_SPEED_TIME": "1800",
132      "GIT_SSH_COMMAND": "ssh -o SendEnv=GIT_DAPPER_TRACE -o SendEnv=GIT_BACKENDINFO",
133      "GIT_TRACE2_EVENT": "[CLEANUP]/trace2-event",
134      "GIT_TRACE_CURL": "[CLEANUP]/trace-curl",
135      "GIT_TRACE_CURL_NO_DATA": "1",
136      "GIT_TRACE_PACKET": "[CLEANUP]/trace-packet"
137    },
138    "env_suffixes": {
139      "DEPOT_TOOLS_UPDATE": [
140        "0"
141      ],
142      "PATH": [
143        "RECIPE_REPO[depot_tools]"
144      ]
145    },
146    "infra_step": true,
147    "name": "Prepare Container Build.Prepare source.bot_update",
148    "~followup_annotations": [
149      "@@@STEP_NEST_LEVEL@2@@@",
150      "@@@STEP_TEXT@Some step text@@@",
151      "@@@[email protected]@{@@@",
152      "@@@[email protected]@  \"did_run\": true,@@@",
153      "@@@[email protected]@  \"fixed_revisions\": {@@@",
154      "@@@[email protected]@    \"crosvm\": \"HEAD\"@@@",
155      "@@@[email protected]@  },@@@",
156      "@@@[email protected]@  \"manifest\": {@@@",
157      "@@@[email protected]@    \"crosvm\": {@@@",
158      "@@@[email protected]@      \"repository\": \"https://fake.org/crosvm.git\",@@@",
159      "@@@[email protected]@      \"revision\": \"2e31dd442a44af9e1e51e96aeca18017ddb9922c\"@@@",
160      "@@@[email protected]@    }@@@",
161      "@@@[email protected]@  },@@@",
162      "@@@[email protected]@  \"patch_root\": null,@@@",
163      "@@@[email protected]@  \"properties\": {@@@",
164      "@@@[email protected]@    \"got_revision\": \"2e31dd442a44af9e1e51e96aeca18017ddb9922c\",@@@",
165      "@@@[email protected]@    \"got_revision_cp\": \"refs/heads/main@{#119844}\"@@@",
166      "@@@[email protected]@  },@@@",
167      "@@@[email protected]@  \"root\": \"crosvm\",@@@",
168      "@@@[email protected]@  \"source_manifest\": {@@@",
169      "@@@[email protected]@    \"directories\": {@@@",
170      "@@@[email protected]@      \"crosvm\": {@@@",
171      "@@@[email protected]@        \"git_checkout\": {@@@",
172      "@@@[email protected]@          \"repo_url\": \"https://fake.org/crosvm.git\",@@@",
173      "@@@[email protected]@          \"revision\": \"2e31dd442a44af9e1e51e96aeca18017ddb9922c\"@@@",
174      "@@@[email protected]@        }@@@",
175      "@@@[email protected]@      }@@@",
176      "@@@[email protected]@    },@@@",
177      "@@@[email protected]@    \"version\": 0@@@",
178      "@@@[email protected]@  },@@@",
179      "@@@[email protected]@  \"step_text\": \"Some step text\"@@@",
180      "@@@[email protected]@}@@@",
181      "@@@[email protected]@@@",
182      "@@@SET_BUILD_PROPERTY@got_revision@\"2e31dd442a44af9e1e51e96aeca18017ddb9922c\"@@@",
183      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/main@{#119844}\"@@@"
184    ]
185  },
186  {
187    "cmd": [],
188    "name": "Prepare Container Build.Prepare source.Sync submodules",
189    "~followup_annotations": [
190      "@@@STEP_NEST_LEVEL@2@@@"
191    ]
192  },
193  {
194    "cmd": [
195      "git",
196      "submodule",
197      "update",
198      "--force",
199      "--init"
200    ],
201    "cwd": "[CACHE]/builder/crosvm",
202    "infra_step": true,
203    "name": "Prepare Container Build.Prepare source.Sync submodules.Init / Update submodules",
204    "~followup_annotations": [
205      "@@@STEP_NEST_LEVEL@3@@@"
206    ]
207  },
208  {
209    "cmd": [
210      "git",
211      "repack",
212      "-a"
213    ],
214    "cwd": "[CACHE]/builder/crosvm",
215    "infra_step": true,
216    "name": "Prepare Container Build.Prepare source.Repack repository",
217    "~followup_annotations": [
218      "@@@STEP_NEST_LEVEL@2@@@"
219    ]
220  },
221  {
222    "cmd": [],
223    "name": "Prepare Container Build.Prepare dev_container",
224    "~followup_annotations": [
225      "@@@STEP_NEST_LEVEL@1@@@"
226    ]
227  },
228  {
229    "cmd": [
230      "vpython3",
231      "[CACHE]/builder/crosvm/tools/dev_container",
232      "--verbose",
233      "--stop"
234    ],
235    "cwd": "[CACHE]/builder/crosvm",
236    "infra_step": true,
237    "name": "Prepare Container Build.Prepare dev_container.Stop existing dev containers",
238    "~followup_annotations": [
239      "@@@STEP_NEST_LEVEL@2@@@"
240    ]
241  },
242  {
243    "cmd": [
244      "vpython3",
245      "[CACHE]/builder/crosvm/tools/dev_container",
246      "--pull"
247    ],
248    "cwd": "[CACHE]/builder/crosvm",
249    "infra_step": true,
250    "name": "Prepare Container Build.Prepare dev_container.Force pull dev_container",
251    "~followup_annotations": [
252      "@@@STEP_NEST_LEVEL@2@@@"
253    ]
254  },
255  {
256    "cmd": [
257      "vpython3",
258      "[CACHE]/builder/crosvm/tools/dev_container",
259      "--no-interactive",
260      "--verbose",
261      "true"
262    ],
263    "cwd": "[CACHE]/builder/crosvm",
264    "infra_step": true,
265    "name": "Prepare Container Build.Prepare dev_container.Ensure dev container exists",
266    "~followup_annotations": [
267      "@@@STEP_NEST_LEVEL@2@@@"
268    ]
269  },
270  {
271    "cmd": [
272      "vpython3",
273      "[CACHE]/builder/crosvm/tools/dev_container",
274      "--no-interactive",
275      "--verbose",
276      "cargo",
277      "build"
278    ],
279    "cwd": "[CACHE]/builder/crosvm",
280    "env": {
281      "CROSVM_CONTAINER_CACHE": "[CACHE]/builder/dev_container"
282    },
283    "name": "Build"
284  },
285  {
286    "cmd": [],
287    "name": "Uploading coverage"
288  },
289  {
290    "cmd": [],
291    "name": "Uploading coverage.install crosvm/codecov",
292    "~followup_annotations": [
293      "@@@STEP_NEST_LEVEL@1@@@"
294    ]
295  },
296  {
297    "cmd": [
298      "vpython3",
299      "-u",
300      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
301      "--json-output",
302      "/path/to/tmp/json",
303      "ensure-directory",
304      "--mode",
305      "0o777",
306      "[START_DIR]/cipd_tool/crosvm/codecov/5e1e2bcac305958b27077ca136f35f0abae7cf38c9af678f7d220ed0cb51d4f8"
307    ],
308    "cwd": "[CACHE]/builder/crosvm",
309    "env": {
310      "CROSVM_CONTAINER_CACHE": "[CACHE]/builder/dev_container"
311    },
312    "infra_step": true,
313    "name": "Uploading coverage.install crosvm/codecov.ensure package directory",
314    "~followup_annotations": [
315      "@@@STEP_NEST_LEVEL@2@@@"
316    ]
317  },
318  {
319    "cmd": [
320      "cipd",
321      "ensure",
322      "-root",
323      "[START_DIR]/cipd_tool/crosvm/codecov/5e1e2bcac305958b27077ca136f35f0abae7cf38c9af678f7d220ed0cb51d4f8",
324      "-ensure-file",
325      "crosvm/codecov/${platform} latest",
326      "-max-threads",
327      "0",
328      "-json-output",
329      "/path/to/tmp/json"
330    ],
331    "cwd": "[CACHE]/builder/crosvm",
332    "env": {
333      "CROSVM_CONTAINER_CACHE": "[CACHE]/builder/dev_container"
334    },
335    "infra_step": true,
336    "name": "Uploading coverage.install crosvm/codecov.ensure_installed",
337    "~followup_annotations": [
338      "@@@STEP_NEST_LEVEL@2@@@",
339      "@@@[email protected]@{@@@",
340      "@@@[email protected]@  \"result\": {@@@",
341      "@@@[email protected]@    \"\": [@@@",
342      "@@@[email protected]@      {@@@",
343      "@@@[email protected]@        \"instance_id\": \"resolved-instance_id-of-latest----------\",@@@",
344      "@@@[email protected]@        \"package\": \"crosvm/codecov/resolved-platform\"@@@",
345      "@@@[email protected]@      }@@@",
346      "@@@[email protected]@    ]@@@",
347      "@@@[email protected]@  }@@@",
348      "@@@[email protected]@}@@@",
349      "@@@[email protected]@@@"
350    ]
351  },
352  {
353    "cmd": [
354      "git",
355      "rev-parse",
356      "HEAD"
357    ],
358    "cwd": "[CACHE]/builder/crosvm",
359    "env": {
360      "CROSVM_CONTAINER_CACHE": "[CACHE]/builder/dev_container"
361    },
362    "name": "Uploading coverage.Get git sha",
363    "~followup_annotations": [
364      "@@@STEP_NEST_LEVEL@1@@@"
365    ]
366  },
367  {
368    "cmd": [
369      "bash",
370      "RECIPE_MODULE[crosvm::crosvm]/resources/codecov_wrapper.sh",
371      "[START_DIR]/cipd_tool/crosvm/codecov/5e1e2bcac305958b27077ca136f35f0abae7cf38c9af678f7d220ed0cb51d4f8/codecov",
372      "--nonZero",
373      "--slug=google/crosvm",
374      "--sha=",
375      "--branch=main",
376      "-X=search",
377      "-f",
378      "coverage.lcov"
379    ],
380    "cwd": "[CACHE]/builder/crosvm",
381    "env": {
382      "CROSVM_CONTAINER_CACHE": "[CACHE]/builder/dev_container"
383    },
384    "name": "Uploading coverage.Uploading to covecov.io",
385    "~followup_annotations": [
386      "@@@STEP_NEST_LEVEL@1@@@"
387    ]
388  },
389  {
390    "name": "$result"
391  }
392]