1
+ [
2
+ {
3
+ "cmd" : [
4
+ " python" ,
5
+ " -u" ,
6
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
7
+ " --json-output" ,
8
+ " /path/to/tmp/json" ,
9
+ " ensure-directory" ,
10
+ " --mode" ,
11
+ " 0777" ,
12
+ " [START_DIR]/tmp"
13
+ ],
14
+ "infra_step" : true ,
15
+ "name" : " makedirs tmp_dir"
16
+ },
17
+ {
18
+ "cmd" : [
19
+ " python" ,
20
+ " -u" ,
21
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
22
+ " --json-output" ,
23
+ " /path/to/tmp/json" ,
24
+ " copy" ,
25
+ " [START_DIR]/skia/infra/bots/assets/skp/VERSION" ,
26
+ " /path/to/tmp/"
27
+ ],
28
+ "infra_step" : true ,
29
+ "name" : " Get skp VERSION"
30
+ },
31
+ {
32
+ "cmd" : [
33
+ " python" ,
34
+ " -u" ,
35
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
36
+ " --json-output" ,
37
+ " /path/to/tmp/json" ,
38
+ " copy" ,
39
+ " 42" ,
40
+ " [START_DIR]/tmp/SKP_VERSION"
41
+ ],
42
+ "infra_step" : true ,
43
+ "name" : " write SKP_VERSION"
44
+ },
45
+ {
46
+ "cmd" : [
47
+ " python" ,
48
+ " -u" ,
49
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
50
+ " --json-output" ,
51
+ " /path/to/tmp/json" ,
52
+ " copy" ,
53
+ " [START_DIR]/skia/infra/bots/assets/skimage/VERSION" ,
54
+ " /path/to/tmp/"
55
+ ],
56
+ "infra_step" : true ,
57
+ "name" : " Get skimage VERSION"
58
+ },
59
+ {
60
+ "cmd" : [
61
+ " python" ,
62
+ " -u" ,
63
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
64
+ " --json-output" ,
65
+ " /path/to/tmp/json" ,
66
+ " copy" ,
67
+ " 42" ,
68
+ " [START_DIR]/tmp/SK_IMAGE_VERSION"
69
+ ],
70
+ "infra_step" : true ,
71
+ "name" : " write SK_IMAGE_VERSION"
72
+ },
73
+ {
74
+ "cmd" : [
75
+ " python" ,
76
+ " -u" ,
77
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
78
+ " --json-output" ,
79
+ " /path/to/tmp/json" ,
80
+ " copy" ,
81
+ " [START_DIR]/skia/infra/bots/assets/svg/VERSION" ,
82
+ " /path/to/tmp/"
83
+ ],
84
+ "infra_step" : true ,
85
+ "name" : " Get svg VERSION"
86
+ },
87
+ {
88
+ "cmd" : [
89
+ " python" ,
90
+ " -u" ,
91
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
92
+ " --json-output" ,
93
+ " /path/to/tmp/json" ,
94
+ " copy" ,
95
+ " 42" ,
96
+ " [START_DIR]/tmp/SVG_VERSION"
97
+ ],
98
+ "infra_step" : true ,
99
+ "name" : " write SVG_VERSION"
100
+ },
101
+ {
102
+ "cmd" : [
103
+ " python" ,
104
+ " -u" ,
105
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
106
+ " --json-output" ,
107
+ " /path/to/tmp/json" ,
108
+ " rmtree" ,
109
+ " [START_DIR]/test"
110
+ ],
111
+ "infra_step" : true ,
112
+ "name" : " rmtree test"
113
+ },
114
+ {
115
+ "cmd" : [
116
+ " python" ,
117
+ " -u" ,
118
+ " RECIPE_MODULE[recipe_engine::file]/resources/fileutil.py" ,
119
+ " --json-output" ,
120
+ " /path/to/tmp/json" ,
121
+ " ensure-directory" ,
122
+ " --mode" ,
123
+ " 0777" ,
124
+ " [START_DIR]/test"
125
+ ],
126
+ "infra_step" : true ,
127
+ "name" : " makedirs test"
128
+ },
129
+ {
130
+ "cmd" : [
131
+ " python" ,
132
+ " -u" ,
133
+ " \n import contextlib\n import math\n import socket\n import sys\n import time\n import urllib2\n\n HASHES_URL = sys.argv[1]\n RETRIES = 5\n TIMEOUT = 60\n WAIT_BASE = 15\n\n socket.setdefaulttimeout(TIMEOUT)\n for 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 " ,
134
+ " https://example.com/hashes.txt" ,
135
+ " [START_DIR]/tmp/uninteresting_hashes.txt"
136
+ ],
137
+ "env" : {
138
+ "CHROME_HEADLESS" : " 1" ,
139
+ "PATH" : " <PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
140
+ },
141
+ "infra_step" : true ,
142
+ "name" : " get uninteresting hashes" ,
143
+ "~followup_annotations" : [
144
+
145
+ " @@@[email protected] @import contextlib@@@" ,
146
+ " @@@[email protected] @import math@@@" ,
147
+ " @@@[email protected] @import socket@@@" ,
148
+ " @@@[email protected] @import sys@@@" ,
149
+ " @@@[email protected] @import time@@@" ,
150
+ " @@@[email protected] @import urllib2@@@" ,
151
+
152
+ " @@@[email protected] @HASHES_URL = sys.argv[1]@@@" ,
153
+ " @@@[email protected] @RETRIES = 5@@@" ,
154
+ " @@@[email protected] @TIMEOUT = 60@@@" ,
155
+ " @@@[email protected] @WAIT_BASE = 15@@@" ,
156
+
157
+ " @@@[email protected] @socket.setdefaulttimeout(TIMEOUT)@@@" ,
158
+ " @@@[email protected] @for retry in range(RETRIES):@@@" ,
159
+
160
+ " @@@[email protected] @ with contextlib.closing(@@@" ,
161
+ " @@@[email protected] @ urllib2.urlopen(HASHES_URL, timeout=TIMEOUT)) as w:@@@" ,
162
+ " @@@[email protected] @ hashes = w.read()@@@" ,
163
+ " @@@[email protected] @ with open(sys.argv[2], 'w') as f:@@@" ,
164
+ " @@@[email protected] @ f.write(hashes)@@@" ,
165
+
166
+ " @@@[email protected] @ except Exception as e:@@@" ,
167
+ " @@@[email protected] @ print 'Failed to get uninteresting hashes from %s:' % HASHES_URL@@@" ,
168
+ " @@@[email protected] @ print e@@@" ,
169
+ " @@@[email protected] @ if retry == RETRIES:@@@" ,
170
+
171
+ " @@@[email protected] @ waittime = WAIT_BASE * math.pow(2, retry)@@@" ,
172
+ " @@@[email protected] @ print 'Retry in %d seconds.' % waittime@@@" ,
173
+ " @@@[email protected] @ time.sleep(waittime)@@@" ,
174
+
175
+ ]
176
+ },
177
+ {
178
+ "cmd" : [
179
+ " python" ,
180
+ " -u" ,
181
+ " import os\n print os.environ.get('SWARMING_BOT_ID', '')\n "
182
+ ],
183
+ "name" : " get swarming bot id" ,
184
+ "stdout" : " /path/to/tmp/" ,
185
+ "~followup_annotations" : [
186
+ " @@@[email protected] @import os@@@" ,
187
+ " @@@[email protected] @print os.environ.get('SWARMING_BOT_ID', '')@@@" ,
188
+
189
+ ]
190
+ },
191
+ {
192
+ "cmd" : [
193
+ " python" ,
194
+ " -u" ,
195
+ " import os\n print os.environ.get('SWARMING_TASK_ID', '')\n "
196
+ ],
197
+ "name" : " get swarming task id" ,
198
+ "stdout" : " /path/to/tmp/" ,
199
+ "~followup_annotations" : [
200
+ " @@@[email protected] @import os@@@" ,
201
+ " @@@[email protected] @print os.environ.get('SWARMING_TASK_ID', '')@@@" ,
202
+
203
+ ]
204
+ },
205
+ {
206
+ "cmd" : [
207
+ " python" ,
208
+ " -u" ,
209
+ " RECIPE_MODULE[skia::flavor]/resources/symbolize_stack_trace.py" ,
210
+ " [START_DIR]" ,
211
+ " catchsegv" ,
212
+ " [START_DIR]/build/dm" ,
213
+ " --resourcePath" ,
214
+ " [START_DIR]/skia/resources" ,
215
+ " --skps" ,
216
+ " [START_DIR]/skp" ,
217
+ " --images" ,
218
+ " [START_DIR]/skimage/dm" ,
219
+ " --colorImages" ,
220
+ " [START_DIR]/skimage/colorspace" ,
221
+ " --nameByHash" ,
222
+ " --properties" ,
223
+ " gitHash" ,
224
+ " abc123" ,
225
+ " builder" ,
226
+ " Test-Debian9-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Wuffs" ,
227
+ " buildbucket_build_id" ,
228
+ " 123454321" ,
229
+ " swarming_bot_id" ,
230
+ " skia-bot-123" ,
231
+ " swarming_task_id" ,
232
+ " 123456" ,
233
+ " --svgs" ,
234
+ " [START_DIR]/svg" ,
235
+ " --key" ,
236
+ " arch" ,
237
+ " x86_64" ,
238
+ " compiler" ,
239
+ " Clang" ,
240
+ " configuration" ,
241
+ " Debug" ,
242
+ " cpu_or_gpu" ,
243
+ " CPU" ,
244
+ " cpu_or_gpu_value" ,
245
+ " AVX2" ,
246
+ " extra_config" ,
247
+ " Wuffs" ,
248
+ " model" ,
249
+ " GCE" ,
250
+ " os" ,
251
+ " Debian9" ,
252
+ " style" ,
253
+ " default" ,
254
+ " --uninterestingHashesFile" ,
255
+ " [START_DIR]/tmp/uninteresting_hashes.txt" ,
256
+ " --writePath" ,
257
+ " [START_DIR]/[SWARM_OUT_DIR]" ,
258
+ " --dont_write" ,
259
+ " pdf" ,
260
+ " --randomProcessorTest" ,
261
+ " --nogpu" ,
262
+ " --config" ,
263
+ " 8888" ,
264
+ " --src" ,
265
+ " tests" ,
266
+ " gm" ,
267
+ " image" ,
268
+ " colorImage" ,
269
+ " --blacklist" ,
270
+ " _" ,
271
+ " image" ,
272
+ " gen_platf" ,
273
+ " error" ,
274
+ " _" ,
275
+ " tests" ,
276
+ " _" ,
277
+ " Codec_partial" ,
278
+ " _" ,
279
+ " tests" ,
280
+ " _" ,
281
+ " Codec_gif" ,
282
+ " --nonativeFonts" ,
283
+ " --verbose"
284
+ ],
285
+ "cwd" : " [START_DIR]/skia" ,
286
+ "env" : {
287
+ "CHROME_HEADLESS" : " 1" ,
288
+ "PATH" : " <PATH>:RECIPE_PACKAGE_REPO[depot_tools]"
289
+ },
290
+ "name" : " symbolized dm"
291
+ },
292
+ {
293
+ "jsonResult" : null ,
294
+ "name" : " $result"
295
+ }
296
+ ]
0 commit comments