1[
2  {
3    "cmd": [
4      "python",
5      "-u",
6      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
7      "[START_DIR]\\skia\\infra\\bots\\assets\\skp\\VERSION",
8      "/path/to/tmp/"
9    ],
10    "infra_step": true,
11    "name": "Get downloaded SKP VERSION"
12  },
13  {
14    "cmd": [
15      "python",
16      "-u",
17      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
18      "42",
19      "[START_DIR]\\tmp\\SKP_VERSION"
20    ],
21    "infra_step": true,
22    "name": "write SKP_VERSION"
23  },
24  {
25    "cmd": [
26      "python",
27      "-u",
28      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
29      "[START_DIR]\\skia\\infra\\bots\\assets\\skimage\\VERSION",
30      "/path/to/tmp/"
31    ],
32    "infra_step": true,
33    "name": "Get downloaded skimage VERSION"
34  },
35  {
36    "cmd": [
37      "python",
38      "-u",
39      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
40      "42",
41      "[START_DIR]\\tmp\\SK_IMAGE_VERSION"
42    ],
43    "infra_step": true,
44    "name": "write SK_IMAGE_VERSION"
45  },
46  {
47    "cmd": [
48      "python",
49      "-u",
50      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
51      "[START_DIR]\\skia\\infra\\bots\\assets\\svg\\VERSION",
52      "/path/to/tmp/"
53    ],
54    "infra_step": true,
55    "name": "Get downloaded SVG VERSION"
56  },
57  {
58    "cmd": [
59      "python",
60      "-u",
61      "\nimport shutil\nimport sys\nshutil.copy(sys.argv[1], sys.argv[2])\n",
62      "42",
63      "[START_DIR]\\tmp\\SVG_VERSION"
64    ],
65    "infra_step": true,
66    "name": "write SVG_VERSION"
67  },
68  {
69    "cmd": [
70      "python",
71      "-u",
72      "RECIPE_MODULE[build::file]\\resources\\fileutil.py",
73      "rmtree",
74      "[CUSTOM_[SWARM_OUT_DIR]]\\dm"
75    ],
76    "env": {
77      "PYTHONPATH": "[START_DIR]\\skia\\infra\\bots\\.recipe_deps\\build\\scripts"
78    },
79    "infra_step": true,
80    "name": "rmtree dm"
81  },
82  {
83    "cmd": [
84      "python",
85      "-u",
86      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
87      "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
88      "511"
89    ],
90    "infra_step": true,
91    "name": "makedirs dm",
92    "~followup_annotations": [
93      "@@@STEP_LOG_LINE@python.inline@@@@",
94      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
95      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
96      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
97      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
98      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
99      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
100      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
101      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
102      "@@@STEP_LOG_END@python.inline@@@"
103    ]
104  },
105  {
106    "cmd": [
107      "python",
108      "-u",
109      "\nimport sys, os\npath = sys.argv[1]\nmode = int(sys.argv[2])\nif not os.path.isdir(path):\n  if os.path.exists(path):\n    print \"%s exists but is not a dir\" % path\n    sys.exit(1)\n  os.makedirs(path, mode)\n",
110      "[START_DIR]\\tmp",
111      "511"
112    ],
113    "infra_step": true,
114    "name": "makedirs tmp_dir",
115    "~followup_annotations": [
116      "@@@STEP_LOG_LINE@python.inline@@@@",
117      "@@@STEP_LOG_LINE@python.inline@import sys, os@@@",
118      "@@@STEP_LOG_LINE@python.inline@path = sys.argv[1]@@@",
119      "@@@STEP_LOG_LINE@python.inline@mode = int(sys.argv[2])@@@",
120      "@@@STEP_LOG_LINE@python.inline@if not os.path.isdir(path):@@@",
121      "@@@STEP_LOG_LINE@python.inline@  if os.path.exists(path):@@@",
122      "@@@STEP_LOG_LINE@python.inline@    print \"%s exists but is not a dir\" % path@@@",
123      "@@@STEP_LOG_LINE@python.inline@    sys.exit(1)@@@",
124      "@@@STEP_LOG_LINE@python.inline@  os.makedirs(path, mode)@@@",
125      "@@@STEP_LOG_END@python.inline@@@"
126    ]
127  },
128  {
129    "cmd": [
130      "python",
131      "-u",
132      "\nimport contextlib\nimport math\nimport socket\nimport sys\nimport time\nimport urllib2\n\nHASHES_URL = 'https://gold.skia.org/_/hashes'\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[1], '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",
133      "[START_DIR]\\tmp\\uninteresting_hashes.txt"
134    ],
135    "env": {
136      "BUILDTYPE": "Debug_x64",
137      "CHROME_HEADLESS": "1",
138      "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools]",
139      "SKIA_OUT": "[START_DIR]\\out"
140    },
141    "infra_step": true,
142    "name": "get uninteresting hashes",
143    "~followup_annotations": [
144      "@@@STEP_LOG_LINE@python.inline@@@@",
145      "@@@STEP_LOG_LINE@python.inline@import contextlib@@@",
146      "@@@STEP_LOG_LINE@python.inline@import math@@@",
147      "@@@STEP_LOG_LINE@python.inline@import socket@@@",
148      "@@@STEP_LOG_LINE@python.inline@import sys@@@",
149      "@@@STEP_LOG_LINE@python.inline@import time@@@",
150      "@@@STEP_LOG_LINE@python.inline@import urllib2@@@",
151      "@@@STEP_LOG_LINE@python.inline@@@@",
152      "@@@STEP_LOG_LINE@python.inline@HASHES_URL = 'https://gold.skia.org/_/hashes'@@@",
153      "@@@STEP_LOG_LINE@python.inline@RETRIES = 5@@@",
154      "@@@STEP_LOG_LINE@python.inline@TIMEOUT = 60@@@",
155      "@@@STEP_LOG_LINE@python.inline@WAIT_BASE = 15@@@",
156      "@@@STEP_LOG_LINE@python.inline@@@@",
157      "@@@STEP_LOG_LINE@python.inline@socket.setdefaulttimeout(TIMEOUT)@@@",
158      "@@@STEP_LOG_LINE@python.inline@for retry in range(RETRIES):@@@",
159      "@@@STEP_LOG_LINE@python.inline@  try:@@@",
160      "@@@STEP_LOG_LINE@python.inline@    with contextlib.closing(@@@",
161      "@@@STEP_LOG_LINE@python.inline@        urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@",
162      "@@@STEP_LOG_LINE@python.inline@      hashes = w.read()@@@",
163      "@@@STEP_LOG_LINE@python.inline@      with open(sys.argv[1], 'w') as f:@@@",
164      "@@@STEP_LOG_LINE@python.inline@        f.write(hashes)@@@",
165      "@@@STEP_LOG_LINE@python.inline@        break@@@",
166      "@@@STEP_LOG_LINE@python.inline@  except Exception as e:@@@",
167      "@@@STEP_LOG_LINE@python.inline@    print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@",
168      "@@@STEP_LOG_LINE@python.inline@    print e@@@",
169      "@@@STEP_LOG_LINE@python.inline@    if retry == RETRIES:@@@",
170      "@@@STEP_LOG_LINE@python.inline@      raise@@@",
171      "@@@STEP_LOG_LINE@python.inline@    waittime = WAIT_BASE * math.pow(2, retry)@@@",
172      "@@@STEP_LOG_LINE@python.inline@    print 'Retry in %d seconds.' % waittime@@@",
173      "@@@STEP_LOG_LINE@python.inline@    time.sleep(waittime)@@@",
174      "@@@STEP_LOG_END@python.inline@@@"
175    ]
176  },
177  {
178    "cmd": [
179      "[START_DIR]\\out\\Debug_x64\\dm",
180      "--undefok",
181      "--resourcePath",
182      "[START_DIR]\\skia\\resources",
183      "--skps",
184      "[START_DIR]\\skp",
185      "--images",
186      "[START_DIR]\\skimage\\dm",
187      "--colorImages",
188      "[START_DIR]\\skimage\\colorspace",
189      "--nameByHash",
190      "--properties",
191      "gitHash",
192      "abc123",
193      "master",
194      "client.skia",
195      "builder",
196      "Test-Win10-MSVC-AlphaR2-GPU-RadeonR9M470X-x86_64-Debug-Vulkan",
197      "build_number",
198      "5",
199      "--svgs",
200      "[START_DIR]\\svg",
201      "--key",
202      "arch",
203      "x86_64",
204      "compiler",
205      "MSVC",
206      "configuration",
207      "Debug",
208      "cpu_or_gpu",
209      "GPU",
210      "cpu_or_gpu_value",
211      "RadeonR9M470X",
212      "extra_config",
213      "Vulkan",
214      "model",
215      "AlphaR2",
216      "os",
217      "Win10",
218      "--uninterestingHashesFile",
219      "[START_DIR]\\tmp\\uninteresting_hashes.txt",
220      "--writePath",
221      "[CUSTOM_[SWARM_OUT_DIR]]\\dm",
222      "--nocpu",
223      "--randomProcessorTest",
224      "--config",
225      "vk",
226      "--src",
227      "tests",
228      "gm",
229      "image",
230      "colorImage",
231      "svg",
232      "--blacklist",
233      "_",
234      "image",
235      "gen_platf",
236      "rle8-height-negative.bmp",
237      "_",
238      "image",
239      "gen_platf",
240      "rle4-height-negative.bmp",
241      "_",
242      "image",
243      "gen_platf",
244      "pal8os2v2.bmp",
245      "_",
246      "image",
247      "gen_platf",
248      "pal8os2v2-16.bmp",
249      "_",
250      "image",
251      "gen_platf",
252      "rgba32abf.bmp",
253      "_",
254      "image",
255      "gen_platf",
256      "rgb24prof.bmp",
257      "_",
258      "image",
259      "gen_platf",
260      "rgb24lprof.bmp",
261      "_",
262      "image",
263      "gen_platf",
264      "8bpp-pixeldata-cropped.bmp",
265      "_",
266      "image",
267      "gen_platf",
268      "4bpp-pixeldata-cropped.bmp",
269      "_",
270      "image",
271      "gen_platf",
272      "32bpp-pixeldata-cropped.bmp",
273      "_",
274      "image",
275      "gen_platf",
276      "24bpp-pixeldata-cropped.bmp",
277      "_",
278      "image",
279      "gen_platf",
280      "testimgari.jpg",
281      "_",
282      "image",
283      "_",
284      "interlaced1.png",
285      "_",
286      "image",
287      "_",
288      "interlaced2.png",
289      "_",
290      "image",
291      "_",
292      "interlaced3.png",
293      "_",
294      "image",
295      "_",
296      ".arw",
297      "_",
298      "image",
299      "_",
300      ".cr2",
301      "_",
302      "image",
303      "_",
304      ".dng",
305      "_",
306      "image",
307      "_",
308      ".nef",
309      "_",
310      "image",
311      "_",
312      ".nrw",
313      "_",
314      "image",
315      "_",
316      ".orf",
317      "_",
318      "image",
319      "_",
320      ".raf",
321      "_",
322      "image",
323      "_",
324      ".rw2",
325      "_",
326      "image",
327      "_",
328      ".pef",
329      "_",
330      "image",
331      "_",
332      ".srw",
333      "_",
334      "image",
335      "_",
336      ".ARW",
337      "_",
338      "image",
339      "_",
340      ".CR2",
341      "_",
342      "image",
343      "_",
344      ".DNG",
345      "_",
346      "image",
347      "_",
348      ".NEF",
349      "_",
350      "image",
351      "_",
352      ".NRW",
353      "_",
354      "image",
355      "_",
356      ".ORF",
357      "_",
358      "image",
359      "_",
360      ".RAF",
361      "_",
362      "image",
363      "_",
364      ".RW2",
365      "_",
366      "image",
367      "_",
368      ".PEF",
369      "_",
370      "image",
371      "_",
372      ".SRW"
373    ],
374    "env": {
375      "BUILDTYPE": "Debug_x64",
376      "CHROME_HEADLESS": "1",
377      "PATH": "%(PATH)s;RECIPE_PACKAGE_REPO[depot_tools]",
378      "SKIA_OUT": "[START_DIR]\\out"
379    },
380    "name": "dm"
381  },
382  {
383    "name": "$result",
384    "recipe_result": null,
385    "status_code": 0
386  }
387]