Bug 1841050 - Add pref webgl.gl_khr_no_error:true. r=gfx-reviewers,bradwerth
[gecko.git] / taskcluster / ci / build / android.yml
blobd45d4532c610c604cdb4631673925456e3f36a31
1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 ---
5 job-defaults:
6     attributes:
7         artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
8         maven_packages:
9             - geckoview
10     index:
11         product: mobile
12     worker:
13         docker-image: {in-tree: android-build}
14         max-run-time: 7200
15         env:
16             GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
17         artifacts:
18             - name: public/build/maven
19               path: /builds/worker/workspace/obj-build/gradle/maven/
20               type: directory
21             - name: public/build/geckoview-androidTest.apk
22               path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
23               type: file
24             - name: public/build/geckoview-test_runner.apk
25               path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
26               type: file
27             - name: public/build/geckoview-test_runner.aab
28               path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
29               type: file
30             - name: public/build/geckoview_example.apk
31               path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
32               type: file
33             - name: public/build/geckoview_example.aab
34               path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
35               type: file
36             - name: public/build
37               path: /builds/worker/artifacts/
38               type: directory
39     run:
40         using: mozharness
41         script: "mozharness/scripts/fx_desktop_build.py"
42         secrets: true
43         mozconfig-variant: null
44         tooltool-downloads: internal
45     fetches:
46         toolchain:
47             - android-ndk-linux
48             - android-sdk-linux
49             - linux64-jdk
50             - linux64-rust-android
51             - linux64-rust-size
52             - linux64-cbindgen
53             - linux64-dump_syms
54             - linux64-nasm
55             - linux64-node
56             - sysroot-x86_64-linux-gnu
57             - sysroot-wasm32-wasi
59 android-arm/debug:
60     description: "Android 5.0 Arm Debug"
61     index:
62         job-name: android-arm-debug
63     attributes:
64         enable-full-crashsymbols: true
65     treeherder:
66         platform: android-5-0-armv7/debug
67         symbol: B
68     worker-type: b-linux-gcp
69     worker:
70         env:
71             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
72             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
73     run:
74         actions: [get-secrets, build]
75         config: ["builds/releng_base_android_64_builds.py"]
76         custom-build-variant-cfg: arm-debug
77     use-sccache: true
78     fetches:
79         toolchain:
80             - linux64-clang
81             - linux64-sccache
82             - android-gradle-dependencies
84 android-x86/opt:
85     description: "Android 5.0 x86 Opt"
86     index:
87         job-name: android-x86-opt
88     attributes:
89         enable-full-crashsymbols: true
90     treeherder:
91         platform: android-5-0-x86/opt
92         symbol: B
93     run-on-projects: ['integration']
94     worker-type: b-linux-gcp
95     worker:
96         env:
97             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
98     run:
99         actions: [get-secrets, build]
100         config: ["builds/releng_base_android_64_builds.py"]
101         custom-build-variant-cfg: x86
102     use-sccache: true
103     fetches:
104         toolchain:
105             - linux64-clang
106             - linux64-sccache
107             - android-gradle-dependencies
109 android-x86-lite/opt:
110     description: "Android 4.1 x86 Opt"
111     index:
112         job-name: android-x86-lite-opt
113     attributes:
114         enable-full-crashsymbols: true
115     treeherder:
116         platform: android-4-1-x86/opt
117         symbol: Bl
118     run-on-projects: ['integration']
119     worker-type: b-linux-gcp
120     worker:
121         env:
122             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
123             PERFHERDER_EXTRA_OPTIONS: lite
124     run:
125         actions: [get-secrets, build]
126         config: ["builds/releng_base_android_64_builds.py"]
127         custom-build-variant-cfg: x86-lite
128     use-sccache: true
129     fetches:
130         toolchain:
131             - linux64-clang
132             - linux64-sccache
133             - android-gradle-dependencies-lite
135 android-x86-shippable/opt:
136     description: "Android 5.0 x86 Shippable"
137     use-pgo: true
138     attributes:
139         enable-full-crashsymbols: true
140         shippable: true
141     shipping-phase: build
142     shipping-product: fennec
143     index:
144         job-name: android-x86-opt
145         type: android-shippable
146     treeherder:
147         platform: android-5-0-x86-shippable/opt
148         symbol: B
149     run-on-projects: ['release']
150     worker-type: b-linux-gcp
151     worker:
152         env:
153             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
154             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
155     run:
156         actions: [get-secrets, build, multi-l10n]
157         config:
158             - builds/releng_base_android_64_builds.py
159             - taskcluster_nightly.py
160         custom-build-variant-cfg: x86
161     fetches:
162         toolchain:
163             - linux64-clang
164             - android-gradle-dependencies
166 android-x86-shippable-lite/opt:
167     description: "Android 4.1 x86 Shippable Lite"
168     use-pgo: android-x86-shippable/opt
169     attributes:
170         enable-full-crashsymbols: true
171         shippable: true
172     shipping-phase: build
173     shipping-product: fennec
174     index:
175         job-name: android-x86-lite-opt
176         type: android-shippable
177     treeherder:
178         platform: android-4-1-x86-shippable-lite/opt
179         symbol: Bl
180     run-on-projects: ['release']
181     worker-type: b-linux-gcp
182     worker:
183         env:
184             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
185             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
186     run:
187         actions: [get-secrets, build, multi-l10n]
188         config:
189             - builds/releng_base_android_64_builds.py
190             - taskcluster_nightly.py
191         custom-build-variant-cfg: x86-lite
192     fetches:
193         toolchain:
194             - linux64-clang
195             - android-gradle-dependencies-lite
197 android-arm/opt:
198     description: "Android 5.0 Arm Opt"
199     index:
200         job-name: android-arm-opt
201     attributes:
202         enable-full-crashsymbols: true
203     treeherder:
204         platform: android-5-0-armv7/opt
205         symbol: B
206     run-on-projects: ['integration']
207     worker-type: b-linux-gcp
208     worker:
209         env:
210             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
211             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
212     run:
213         actions: [get-secrets, build]
214         config: ["builds/releng_base_android_64_builds.py"]
215         custom-build-variant-cfg: arm
216     use-sccache: true
217     fetches:
218         toolchain:
219             - linux64-clang
220             - android-gradle-dependencies
221             - linux64-sccache
223 android-arm-lite/opt:
224     description: "Android 4.1 Arm Opt Lite"
225     index:
226         job-name: android-arm-lite-opt
227     attributes:
228         enable-full-crashsymbols: true
229     treeherder:
230         platform: android-4-1-armv7/opt
231         symbol: Bl
232     run-on-projects: ['integration']
233     worker-type: b-linux-gcp
234     worker:
235         env:
236             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
237     run:
238         actions: [get-secrets, build]
239         config: ["builds/releng_base_android_64_builds.py"]
240         custom-build-variant-cfg: arm-lite
241     use-sccache: true
242     fetches:
243         toolchain:
244             - linux64-clang
245             - linux64-sccache
246             - android-gradle-dependencies-lite
248 android-arm-shippable/opt:
249     description: "Android 5.0 Arm Shippable"
250     use-pgo: android-x86-shippable/opt
251     attributes:
252         enable-full-crashsymbols: true
253         shippable: true
254     shipping-phase: build
255     shipping-product: fennec
256     index:
257         job-name: android-arm-opt
258         type: android-shippable-with-multi-l10n
259     treeherder:
260         platform: android-5-0-armv7-shippable/opt
261         symbol: Bpgo(B)
262     run-on-projects: ['release']
263     worker-type: b-linux-gcp
264     worker:
265         env:
266             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
267             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
268     run:
269         actions: [get-secrets, build, multi-l10n]
270         config:
271             - builds/releng_base_android_64_builds.py
272             - taskcluster_nightly.py
273         custom-build-variant-cfg: arm
274     fetches:
275         toolchain:
276             - linux64-clang
277             - android-gradle-dependencies
279 android-arm-shippable-lite/opt:
280     description: "Android 4.1 Arm Shippable Lite"
281     use-pgo: android-x86-shippable/opt
282     attributes:
283         enable-full-crashsymbols: true
284         shippable: true
285     shipping-phase: build
286     shipping-product: fennec
287     index:
288         job-name: android-arm-lite-opt
289         type: android-shippable-with-multi-l10n
290     treeherder:
291         platform: android-4-1-armv7-shippable-lite/opt
292         symbol: Bpgo(Bl)
293     run-on-projects: ['release']
294     worker-type: b-linux-gcp
295     worker:
296         env:
297             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
298             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
299     run:
300         actions: [get-secrets, build, multi-l10n]
301         config:
302             - builds/releng_base_android_64_builds.py
303             - taskcluster_nightly.py
304         custom-build-variant-cfg: arm-lite
305     fetches:
306         toolchain:
307             - linux64-clang
308             - android-gradle-dependencies-lite
310 android-aarch64/opt:
311     description: "Android 5.0 AArch64 Opt"
312     index:
313         job-name: android-aarch64-opt
314     attributes:
315         enable-full-crashsymbols: true
316     treeherder:
317         platform: android-5-0-aarch64/opt
318         symbol: B
319     run-on-projects: ['integration']
320     worker-type: b-linux-gcp
321     worker:
322         env:
323             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
324             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
325     run:
326         actions: [get-secrets, build]
327         config: ["builds/releng_base_android_64_builds.py"]
328         custom-build-variant-cfg: aarch64
329     use-sccache: true
330     fetches:
331         toolchain:
332             - linux64-clang
333             - linux64-sccache
334             - android-gradle-dependencies
336 android-aarch64-lite/opt:
337     description: "Android 5.0 AArch64 Opt Lite"
338     index:
339         job-name: android-aarch64-lite-opt
340     attributes:
341         enable-full-crashsymbols: true
342     treeherder:
343         platform: android-5-0-aarch64/opt
344         symbol: Bl
345     run-on-projects: ['integration']
346     worker-type: b-linux-gcp
347     worker:
348         env:
349             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
350             PERFHERDER_EXTRA_OPTIONS: lite
351     run:
352         actions: [get-secrets, build]
353         config: ["builds/releng_base_android_64_builds.py"]
354         custom-build-variant-cfg: aarch64-lite
355     use-sccache: true
356     fetches:
357         toolchain:
358             - linux64-clang
359             - linux64-sccache
360             - android-gradle-dependencies-lite
362 android-aarch64/debug:
363     description: "Android 5.0 AArch64 Debug"
364     index:
365         job-name: android-aarch64-debug
366     attributes:
367         enable-full-crashsymbols: true
368     treeherder:
369         platform: android-5-0-aarch64/debug
370         symbol: B
371     worker-type: b-linux-gcp
372     worker:
373         env:
374             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
375             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
376     run:
377         actions: [get-secrets, build]
378         config: ["builds/releng_base_android_64_builds.py"]
379         custom-build-variant-cfg: aarch64-debug
380     use-sccache: true
381     fetches:
382         toolchain:
383             - linux64-clang
384             - linux64-sccache
385             - android-gradle-dependencies
387 android-aarch64-shippable/opt:
388     description: "Android 5.0 AArch64 Shippable"
389     use-pgo: android-x86_64-shippable/opt
390     attributes:
391         enable-full-crashsymbols: true
392         shippable: true
393     shipping-phase: build
394     shipping-product: fennec
395     index:
396         job-name: android-aarch64-opt
397         type: android-shippable
398     treeherder:
399         platform: android-5-0-aarch64-shippable/opt
400         symbol: Bpgo(B)
401     run-on-projects: ['release']
402     worker-type: b-linux-gcp
403     worker:
404         env:
405             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
406             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
407     run:
408         actions: [get-secrets, build, multi-l10n]
409         config:
410             - builds/releng_base_android_64_builds.py
411             - taskcluster_nightly.py
412         custom-build-variant-cfg: aarch64
413     fetches:
414         toolchain:
415             - linux64-clang
416             - android-gradle-dependencies
418 android-aarch64-shippable-lite/opt:
419     description: "Android 5.0 AArch64 Shippable Lite"
420     use-pgo: android-x86_64-shippable/opt
421     attributes:
422         enable-full-crashsymbols: true
423         shippable: true
424     shipping-phase: build
425     shipping-product: fennec
426     index:
427         job-name: android-aarch64-lite-opt
428         type: android-shippable
429     treeherder:
430         platform: android-5-0-aarch64-shippable-lite/opt
431         symbol: Bpgo(Bl)
432     run-on-projects: ['release']
433     worker-type: b-linux-gcp
434     worker:
435         env:
436             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
437             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
438             PERFHERDER_EXTRA_OPTIONS: lite
439     run:
440         actions: [get-secrets, build, multi-l10n]
441         config:
442             - builds/releng_base_android_64_builds.py
443             - taskcluster_nightly.py
444         custom-build-variant-cfg: aarch64-lite
445     fetches:
446         toolchain:
447             - linux64-clang
448             - android-gradle-dependencies-lite
450 android-x86_64/opt:
451     description: "Android 5.0 x86-64 Opt"
452     index:
453         job-name: android-x86_64-opt
454     attributes:
455         enable-full-crashsymbols: true
456     treeherder:
457         platform: android-5-0-x86_64/opt
458         symbol: B
459     run-on-projects: ['integration']
460     worker-type: b-linux-gcp
461     worker:
462         env:
463             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
464             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
465     run:
466         actions: [get-secrets, build]
467         config: ["builds/releng_base_android_64_builds.py"]
468         custom-build-variant-cfg: x86_64
469     use-sccache: true
470     fetches:
471         toolchain:
472             - linux64-clang
473             - linux64-sccache
474             - android-gradle-dependencies
476 android-x86_64-lite/opt:
477     description: "Android 5.0 x86-64 Opt Lite"
478     index:
479         job-name: android-x86_64-lite-opt
480     attributes:
481         enable-full-crashsymbols: true
482     treeherder:
483         platform: android-5-0-x86_64/opt
484         symbol: Bl
485     run-on-projects: ['integration']
486     worker-type: b-linux-gcp
487     worker:
488         env:
489             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
490             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
491             PERFHERDER_EXTRA_OPTIONS: lite
492     run:
493         actions: [get-secrets, build]
494         config: ["builds/releng_base_android_64_builds.py"]
495         custom-build-variant-cfg: x86_64-lite
496     use-sccache: true
497     fetches:
498         toolchain:
499             - linux64-clang
500             - linux64-sccache
501             - android-gradle-dependencies-lite
503 android-x86_64-fuzzing/debug:
504     description: "Android x86_64 Fuzzing Debug"
505     index:
506         job-name: android-x86_64-fuzzing-debug
507     treeherder:
508         platform: android-5-0-x86_64/debug
509         symbol: Bf
510     worker-type: b-linux-gcp
511     worker:
512         env:
513             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
514             PERFHERDER_EXTRA_OPTIONS: fuzzing
515     run:
516         actions: [get-secrets, build]
517         config: ["builds/releng_base_android_64_builds.py"]
518         custom-build-variant-cfg: fuzzing-debug
519     use-sccache: true
520     fetches:
521         toolchain:
522             - linux64-clang
523             - linux64-sccache
524             - android-gradle-dependencies
525     optimization:
526         skip-unless-expanded: null
528 android-x86_64-shippable/opt:
529     description: "Android 5.0 x86-64 Shippable"
530     use-pgo: true
531     attributes:
532         enable-full-crashsymbols: true
533         shippable: true
534     shipping-phase: build
535     shipping-product: fennec
536     index:
537         job-name: android-x86_64-opt
538         type: android-shippable
539     treeherder:
540         platform: android-5-0-x86_64-shippable/opt
541         symbol: B
542     run-on-projects: ['release']
543     worker-type: b-linux-gcp
544     worker:
545         env:
546             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
547             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
548     run:
549         actions: [get-secrets, build, multi-l10n]
550         config:
551             - builds/releng_base_android_64_builds.py
552             - taskcluster_nightly.py
553         custom-build-variant-cfg: x86_64
554     fetches:
555         toolchain:
556             - linux64-clang
557             - android-gradle-dependencies
559 android-x86_64-shippable-lite/opt:
560     description: "Android 5.0 x86-64 Shippable Lite"
561     use-pgo: android-x86_64-shippable/opt
562     attributes:
563         enable-full-crashsymbols: true
564         shippable: true
565     shipping-phase: build
566     shipping-product: fennec
567     index:
568         job-name: android-x86_64-lite-opt
569         type: android-shippable
570     treeherder:
571         platform: android-5-0-x86_64-shippable-lite/opt
572         symbol: Bl
573     run-on-projects: ['release']
574     worker-type: b-linux-gcp
575     worker:
576         env:
577             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
578             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
579             PERFHERDER_EXTRA_OPTIONS: lite
580     run:
581         actions: [get-secrets, build, multi-l10n]
582         config:
583             - builds/releng_base_android_64_builds.py
584             - taskcluster_nightly.py
585         custom-build-variant-cfg: x86_64-lite
586     fetches:
587         toolchain:
588             - linux64-clang
589             - android-gradle-dependencies-lite
591 android-x86_64/debug:
592     description: "Android 5.0 x86-64 Debug"
593     index:
594         job-name: android-x86_64-debug
595     attributes:
596         enable-full-crashsymbols: true
597     treeherder:
598         platform: android-5-0-x86_64/debug
599         symbol: B
600     worker-type: b-linux-gcp
601     worker:
602         env:
603             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
604             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
605     run:
606         actions: [get-secrets, build]
607         config: ["builds/releng_base_android_64_builds.py"]
608         custom-build-variant-cfg: x86_64-debug
609     use-sccache: true
610     fetches:
611         toolchain:
612             - linux64-clang
613             - linux64-sccache
614             - android-gradle-dependencies
616 android-x86_64/debug-isolated-process:
617     description: "Android 5.0 x86-64 Debug with Isolated Process"
618     index:
619         job-name: android-x86_64-debug-isolated-process
620     attributes:
621         enable-full-crashsymbols: true
622     treeherder:
623         platform: android-5-0-x86_64/debug-isolated-process
624         symbol: Bip
625     worker-type: b-linux-gcp
626     worker:
627         env:
628             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
629             MOZ_AUTOMATION_PACKAGE_TESTS: "1"
630             PERFHERDER_EXTRA_OPTIONS: isolated-process
631     run:
632         actions: [get-secrets, build]
633         config: ["builds/releng_base_android_64_builds.py"]
634         custom-build-variant-cfg: x86_64-debug-isolated-process
635     use-sccache: true
636     fetches:
637         toolchain:
638             - linux64-clang
639             - linux64-sccache
640             - android-gradle-dependencies