summaryrefslogtreecommitdiffstats
path: root/taskcluster/ci/build-fat-aar/kind.yml
blob: 3d45e76d79fe53fe091ae45b9d502897ac1da0ba (plain)
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
# 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/.
---
loader: gecko_taskgraph.loader.transform:loader

kind-dependencies:
    - build
    - toolchain

transforms:
    - gecko_taskgraph.transforms.build:transforms
    - gecko_taskgraph.transforms.build_attrs:transforms
    - gecko_taskgraph.transforms.build_lints:transforms
    - gecko_taskgraph.transforms.build_fat_aar:transforms
    - gecko_taskgraph.transforms.job:transforms
    - gecko_taskgraph.transforms.artifact:transforms
    - gecko_taskgraph.transforms.task:transforms

job-defaults:
    attributes:
        artifact_map: taskcluster/gecko_taskgraph/manifests/fennec_geckoview.yml
    index:
        product: mobile
    worker-type: b-linux-gcp
    use-system-python: false
    worker:
        docker-image: {in-tree: android-build}
        max-run-time: 7200
        env:
            # Online in order to download the per-architecture AARs.
            GRADLE_USER_HOME: "/builds/worker/checkouts/build/gecko/mobile/android/gradle/dotgradle-online"
            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
            MOZ_ANDROID_FAT_AAR_ARCHITECTURES: "armeabi-v7a,arm64-v8a,x86,x86_64"
            MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE: system
        artifacts:
            - name: public/build/maven
              path: /builds/worker/workspace/obj-build/gradle/maven/
              type: directory
            - name: public/build/target.maven.tar.xz
              path: /builds/worker/workspace/obj-build/gradle/target.maven.tar.xz
              type: file
            - name: public/build
              path: /builds/worker/artifacts/
              type: directory
            - name: public/build/geckoview-androidTest.apk
              path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
              type: file
            - name: public/build/geckoview-test_runner.apk
              path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/apk/withGeckoBinaries/debug/test_runner-withGeckoBinaries-debug.apk
              type: file
            - name: public/build/geckoview-test_runner.aab
              path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/test_runner/outputs/bundle/withGeckoBinariesDebug/test_runner-withGeckoBinaries-debug.aab
              type: file
            - name: public/build/geckoview_example.apk
              path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
              type: file
            - name: public/build/geckoview_example.aab
              path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/bundle/withGeckoBinariesDebug/geckoview_example-withGeckoBinaries-debug.aab
              type: file
    run:
        using: mozharness
        script: "mozharness/scripts/fx_desktop_build.py"
        secrets: true
        mozconfig-variant: null
        tooltool-downloads: internal
        # Note: These settings are only honored by nightly (i.e. shipping) builds
        update-channel:
            by-release-type:
                nightly:
                    by-project:
                        try: nightly-try
                        default: nightly
                nightly-larch: nightly-larch
                nightly-oak: nightly-oak
                nightly-pine: nightly-pine
                beta:
                    by-shipping-product:
                        devedition: aurora
                        default: beta
                release.*: release
                esr.*: esr
                default: null
    fetches:
        toolchain:
            - android-ndk-linux
            - android-sdk-linux
            - linux64-clang
            - linux64-jdk
            - linux64-rust-android
            - linux64-rust-size
            - linux64-cbindgen
            - linux64-dump_syms
            - linux64-nasm
            - linux64-node
            - sysroot-x86_64-linux-gnu
            - sysroot-wasm32-wasi

jobs:
    android-geckoview-fat-aar-shippable/opt:
        description: "Android GeckoView multi-architecture fat AAR Shippable"
        attributes:
            shippable: true
            enable-full-crashsymbols: true
            disable-push-apk: true
            maven_packages:
                - geckoview
        shipping-phase: build
        shipping-product: fennec
        index:
            job-name: android-geckoview-fat-aar-opt
            type: shippable-with-multi-l10n
        treeherder:
            platform: android-5-0-geckoview-fat-aar-shippable/opt
            symbol: Bgv
        dependencies:
            android-x86-shippable: build-android-x86-shippable/opt
            android-x86_64-shippable: build-android-x86_64-shippable/opt
            android-arm-shippable: build-android-arm-shippable/opt
            android-aarch64-shippable: build-android-aarch64-shippable/opt
        worker:
            env:
                PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly
        run:
            actions: [get-secrets, build, multi-l10n]
            config:
                - builds/releng_base_android_64_builds.py
                - taskcluster_nightly.py
            custom-build-variant-cfg: arm
        fetches:
            toolchain:
                - android-gradle-dependencies
        optimization:
            skip-unless-backstop: null

    android-geckoview-fat-aar-shippable-lite/opt:
        description: "Android GeckoView Lite multi-architecture fat AAR Shippable"
        attributes:
            shippable: true
            enable-full-crashsymbols: true
            disable-push-apk: true
            maven_packages:
                - geckoview
                - geckoview-exoplayer2
        shipping-phase: build
        shipping-product: fennec
        index:
            job-name: android-geckoview-fat-aar-opt-lite
            type: shippable-with-multi-l10n
        treeherder:
            platform: android-4-1-geckoview-fat-aar-shippable/opt
            symbol: Bgvl
        dependencies:
            android-x86-shippable-lite: build-android-x86-shippable-lite/opt
            android-x86_64-shippable-lite: build-android-x86_64-shippable-lite/opt
            android-arm-shippable-lite: build-android-arm-shippable-lite/opt
            android-aarch64-shippable-lite: build-android-aarch64-shippable-lite/opt
        worker:
            env:
                PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite
        run:
            actions: [get-secrets, build, multi-l10n]
            config:
                - builds/releng_base_android_64_builds.py
                - taskcluster_nightly.py
            custom-build-variant-cfg: arm-lite
        fetches:
            toolchain:
                - android-gradle-dependencies-lite
        optimization:
            skip-unless-backstop: null

    android-geckoview-fat-aar/opt:
        description: "Android GeckoView multi-architecture fat AAR Opt"
        attributes:
            maven_packages:
                - geckoview
        index:
            job-name: android-geckoview-fat-aar-opt
        treeherder:
            platform: android-5-0-geckoview-fat-aar/opt
            symbol: Bgv
        dependencies:
            android-x86-opt: build-android-x86/opt
            android-x86_64-opt: build-android-x86_64/opt
            android-arm-opt: build-android-arm/opt
            android-aarch64-opt: build-android-aarch64/opt
        worker:
            env:
                PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-opt
                USE_ARTIFACT: '1'
                MOZ_ARTIFACT_TASK: {task-reference: '<android-arm-opt>'}
        run:
            actions: [get-secrets, build]
            config: ["builds/releng_base_android_64_builds.py"]
            custom-build-variant-cfg: arm
        fetches:
            toolchain:
                - linux64-sccache
                - android-gradle-dependencies