• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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      "ensure-directory",
36      "--mode",
37      "0777",
38      "[START_DIR]/cache/work"
39    ],
40    "infra_step": true,
41    "name": "makedirs checkout_path"
42  },
43  {
44    "cmd": [
45      "vpython",
46      "-u",
47      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
48      "--json-output",
49      "/path/to/tmp/json",
50      "remove",
51      "[START_DIR]/cache/work/.gclient_entries"
52    ],
53    "infra_step": true,
54    "name": "remove [START_DIR]/cache/work/.gclient_entries"
55  },
56  {
57    "cmd": [
58      "python",
59      "-u",
60      "RECIPE_MODULE[depot_tools::bot_update]/resources/bot_update.py",
61      "--spec-path",
62      "cache_dir = '[START_DIR]/cache/git'\nsolutions = [{'deps_file': '.DEPS.git', 'managed': False, 'name': 'skia', 'url': 'https://skia.googlesource.com/skia.git'}]",
63      "--patch_root",
64      "skia",
65      "--revision_mapping_file",
66      "{\"got_revision\": \"skia\"}",
67      "--git-cache-dir",
68      "[START_DIR]/cache/git",
69      "--cleanup-dir",
70      "[CLEANUP]/bot_update",
71      "--output_json",
72      "/path/to/tmp/json",
73      "--revision",
74      "skia@abc123"
75    ],
76    "cwd": "[START_DIR]/cache/work",
77    "env": {
78      "DEPOT_TOOLS_COLLECT_METRICS": "0",
79      "GIT_HTTP_LOW_SPEED_LIMIT": "102400",
80      "GIT_HTTP_LOW_SPEED_TIME": "1800"
81    },
82    "env_suffixes": {
83      "DEPOT_TOOLS_UPDATE": [
84        "0"
85      ],
86      "PATH": [
87        "RECIPE_REPO[depot_tools]"
88      ]
89    },
90    "infra_step": true,
91    "name": "bot_update",
92    "~followup_annotations": [
93      "@@@STEP_TEXT@Some step text@@@",
94      "@@@STEP_LOG_LINE@json.output@{@@@",
95      "@@@STEP_LOG_LINE@json.output@  \"did_run\": true, @@@",
96      "@@@STEP_LOG_LINE@json.output@  \"fixed_revisions\": {@@@",
97      "@@@STEP_LOG_LINE@json.output@    \"skia\": \"abc123\"@@@",
98      "@@@STEP_LOG_LINE@json.output@  }, @@@",
99      "@@@STEP_LOG_LINE@json.output@  \"manifest\": {@@@",
100      "@@@STEP_LOG_LINE@json.output@    \"skia\": {@@@",
101      "@@@STEP_LOG_LINE@json.output@      \"repository\": \"https://fake.org/skia.git\", @@@",
102      "@@@STEP_LOG_LINE@json.output@      \"revision\": \"abc123\"@@@",
103      "@@@STEP_LOG_LINE@json.output@    }@@@",
104      "@@@STEP_LOG_LINE@json.output@  }, @@@",
105      "@@@STEP_LOG_LINE@json.output@  \"patch_failure\": false, @@@",
106      "@@@STEP_LOG_LINE@json.output@  \"patch_root\": \"skia\", @@@",
107      "@@@STEP_LOG_LINE@json.output@  \"properties\": {@@@",
108      "@@@STEP_LOG_LINE@json.output@    \"got_revision\": \"abc123\", @@@",
109      "@@@STEP_LOG_LINE@json.output@    \"got_revision_cp\": \"refs/heads/main@{#164710}\"@@@",
110      "@@@STEP_LOG_LINE@json.output@  }, @@@",
111      "@@@STEP_LOG_LINE@json.output@  \"root\": \"skia\", @@@",
112      "@@@STEP_LOG_LINE@json.output@  \"source_manifest\": {@@@",
113      "@@@STEP_LOG_LINE@json.output@    \"directories\": {@@@",
114      "@@@STEP_LOG_LINE@json.output@      \"skia\": {@@@",
115      "@@@STEP_LOG_LINE@json.output@        \"git_checkout\": {@@@",
116      "@@@STEP_LOG_LINE@json.output@          \"repo_url\": \"https://fake.org/skia.git\", @@@",
117      "@@@STEP_LOG_LINE@json.output@          \"revision\": \"abc123\"@@@",
118      "@@@STEP_LOG_LINE@json.output@        }@@@",
119      "@@@STEP_LOG_LINE@json.output@      }@@@",
120      "@@@STEP_LOG_LINE@json.output@    }, @@@",
121      "@@@STEP_LOG_LINE@json.output@    \"version\": 0@@@",
122      "@@@STEP_LOG_LINE@json.output@  }, @@@",
123      "@@@STEP_LOG_LINE@json.output@  \"step_text\": \"Some step text\"@@@",
124      "@@@STEP_LOG_LINE@json.output@}@@@",
125      "@@@STEP_LOG_END@json.output@@@",
126      "@@@SET_BUILD_PROPERTY@got_revision@\"abc123\"@@@",
127      "@@@SET_BUILD_PROPERTY@got_revision_cp@\"refs/heads/main@{#164710}\"@@@"
128    ]
129  },
130  {
131    "cmd": [
132      "vpython",
133      "-u",
134      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
135      "--json-output",
136      "/path/to/tmp/json",
137      "ensure-directory",
138      "--mode",
139      "0777",
140      "[START_DIR]/[SWARM_OUT_DIR]"
141    ],
142    "infra_step": true,
143    "name": "mkdirs out_dir"
144  },
145  {
146    "cmd": [
147      "vpython",
148      "-u",
149      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
150      "--json-output",
151      "/path/to/tmp/json",
152      "glob",
153      "[START_DIR]/build",
154      "*.wasm"
155    ],
156    "cwd": "[START_DIR]/build",
157    "infra_step": true,
158    "name": "find WASM binaries",
159    "~followup_annotations": [
160      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/pathkit.wasm@@@",
161      "@@@STEP_LOG_END@glob@@@"
162    ]
163  },
164  {
165    "cmd": [
166      "python",
167      "-u",
168      "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n"
169    ],
170    "cwd": "[START_DIR]/build",
171    "name": "get swarming bot id",
172    "~followup_annotations": [
173      "@@@STEP_LOG_LINE@python.inline@import os@@@",
174      "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@",
175      "@@@STEP_LOG_END@python.inline@@@"
176    ]
177  },
178  {
179    "cmd": [
180      "python",
181      "-u",
182      "import os\nprint(os.environ.get('SWARMING_TASK_ID', ''))\n"
183    ],
184    "cwd": "[START_DIR]/build",
185    "name": "get swarming task id",
186    "~followup_annotations": [
187      "@@@STEP_LOG_LINE@python.inline@import os@@@",
188      "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_TASK_ID', ''))@@@",
189      "@@@STEP_LOG_END@python.inline@@@"
190    ]
191  },
192  {
193    "cmd": [
194      "python",
195      "-u",
196      "[START_DIR]/cache/work/skia/infra/bots/buildstats/buildstats_wasm.py",
197      "[START_DIR]/build/pathkit.wasm",
198      "[START_DIR]/[SWARM_OUT_DIR]",
199      "compiler EMCC configuration Release extra_config PathKit os Debian10 target_arch wasm",
200      "gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456abc",
201      "[START_DIR]/bloaty/bloaty",
202      "total_size_bytes",
203      "#$%^&*"
204    ],
205    "cwd": "[START_DIR]/cache/work/skia",
206    "env": {
207      "CHROME_HEADLESS": "1",
208      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
209    },
210    "name": "Analyze wasm",
211    "~followup_annotations": [
212      "@@@STEP_LOG_LINE@bloaty_symbol_short@@@@",
213      "@@@STEP_LOG_LINE@bloaty_symbol_short@Report A@@@",
214      "@@@STEP_LOG_LINE@bloaty_symbol_short@    Total size: 50 bytes@@@",
215      "@@@STEP_LOG_LINE@bloaty_symbol_short@@@@",
216      "@@@STEP_LOG_END@bloaty_symbol_short@@@",
217      "@@@STEP_LOG_LINE@bloaty_symbol_full@@@@",
218      "@@@STEP_LOG_LINE@bloaty_symbol_full@Report B@@@",
219      "@@@STEP_LOG_LINE@bloaty_symbol_full@    Total size: 60 bytes@@@",
220      "@@@STEP_LOG_LINE@bloaty_symbol_full@@@@",
221      "@@@STEP_LOG_END@bloaty_symbol_full@@@",
222      "@@@STEP_LOG_LINE@perf_json@@@@",
223      "@@@STEP_LOG_LINE@perf_json@{@@@",
224      "@@@STEP_LOG_LINE@perf_json@  \"some\": \"json\",@@@",
225      "@@@STEP_LOG_LINE@perf_json@  \"results\": {@@@",
226      "@@@STEP_LOG_LINE@perf_json@    \"pathkit.wasm\": {@@@",
227      "@@@STEP_LOG_LINE@perf_json@      \"default\": {@@@",
228      "@@@STEP_LOG_LINE@perf_json@        \"total_size_bytes\": 7391117,@@@",
229      "@@@STEP_LOG_LINE@perf_json@        \"gzip_size_bytes\": 2884841@@@",
230      "@@@STEP_LOG_LINE@perf_json@      }@@@",
231      "@@@STEP_LOG_LINE@perf_json@    }@@@",
232      "@@@STEP_LOG_LINE@perf_json@  }@@@",
233      "@@@STEP_LOG_LINE@perf_json@}@@@",
234      "@@@STEP_LOG_LINE@perf_json@@@@",
235      "@@@STEP_LOG_END@perf_json@@@",
236      "@@@SET_BUILD_PROPERTY@binary_size_pathkit.wasm@7391117@@@"
237    ]
238  },
239  {
240    "cmd": [
241      "vpython",
242      "-u",
243      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
244      "--json-output",
245      "/path/to/tmp/json",
246      "glob",
247      "[START_DIR]/build",
248      "*.js"
249    ],
250    "cwd": "[START_DIR]/build",
251    "infra_step": true,
252    "name": "find JS files",
253    "~followup_annotations": [
254      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/pathkit.js@@@",
255      "@@@STEP_LOG_END@glob@@@"
256    ]
257  },
258  {
259    "cmd": [
260      "python",
261      "-u",
262      "[START_DIR]/cache/work/skia/infra/bots/buildstats/buildstats_web.py",
263      "[START_DIR]/build/pathkit.js",
264      "[START_DIR]/[SWARM_OUT_DIR]",
265      "compiler EMCC configuration Release extra_config PathKit os Debian10 target_arch wasm",
266      "gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456abc",
267      "total_size_bytes",
268      "#$%^&*"
269    ],
270    "cwd": "[START_DIR]/cache/work/skia",
271    "env": {
272      "CHROME_HEADLESS": "1",
273      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
274    },
275    "name": "Analyze [START_DIR]/build/pathkit.js"
276  },
277  {
278    "cmd": [
279      "vpython",
280      "-u",
281      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
282      "--json-output",
283      "/path/to/tmp/json",
284      "glob",
285      "[START_DIR]/build",
286      "*.js.mem"
287    ],
288    "cwd": "[START_DIR]/build",
289    "infra_step": true,
290    "name": "find JS mem files",
291    "~followup_annotations": [
292      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/pathkit.js.mem@@@",
293      "@@@STEP_LOG_END@glob@@@"
294    ]
295  },
296  {
297    "cmd": [
298      "python",
299      "-u",
300      "[START_DIR]/cache/work/skia/infra/bots/buildstats/buildstats_web.py",
301      "[START_DIR]/build/pathkit.js.mem",
302      "[START_DIR]/[SWARM_OUT_DIR]",
303      "compiler EMCC configuration Release extra_config PathKit os Debian10 target_arch wasm",
304      "gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456abc",
305      "total_size_bytes",
306      "#$%^&*"
307    ],
308    "cwd": "[START_DIR]/cache/work/skia",
309    "env": {
310      "CHROME_HEADLESS": "1",
311      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
312    },
313    "name": "Analyze [START_DIR]/build/pathkit.js.mem",
314    "~followup_annotations": [
315      "@@@STEP_LOG_LINE@perf_json@@@@",
316      "@@@STEP_LOG_LINE@perf_json@{@@@",
317      "@@@STEP_LOG_LINE@perf_json@  \"some\": \"json\",@@@",
318      "@@@STEP_LOG_LINE@perf_json@  \"results\": {@@@",
319      "@@@STEP_LOG_LINE@perf_json@    \"pathkit.js.mem\": {@@@",
320      "@@@STEP_LOG_LINE@perf_json@      \"default\": {@@@",
321      "@@@STEP_LOG_LINE@perf_json@        \"total_size_bytes\": 7391117,@@@",
322      "@@@STEP_LOG_LINE@perf_json@        \"gzip_size_bytes\": 2884841@@@",
323      "@@@STEP_LOG_LINE@perf_json@      }@@@",
324      "@@@STEP_LOG_LINE@perf_json@    }@@@",
325      "@@@STEP_LOG_LINE@perf_json@  }@@@",
326      "@@@STEP_LOG_LINE@perf_json@}@@@",
327      "@@@STEP_LOG_LINE@perf_json@@@@",
328      "@@@STEP_LOG_END@perf_json@@@",
329      "@@@SET_BUILD_PROPERTY@binary_size_pathkit.js.mem@7391117@@@"
330    ]
331  },
332  {
333    "cmd": [
334      "vpython",
335      "-u",
336      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
337      "--json-output",
338      "/path/to/tmp/json",
339      "glob",
340      "[START_DIR]/build",
341      "libflutter.so"
342    ],
343    "cwd": "[START_DIR]/build",
344    "infra_step": true,
345    "name": "find flutter library",
346    "~followup_annotations": [
347      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/libflutter.so@@@",
348      "@@@STEP_LOG_END@glob@@@"
349    ]
350  },
351  {
352    "cmd": [
353      "python",
354      "-u",
355      "[START_DIR]/cache/work/skia/infra/bots/buildstats/buildstats_flutter.py",
356      "[START_DIR]/build/libflutter_stripped.so",
357      "[START_DIR]/[SWARM_OUT_DIR]",
358      "compiler EMCC configuration Release extra_config PathKit os Debian10 target_arch wasm",
359      "gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456abc",
360      "[START_DIR]/bloaty/bloaty",
361      "[START_DIR]/build/libflutter.so",
362      "skia_in_flutter",
363      "total_size_bytes",
364      "libflutter.so",
365      "#$%^&*"
366    ],
367    "cwd": "[START_DIR]/cache/work/skia",
368    "env": {
369      "CHROME_HEADLESS": "1",
370      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
371    },
372    "name": "Analyze flutter",
373    "~followup_annotations": [
374      "@@@STEP_LOG_LINE@bloaty_file_symbol_short@@@@",
375      "@@@STEP_LOG_LINE@bloaty_file_symbol_short@Report A@@@",
376      "@@@STEP_LOG_LINE@bloaty_file_symbol_short@    Total size: 50 bytes@@@",
377      "@@@STEP_LOG_LINE@bloaty_file_symbol_short@@@@",
378      "@@@STEP_LOG_END@bloaty_file_symbol_short@@@",
379      "@@@STEP_LOG_LINE@bloaty_file_symbol_full@@@@",
380      "@@@STEP_LOG_LINE@bloaty_file_symbol_full@Report B@@@",
381      "@@@STEP_LOG_LINE@bloaty_file_symbol_full@    Total size: 60 bytes@@@",
382      "@@@STEP_LOG_LINE@bloaty_file_symbol_full@@@@",
383      "@@@STEP_LOG_END@bloaty_file_symbol_full@@@",
384      "@@@STEP_LOG_LINE@bloaty_symbol_file_short@@@@",
385      "@@@STEP_LOG_LINE@bloaty_symbol_file_short@Report C@@@",
386      "@@@STEP_LOG_LINE@bloaty_symbol_file_short@    Total size: 70 bytes@@@",
387      "@@@STEP_LOG_LINE@bloaty_symbol_file_short@@@@",
388      "@@@STEP_LOG_END@bloaty_symbol_file_short@@@",
389      "@@@STEP_LOG_LINE@bloaty_symbol_file_full@@@@",
390      "@@@STEP_LOG_LINE@bloaty_symbol_file_full@Report D@@@",
391      "@@@STEP_LOG_LINE@bloaty_symbol_file_full@    Total size: 80 bytes@@@",
392      "@@@STEP_LOG_LINE@bloaty_symbol_file_full@@@@",
393      "@@@STEP_LOG_END@bloaty_symbol_file_full@@@",
394      "@@@STEP_LOG_LINE@perf_json@@@@",
395      "@@@STEP_LOG_LINE@perf_json@{@@@",
396      "@@@STEP_LOG_LINE@perf_json@  \"some\": \"json\",@@@",
397      "@@@STEP_LOG_LINE@perf_json@  \"results\": {@@@",
398      "@@@STEP_LOG_LINE@perf_json@    \"libflutter.so\": {@@@",
399      "@@@STEP_LOG_LINE@perf_json@      \"skia_in_flutter\": {@@@",
400      "@@@STEP_LOG_LINE@perf_json@        \"total_size_bytes\": 1256676@@@",
401      "@@@STEP_LOG_LINE@perf_json@      }@@@",
402      "@@@STEP_LOG_LINE@perf_json@    }@@@",
403      "@@@STEP_LOG_LINE@perf_json@  }@@@",
404      "@@@STEP_LOG_LINE@perf_json@}@@@",
405      "@@@STEP_LOG_LINE@perf_json@@@@",
406      "@@@STEP_LOG_END@perf_json@@@",
407      "@@@SET_BUILD_PROPERTY@binary_size_libflutter.so@1256676@@@"
408    ]
409  },
410  {
411    "cmd": [
412      "vpython",
413      "-u",
414      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
415      "--json-output",
416      "/path/to/tmp/json",
417      "glob",
418      "[START_DIR]/build",
419      "libskia.so"
420    ],
421    "cwd": "[START_DIR]/build",
422    "infra_step": true,
423    "name": "find skia library",
424    "~followup_annotations": [
425      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/libskia.so@@@",
426      "@@@STEP_LOG_END@glob@@@"
427    ]
428  },
429  {
430    "cmd": [
431      "python",
432      "-u",
433      "[START_DIR]/cache/work/skia/infra/bots/buildstats/buildstats_cpp.py",
434      "[START_DIR]/build/libskia.so",
435      "[START_DIR]/[SWARM_OUT_DIR]",
436      "compiler EMCC configuration Release extra_config PathKit os Debian10 target_arch wasm",
437      "gitHash abc123 swarming_bot_id skia-bot-123 swarming_task_id 123456abc",
438      "[START_DIR]/bloaty/bloaty",
439      "total_size_bytes",
440      "#$%^&*"
441    ],
442    "cwd": "[START_DIR]/cache/work/skia",
443    "env": {
444      "CHROME_HEADLESS": "1",
445      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
446    },
447    "name": "Analyze [START_DIR]/build/libskia.so",
448    "~followup_annotations": [
449      "@@@STEP_LOG_LINE@perf_json@@@@",
450      "@@@STEP_LOG_LINE@perf_json@{@@@",
451      "@@@STEP_LOG_LINE@perf_json@  \"some\": \"json\",@@@",
452      "@@@STEP_LOG_LINE@perf_json@  \"results\": {@@@",
453      "@@@STEP_LOG_LINE@perf_json@    \"libskia.so\": {@@@",
454      "@@@STEP_LOG_LINE@perf_json@      \"default\": {@@@",
455      "@@@STEP_LOG_LINE@perf_json@        \"total_size_bytes\": 7391117,@@@",
456      "@@@STEP_LOG_LINE@perf_json@        \"gzip_size_bytes\": 2884841@@@",
457      "@@@STEP_LOG_LINE@perf_json@      }@@@",
458      "@@@STEP_LOG_LINE@perf_json@    }@@@",
459      "@@@STEP_LOG_LINE@perf_json@  }@@@",
460      "@@@STEP_LOG_LINE@perf_json@}@@@",
461      "@@@STEP_LOG_LINE@perf_json@@@@",
462      "@@@STEP_LOG_END@perf_json@@@",
463      "@@@SET_BUILD_PROPERTY@binary_size_libskia.so@7391117@@@"
464    ]
465  },
466  {
467    "cmd": [
468      "vpython",
469      "-u",
470      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
471      "--json-output",
472      "/path/to/tmp/json",
473      "glob",
474      "[START_DIR]/build",
475      "skottie_tool"
476    ],
477    "cwd": "[START_DIR]/build",
478    "infra_step": true,
479    "name": "find skottie_tool",
480    "~followup_annotations": [
481      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/skottie_tool@@@",
482      "@@@STEP_LOG_END@glob@@@"
483    ]
484  },
485  {
486    "cmd": [
487      "python",
488      "-u",
489      "[START_DIR]/cache/work/skia/infra/bots/buildstats/make_treemap.py",
490      "[START_DIR]/build/skottie_tool",
491      "[START_DIR]/[SWARM_OUT_DIR]"
492    ],
493    "cwd": "[START_DIR]/cache/work/skia",
494    "env": {
495      "CHROME_HEADLESS": "1",
496      "DOCKER_CONFIG": "/home/chrome-bot/.docker",
497      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
498    },
499    "name": "Make code size treemap [START_DIR]/build/skottie_tool"
500  },
501  {
502    "cmd": [
503      "vpython",
504      "-u",
505      "RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py",
506      "--json-output",
507      "/path/to/tmp/json",
508      "glob",
509      "[START_DIR]/build",
510      "dm"
511    ],
512    "cwd": "[START_DIR]/build",
513    "infra_step": true,
514    "name": "find dm",
515    "~followup_annotations": [
516      "@@@STEP_LOG_LINE@glob@[START_DIR]/build/dm@@@",
517      "@@@STEP_LOG_END@glob@@@"
518    ]
519  },
520  {
521    "cmd": [
522      "python",
523      "-u",
524      "[START_DIR]/cache/work/skia/infra/bots/buildstats/make_treemap.py",
525      "[START_DIR]/build/dm",
526      "[START_DIR]/[SWARM_OUT_DIR]"
527    ],
528    "cwd": "[START_DIR]/cache/work/skia",
529    "env": {
530      "CHROME_HEADLESS": "1",
531      "DOCKER_CONFIG": "/home/chrome-bot/.docker",
532      "PATH": "<PATH>:RECIPE_REPO[depot_tools]"
533    },
534    "name": "Make code size treemap [START_DIR]/build/dm"
535  },
536  {
537    "name": "$result"
538  }
539]