1cb93a386Sopenharmony_ci[
2cb93a386Sopenharmony_ci  {
3cb93a386Sopenharmony_ci    "cmd": [
4cb93a386Sopenharmony_ci      "vpython",
5cb93a386Sopenharmony_ci      "-u",
6cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
7cb93a386Sopenharmony_ci      "--json-output",
8cb93a386Sopenharmony_ci      "/path/to/tmp/json",
9cb93a386Sopenharmony_ci      "ensure-directory",
10cb93a386Sopenharmony_ci      "--mode",
11cb93a386Sopenharmony_ci      "0777",
12cb93a386Sopenharmony_ci      "[START_DIR]\\tmp"
13cb93a386Sopenharmony_ci    ],
14cb93a386Sopenharmony_ci    "infra_step": true,
15cb93a386Sopenharmony_ci    "name": "makedirs tmp_dir"
16cb93a386Sopenharmony_ci  },
17cb93a386Sopenharmony_ci  {
18cb93a386Sopenharmony_ci    "cmd": [
19cb93a386Sopenharmony_ci      "vpython",
20cb93a386Sopenharmony_ci      "-u",
21cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
22cb93a386Sopenharmony_ci      "--json-output",
23cb93a386Sopenharmony_ci      "/path/to/tmp/json",
24cb93a386Sopenharmony_ci      "copy",
25cb93a386Sopenharmony_ci      "[START_DIR]\\skia\\infra\\bots\\assets\\skp\\VERSION",
26cb93a386Sopenharmony_ci      "/path/to/tmp/"
27cb93a386Sopenharmony_ci    ],
28cb93a386Sopenharmony_ci    "infra_step": true,
29cb93a386Sopenharmony_ci    "name": "Get skp VERSION",
30cb93a386Sopenharmony_ci    "~followup_annotations": [
31cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@VERSION@42@@@",
32cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@VERSION@@@"
33cb93a386Sopenharmony_ci    ]
34cb93a386Sopenharmony_ci  },
35cb93a386Sopenharmony_ci  {
36cb93a386Sopenharmony_ci    "cmd": [
37cb93a386Sopenharmony_ci      "vpython",
38cb93a386Sopenharmony_ci      "-u",
39cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
40cb93a386Sopenharmony_ci      "--json-output",
41cb93a386Sopenharmony_ci      "/path/to/tmp/json",
42cb93a386Sopenharmony_ci      "copy",
43cb93a386Sopenharmony_ci      "42",
44cb93a386Sopenharmony_ci      "[START_DIR]\\tmp\\SKP_VERSION"
45cb93a386Sopenharmony_ci    ],
46cb93a386Sopenharmony_ci    "infra_step": true,
47cb93a386Sopenharmony_ci    "name": "write SKP_VERSION",
48cb93a386Sopenharmony_ci    "~followup_annotations": [
49cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@SKP_VERSION@42@@@",
50cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@SKP_VERSION@@@"
51cb93a386Sopenharmony_ci    ]
52cb93a386Sopenharmony_ci  },
53cb93a386Sopenharmony_ci  {
54cb93a386Sopenharmony_ci    "cmd": [
55cb93a386Sopenharmony_ci      "vpython",
56cb93a386Sopenharmony_ci      "-u",
57cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
58cb93a386Sopenharmony_ci      "--json-output",
59cb93a386Sopenharmony_ci      "/path/to/tmp/json",
60cb93a386Sopenharmony_ci      "copy",
61cb93a386Sopenharmony_ci      "[START_DIR]\\skia\\infra\\bots\\assets\\skimage\\VERSION",
62cb93a386Sopenharmony_ci      "/path/to/tmp/"
63cb93a386Sopenharmony_ci    ],
64cb93a386Sopenharmony_ci    "infra_step": true,
65cb93a386Sopenharmony_ci    "name": "Get skimage VERSION",
66cb93a386Sopenharmony_ci    "~followup_annotations": [
67cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@VERSION@42@@@",
68cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@VERSION@@@"
69cb93a386Sopenharmony_ci    ]
70cb93a386Sopenharmony_ci  },
71cb93a386Sopenharmony_ci  {
72cb93a386Sopenharmony_ci    "cmd": [
73cb93a386Sopenharmony_ci      "vpython",
74cb93a386Sopenharmony_ci      "-u",
75cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
76cb93a386Sopenharmony_ci      "--json-output",
77cb93a386Sopenharmony_ci      "/path/to/tmp/json",
78cb93a386Sopenharmony_ci      "copy",
79cb93a386Sopenharmony_ci      "42",
80cb93a386Sopenharmony_ci      "[START_DIR]\\tmp\\SK_IMAGE_VERSION"
81cb93a386Sopenharmony_ci    ],
82cb93a386Sopenharmony_ci    "infra_step": true,
83cb93a386Sopenharmony_ci    "name": "write SK_IMAGE_VERSION",
84cb93a386Sopenharmony_ci    "~followup_annotations": [
85cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@SK_IMAGE_VERSION@42@@@",
86cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@SK_IMAGE_VERSION@@@"
87cb93a386Sopenharmony_ci    ]
88cb93a386Sopenharmony_ci  },
89cb93a386Sopenharmony_ci  {
90cb93a386Sopenharmony_ci    "cmd": [
91cb93a386Sopenharmony_ci      "vpython",
92cb93a386Sopenharmony_ci      "-u",
93cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
94cb93a386Sopenharmony_ci      "--json-output",
95cb93a386Sopenharmony_ci      "/path/to/tmp/json",
96cb93a386Sopenharmony_ci      "copy",
97cb93a386Sopenharmony_ci      "[START_DIR]\\skia\\infra\\bots\\assets\\svg\\VERSION",
98cb93a386Sopenharmony_ci      "/path/to/tmp/"
99cb93a386Sopenharmony_ci    ],
100cb93a386Sopenharmony_ci    "infra_step": true,
101cb93a386Sopenharmony_ci    "name": "Get svg VERSION",
102cb93a386Sopenharmony_ci    "~followup_annotations": [
103cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@VERSION@42@@@",
104cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@VERSION@@@"
105cb93a386Sopenharmony_ci    ]
106cb93a386Sopenharmony_ci  },
107cb93a386Sopenharmony_ci  {
108cb93a386Sopenharmony_ci    "cmd": [
109cb93a386Sopenharmony_ci      "vpython",
110cb93a386Sopenharmony_ci      "-u",
111cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
112cb93a386Sopenharmony_ci      "--json-output",
113cb93a386Sopenharmony_ci      "/path/to/tmp/json",
114cb93a386Sopenharmony_ci      "copy",
115cb93a386Sopenharmony_ci      "42",
116cb93a386Sopenharmony_ci      "[START_DIR]\\tmp\\SVG_VERSION"
117cb93a386Sopenharmony_ci    ],
118cb93a386Sopenharmony_ci    "infra_step": true,
119cb93a386Sopenharmony_ci    "name": "write SVG_VERSION",
120cb93a386Sopenharmony_ci    "~followup_annotations": [
121cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@SVG_VERSION@42@@@",
122cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@SVG_VERSION@@@"
123cb93a386Sopenharmony_ci    ]
124cb93a386Sopenharmony_ci  },
125cb93a386Sopenharmony_ci  {
126cb93a386Sopenharmony_ci    "cmd": [
127cb93a386Sopenharmony_ci      "vpython",
128cb93a386Sopenharmony_ci      "-u",
129cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
130cb93a386Sopenharmony_ci      "--json-output",
131cb93a386Sopenharmony_ci      "/path/to/tmp/json",
132cb93a386Sopenharmony_ci      "rmtree",
133cb93a386Sopenharmony_ci      "[START_DIR]\\test"
134cb93a386Sopenharmony_ci    ],
135cb93a386Sopenharmony_ci    "infra_step": true,
136cb93a386Sopenharmony_ci    "name": "rmtree test"
137cb93a386Sopenharmony_ci  },
138cb93a386Sopenharmony_ci  {
139cb93a386Sopenharmony_ci    "cmd": [
140cb93a386Sopenharmony_ci      "vpython",
141cb93a386Sopenharmony_ci      "-u",
142cb93a386Sopenharmony_ci      "RECIPE_MODULE[recipe_engine::file]\\resources\\fileutil.py",
143cb93a386Sopenharmony_ci      "--json-output",
144cb93a386Sopenharmony_ci      "/path/to/tmp/json",
145cb93a386Sopenharmony_ci      "ensure-directory",
146cb93a386Sopenharmony_ci      "--mode",
147cb93a386Sopenharmony_ci      "0777",
148cb93a386Sopenharmony_ci      "[START_DIR]\\test"
149cb93a386Sopenharmony_ci    ],
150cb93a386Sopenharmony_ci    "infra_step": true,
151cb93a386Sopenharmony_ci    "name": "makedirs test"
152cb93a386Sopenharmony_ci  },
153cb93a386Sopenharmony_ci  {
154cb93a386Sopenharmony_ci    "cmd": [
155cb93a386Sopenharmony_ci      "python",
156cb93a386Sopenharmony_ci      "-u",
157cb93a386Sopenharmony_ci      "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = sys.argv[1]\nRETRIES = 5\nTIMEOUT = 60\nWAIT_BASE = 15\n\nsocket.setdefaulttimeout(TIMEOUT)\nfor retry in range(RETRIES):\n  try:\n    with contextlib.closing(\n        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:\n      hashes = w.read()\n      with open(sys.argv[2], 'w') as f:\n        f.write(hashes)\n        break\n  except Exception as e:\n    print('Failed to get uninteresting hashes from %s:' % HASHES_URL)\n    print(e)\n    if retry == RETRIES:\n      raise\n    waittime = WAIT_BASE * math.pow(2, retry)\n    print('Retry in %d seconds.' % waittime)\n    time.sleep(waittime)\n",
158cb93a386Sopenharmony_ci      "https://example.com/hashes.txt",
159cb93a386Sopenharmony_ci      "[START_DIR]\\tmp\\uninteresting_hashes.txt"
160cb93a386Sopenharmony_ci    ],
161cb93a386Sopenharmony_ci    "env": {
162cb93a386Sopenharmony_ci      "CHROME_HEADLESS": "1",
163cb93a386Sopenharmony_ci      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
164cb93a386Sopenharmony_ci    },
165cb93a386Sopenharmony_ci    "infra_step": true,
166cb93a386Sopenharmony_ci    "name": "get uninteresting hashes",
167cb93a386Sopenharmony_ci    "~followup_annotations": [
168cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@@@@",
169cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
170cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import math@@@",
171cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import socket@@@",
172cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
173cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import time@@@",
174cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
175cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@@@@",
176cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@HASHES_URL = sys.argv[1]@@@",
177cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
178cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
179cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
180cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@@@@",
181cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
182cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
183cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@  try:@@@",
184cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@",
185cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
186cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@",
187cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[2], 'w') as f:@@@",
188cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@",
189cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@        break@@@",
190cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@  except Exception as e:@@@",
191cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    print('Failed to get uninteresting hashes from %s:' % HASHES_URL)@@@",
192cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    print(e)@@@",
193cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@",
194cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@      raise@@@",
195cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
196cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    print('Retry in %d seconds.' % waittime)@@@",
197cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@",
198cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@python.inline@@@"
199cb93a386Sopenharmony_ci    ]
200cb93a386Sopenharmony_ci  },
201cb93a386Sopenharmony_ci  {
202cb93a386Sopenharmony_ci    "cmd": [
203cb93a386Sopenharmony_ci      "python",
204cb93a386Sopenharmony_ci      "-u",
205cb93a386Sopenharmony_ci      "import os\nprint(os.environ.get('SWARMING_BOT_ID', ''))\n"
206cb93a386Sopenharmony_ci    ],
207cb93a386Sopenharmony_ci    "name": "get swarming bot id",
208cb93a386Sopenharmony_ci    "~followup_annotations": [
209cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import os@@@",
210cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_BOT_ID', ''))@@@",
211cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@python.inline@@@"
212cb93a386Sopenharmony_ci    ]
213cb93a386Sopenharmony_ci  },
214cb93a386Sopenharmony_ci  {
215cb93a386Sopenharmony_ci    "cmd": [
216cb93a386Sopenharmony_ci      "python",
217cb93a386Sopenharmony_ci      "-u",
218cb93a386Sopenharmony_ci      "import os\nprint(os.environ.get('SWARMING_TASK_ID', ''))\n"
219cb93a386Sopenharmony_ci    ],
220cb93a386Sopenharmony_ci    "name": "get swarming task id",
221cb93a386Sopenharmony_ci    "~followup_annotations": [
222cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@import os@@@",
223cb93a386Sopenharmony_ci      "@@@STEP_LOG_LINE@python.inline@print(os.environ.get('SWARMING_TASK_ID', ''))@@@",
224cb93a386Sopenharmony_ci      "@@@STEP_LOG_END@python.inline@@@"
225cb93a386Sopenharmony_ci    ]
226cb93a386Sopenharmony_ci  },
227cb93a386Sopenharmony_ci  {
228cb93a386Sopenharmony_ci    "cmd": [
229cb93a386Sopenharmony_ci      "powershell",
230cb93a386Sopenharmony_ci      "-ExecutionPolicy",
231cb93a386Sopenharmony_ci      "Unrestricted",
232cb93a386Sopenharmony_ci      "-File",
233cb93a386Sopenharmony_ci      "RECIPE_MODULE[skia::flavor]\\resources\\win_run_and_check_log.ps1",
234cb93a386Sopenharmony_ci      "[START_DIR]\\build\\dm",
235cb93a386Sopenharmony_ci      "--example",
236cb93a386Sopenharmony_ci      "--flags",
237cb93a386Sopenharmony_ci      "--properties",
238cb93a386Sopenharmony_ci      "bot",
239cb93a386Sopenharmony_ci      "skia-bot-123",
240cb93a386Sopenharmony_ci      "key1",
241cb93a386Sopenharmony_ci      "value1",
242cb93a386Sopenharmony_ci      "task",
243cb93a386Sopenharmony_ci      "123456",
244cb93a386Sopenharmony_ci      "--resourcePath",
245cb93a386Sopenharmony_ci      "[START_DIR]\\skia\\resources",
246cb93a386Sopenharmony_ci      "--skps",
247cb93a386Sopenharmony_ci      "[START_DIR]\\skp",
248cb93a386Sopenharmony_ci      "--images",
249cb93a386Sopenharmony_ci      "[START_DIR]\\skimage\\dm",
250cb93a386Sopenharmony_ci      "--colorImages",
251cb93a386Sopenharmony_ci      "[START_DIR]\\skimage\\colorspace",
252cb93a386Sopenharmony_ci      "--svgs",
253cb93a386Sopenharmony_ci      "[START_DIR]\\svg\\svg",
254cb93a386Sopenharmony_ci      "--uninterestingHashesFile",
255cb93a386Sopenharmony_ci      "[START_DIR]\\tmp\\uninteresting_hashes.txt",
256cb93a386Sopenharmony_ci      "--writePath",
257cb93a386Sopenharmony_ci      "[START_DIR]\\[SWARM_OUT_DIR]"
258cb93a386Sopenharmony_ci    ],
259cb93a386Sopenharmony_ci    "env": {
260cb93a386Sopenharmony_ci      "CHROME_HEADLESS": "1",
261cb93a386Sopenharmony_ci      "PATH": "<PATH>;RECIPE_REPO[depot_tools]"
262cb93a386Sopenharmony_ci    },
263cb93a386Sopenharmony_ci    "name": "dm"
264cb93a386Sopenharmony_ci  },
265cb93a386Sopenharmony_ci  {
266cb93a386Sopenharmony_ci    "name": "$result"
267cb93a386Sopenharmony_ci  }
268cb93a386Sopenharmony_ci]