1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
|
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
# This file contains exhaustive information about all the release artifacs that
# are needed within a type of release.
#
# Structure
# --------
# `s3_bucket_paths` -- prefix to be used per product to correctly access our S3 buckets
# `default_locales` -- list of locales to be used when composing upstream artifacts or the list of
# destinations. If given an empty locale, it uses these locales instead.
# `tasktype_map` -- mapping between task reference and task type, particularly usefule when
# composing the upstreamArtifacts for scriptworker.
# `platform_names` -- various platform mappings used in reckoning artifacts or other paths
# `default` -- a default entry, which the mappings extend and override in such a way that
# final path full-destinations will be a concatenation of the following:
# `s3_bucket_paths`, `destinations`, `locale_prefix`, `pretty_name`
# `from` -- specifies the dependency(ies) from which to expect the particular artifact
# `all_locales` -- boolean argument to specify whether that particular artifact is to be expected
# for all locales or just the default one
# `description` -- brief summary of what that artifact is
# `locale_prefix` -- prefix to be used in the final destination paths, whether that's for default locale or not
# `source_path_modifier` -- any parent dir that might be used in between artifact prefix and filename at source location
# for example `public/build` vs `public/build/ach/`.
# `destinations` -- final list of directories where to push the artifacts in S3
# `pretty_name` -- the final name the artifact will have at destination
# `checksums_path` -- the name to identify one artifact within the checksums file
# `not_for_platforms` -- filtering option to avoid associating an artifact with a specific platform
# `only_for_platforms` -- filtering option to exclusively include the association of an artifact for a specific platform
# `partials_only` -- filtering option to avoid associating an artifact unless this flag is present
# `update_balrog_manifest`-- flag needed downstream in beetmover jobs to reckon the balrog manifest
# `from_buildid` -- flag needed downstream in beetmover jobs to reckon the balrog manifest
s3_bucket_paths:
- pub/firefox/nightly
default_locales:
- en-US
tasktype_map:
build: build
signing: signing
mar-signing: signing
partials-signing: signing
repackage: repackage
repackage-signing: repackage
repackage-signing-msi: repackage
langpack-copy: signing
platform_names:
filename_platform:
by-platform:
linux-shippable: 'linux-i686'
linux-devedition: 'linux-i686'
linux64-shippable: 'linux-x86_64'
linux64-devedition: 'linux-x86_64'
linux64-asan-reporter-shippable: 'linux-x86_64-asan-reporter'
macosx64-shippable: 'mac'
macosx64-devedition: 'mac'
win32-shippable: 'win32'
win32-devedition: 'win32'
win64-shippable: 'win64'
win64-devedition: 'win64'
win64-aarch64-shippable: 'win64-aarch64'
win64-aarch64-devedition: 'win64-aarch64'
win64-asan-reporter-shippable: 'win64-asan-reporter'
stage_platform:
by-platform:
linux-shippable: 'linux'
linux-devedition: 'linux'
linux64-asan-reporter-shippable: 'linux64-asan-reporter'
linux64-shippable: 'linux64'
linux64-devedition: 'linux64'
macosx64-shippable: 'macosx64'
macosx64-devedition: 'macosx64'
win32-shippable: 'win32'
win32-devedition: 'win32'
win64-shippable: 'win64'
win64-devedition: 'win64'
win64-aarch64-shippable: 'win64-aarch64'
win64-aarch64-devedition: 'win64-aarch64'
win64-asan-reporter-shippable: 'win64-asan-reporter'
default: &default
from:
- build
all_locales: false
description: "TO_BE_OVERRIDDEN"
locale_prefix: ''
source_path_modifier:
by-locale:
default: '${locale}'
en-US: ''
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
mapping:
buildhub.json:
<<: *default
description: "Build related information to be consumed by Buildhub service"
pretty_name: firefox-${version}.${locale}.${filename_platform}.buildhub.json
checksums_path: firefox-${version}.${locale}.${filename_platform}.buildhub.json
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.common.tests.tar.gz:
<<: *default
description: "Mixture of reftests, mochitests, UI and others, commonly bundled together in a test suite"
pretty_name: firefox-${version}.${locale}.${filename_platform}.common.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.common.tests.tar.gz
target.cppunittest.tests.tar.gz:
<<: *default
description: "C++ unittests related in-tree test infrastructure"
pretty_name: firefox-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.cppunittest.tests.tar.gz
target.crashreporter-symbols.zip:
<<: *default
description: "Crashreporter symbols to be consumed by Socorro"
pretty_name: firefox-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
checksums_path: firefox-${version}.${locale}.${filename_platform}.crashreporter-symbols.zip
not_for_platforms:
- linux64-asan-reporter-shippable
- win64-asan-reporter-shippable
target.json:
<<: *default
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: firefox-${version}.${locale}.${filename_platform}.json
checksums_path: firefox-${version}.${locale}.${filename_platform}.json
target.mochitest.tests.tar.gz:
<<: *default
description: "Results for running the mochitest testing framework via Javascript function calls"
pretty_name: firefox-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.mochitest.tests.tar.gz
target.mozinfo.json:
<<: *default
description: "Various compile and moz_app flags baked together in a json file"
pretty_name: firefox-${version}.${locale}.${filename_platform}.mozinfo.json
checksums_path: firefox-${version}.${locale}.${filename_platform}.mozinfo.json
target.reftest.tests.tar.gz:
<<: *default
description: "Results for running the reftest testing framework via display of two Web pages comparison"
pretty_name: firefox-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.reftest.tests.tar.gz
target.talos.tests.tar.gz:
<<: *default
description: "Results for running the talos testing framework to measure performance"
pretty_name: firefox-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.talos.tests.tar.gz
target.awsy.tests.tar.gz:
<<: *default
description: "Results for running the awsy testing framework to track memory usage"
pretty_name: firefox-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.awsy.tests.tar.gz
target.test_packages.json:
<<: *default
description: "File containing metadata about all other files and testing harnesses specifics"
pretty_name: firefox-${version}.${locale}.${filename_platform}.test_packages.json
checksums_path: firefox-${version}.${locale}.${filename_platform}.test_packages.json
target.txt:
<<: *default
description: "File containing buildid and revision"
pretty_name: firefox-${version}.${locale}.${filename_platform}.txt
checksums_path: firefox-${version}.${locale}.${filename_platform}.txt
target.web-platform.tests.tar.gz:
<<: *default
description: "Results for running the webplatform testing framework to cover standard Web platform features"
pretty_name: firefox-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.web-platform.tests.tar.gz
target.xpcshell.tests.tar.gz:
<<: *default
description: "Results for running the xpcshell testing framework to enable XPConnect console application"
pretty_name: firefox-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
checksums_path: firefox-${version}.${locale}.${filename_platform}.xpcshell.tests.tar.gz
target.normandy.json:
<<: *default
description: "Metadata about the Normandy client of this build"
only_for_platforms:
- linux64-shippable
pretty_name: firefox-${version}.normandy.json
checksums_path: firefox-${version}.normandy.json
target_info.txt:
<<: *default
description: "File containing the buildID"
pretty_name: firefox-${version}.${locale}.${filename_platform}_info.txt
checksums_path: firefox-${version}.${locale}.${filename_platform}_info.txt
mozharness.zip:
<<: *default
description: "File containing the mozharness set of scripts and configuration used by various automation tools"
pretty_name: mozharness.zip
checksums_path: mozharness.zip
target.jsshell.zip:
<<: *default
description: "Set of shells to allow test snippets of Javascript code without needing to reload the page"
pretty_name: jsshell-${filename_platform}.zip
checksums_path: jsshell-${filename_platform}.zip
not_for_platforms:
- linux64-asan-reporter-shippable
- win64-asan-reporter-shippable
target.langpack.xpi:
<<: *default
all_locales: true
description: "Localized repack that grabs a packaged en-US Firefox and repackages it as locale-specific Firefox"
from:
- langpack-copy
- signing
only_for_platforms:
- linux-shippable
- linux64-shippable
- macosx64-shippable
- win64-shippable
- win32-shippable
- win64-shippable
- win64-aarch64-shippable
- win64-asan-reporter-shippable
- linux64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.langpack.xpi
checksums_path: firefox-${version}.${locale}.langpack.xpi
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
default:
- ${year}/${month}/${upload_date}-${branch}-l10n/${filename_platform}/xpi
- latest-${branch}-l10n/${filename_platform}/xpi
mar:
<<: *default
description: "Alongside `mbsdiff`, a tool used to generate partials"
source_path_modifier: 'host/bin'
pretty_name: mar
checksums_path: mar
not_for_platforms:
- win32-shippable
- win64-shippable
- win64-aarch64-shippable
- win64-asan-reporter-shippable
destinations:
- ${year}/${month}/${upload_date}-${branch}/mar-tools/${stage_platform}
- latest-${branch}/mar-tools/${stage_platform}
mbsdiff:
<<: *default
description: "Alongside `mar`, a tool used to generate partials"
source_path_modifier: 'host/bin'
pretty_name: mbsdiff
checksums_path: mbsdiff
not_for_platforms:
- win32-shippable
- win64-shippable
- win64-aarch64-shippable
- win64-asan-reporter-shippable
destinations:
- ${year}/${month}/${upload_date}-${branch}/mar-tools/${stage_platform}
- latest-${branch}/mar-tools/${stage_platform}
target.tar.bz2:
<<: *default
description: "Main installer for Linux platforms"
all_locales: true
from:
- signing
only_for_platforms:
- linux-shippable
- linux64-shippable
- linux64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.bz2
checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.bz2
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.tar.bz2.asc:
<<: *default
description: "Detached signature for the checksums file"
all_locales: true
from:
- signing
only_for_platforms:
- linux-shippable
- linux64-shippable
- linux64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.tar.bz2.asc
checksums_path: firefox-${version}.${locale}.${filename_platform}.tar.bz2.asc
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.pkg:
<<: *default
description: "Main package installer for Mac OS X platforms"
all_locales: true
from:
- signing
only_for_platforms:
- macosx64-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.pkg
checksums_path: firefox-${version}.${locale}.${filename_platform}.pkg
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.dmg:
<<: *default
description: "Main package disk image for Mac OS X platforms"
all_locales: true
from:
- repackage
only_for_platforms:
- macosx64-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.dmg
checksums_path: firefox-${version}.${locale}.${filename_platform}.dmg
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.zip:
<<: *default
description: "Main package installer for Windows platforms"
all_locales: true
from:
- signing
only_for_platforms:
- win64-shippable
- win32-shippable
- win64-aarch64-shippable
- win64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.zip
checksums_path: firefox-${version}.${locale}.${filename_platform}.zip
target.installer.exe:
<<: *default
description: "Main installer for Windows platforms"
all_locales: true
from:
- repackage-signing
only_for_platforms:
- win64-shippable
- win32-shippable
- win64-aarch64-shippable
- win64-asan-reporter-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.installer.exe
checksums_path: firefox-${version}.${locale}.${filename_platform}.installer.exe
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.stub-installer.exe:
<<: *default
description: "Stub installer for Win32 platforms"
all_locales: true
from:
- repackage-signing
only_for_platforms:
- win32-shippable
pretty_name: Firefox Installer.${locale}.exe
checksums_path: Firefox Installer.${locale}.exe
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.installer.msi:
<<: *default
description: "Windows installer for MSI platform"
all_locales: true
from:
- repackage-signing-msi
only_for_platforms:
- win64-shippable
- win32-shippable
pretty_name: firefox-${version}.${locale}.${filename_platform}.installer.msi
checksums_path: firefox-${version}.${locale}.${filename_platform}.installer.msi
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
target.complete.mar:
<<: *default
description: "The main installer we ship our products baked within"
all_locales: true
from:
- mar-signing
pretty_name: firefox-${version}.${locale}.${filename_platform}.complete.mar
checksums_path: firefox-${version}.${locale}.${filename_platform}.complete.mar
update_balrog_manifest: true
destinations:
by-locale:
en-US:
- ${year}/${month}/${upload_date}-${branch}
- latest-${branch}
- latest-${branch}-l10n
default:
- ${year}/${month}/${upload_date}-${branch}-l10n
- latest-${branch}-l10n
${partial}:
<<: *default
description: "Partials MAR files to serve as updates"
all_locales: true
from:
- partials-signing
partials_only: true
pretty_name: firefox-${branch}-${version}-${filename_platform}-${locale}-${from_buildid}-${buildid}.partial.mar
checksums_path: firefox-${branch}-${version}-${filename_platform}-${locale}-${from_buildid}-${buildid}.partial.mar
update_balrog_manifest: true
from_buildid: ${from_buildid}
destinations:
by-locale:
en-US:
- partials/${year}/${month}/${upload_date}-${branch}
default:
- partials/${year}/${month}/${upload_date}-${branch}-l10n
|