tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

kind.yml (21978B)


      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 loader: taskgraph.loader.transform:loader
      6 
      7 transforms:
      8    - android_taskgraph.transforms.build_android_app:transforms
      9    - gecko_taskgraph.transforms.build_schedules:transforms
     10    - gecko_taskgraph.transforms.job:transforms
     11    - gecko_taskgraph.transforms.task:transforms
     12 
     13 kind-dependencies:
     14    - toolchain
     15    - build-fat-aar
     16    - generate-baseline-profile-firebase
     17 
     18 task-defaults:
     19    run-on-repo-type: [hg]
     20    apk-artifact-template:
     21        type: file
     22        name: 'public/build/target.{abi}.apk'
     23        path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/{source_project_name}/app/outputs/apk/{apk_path}/{fileName}'
     24    attributes:
     25        build_platform: android
     26 
     27 tasks:
     28    focus-debug:
     29        attributes:
     30            shipping-product: focus
     31        dependencies:
     32            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
     33        description: 'Focus debug build from source code'
     34        run:
     35            gradle-build-type: debug
     36            gradle-build-name: focusDebug
     37            gradle-build: focus
     38        source-project-name: "focus-android"
     39        treeherder:
     40            symbol: focus-debug(Bf)
     41            platform: focus-android-all/opt
     42 
     43    klar-debug:
     44        attributes:
     45            shipping-product: focus
     46        dependencies:
     47            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
     48        description: 'Klar debug build from source code'
     49        run:
     50            gradle-build-type: debug
     51            gradle-build-name: klarDebug
     52            gradle-build: klar
     53        source-project-name: "focus-android"
     54        treeherder:
     55            symbol: focus-debug(Bkl)
     56            platform: focus-android-all/opt
     57 
     58    fenix-debug:
     59        attributes:
     60            shipping-product: fenix
     61        dependencies:
     62            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
     63        description: 'Fenix debug build from source code'
     64        run:
     65            gradle-build-type: debug
     66            gradle-build-name: debug
     67            gradle-build: fenix
     68            gradle-extra-options:
     69                - -PdisableLeakCanary
     70            track-apk-size: true
     71        source-project-name: "fenix"
     72        treeherder:
     73            symbol: fenix-debug(Bf)
     74            platform: fenix-android-all/opt
     75        worker:
     76            artifacts:
     77                - path: /builds/worker/perfherder-data-apk-size.json
     78                  name: public/build/perfherder-data-apk-size.json
     79                  type: file
     80            env:
     81                MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json
     82 
     83    focus-release:
     84        description: 'Release Focus build'
     85        attributes:
     86            release-type: release
     87            shipping-product: focus
     88        shipping-product: firefox-android
     89        dependencies:
     90            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
     91        include-shippable-secrets: true
     92        include-release-version: true
     93        run:
     94            gradle-build-type: release
     95            gradle-build-name: focusRelease
     96            gradle-build: focus
     97        run-on-projects: []
     98        shipping-phase: promote
     99        source-project-name: "focus-android"
    100        treeherder:
    101            symbol: focus-release(Bf)
    102            platform: focus-android-all/opt
    103 
    104    klar-release:
    105        description: 'Release Klar build'
    106        attributes:
    107            release-type: release
    108            shipping-product: focus
    109        shipping-product: firefox-android
    110        dependencies:
    111            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    112        include-shippable-secrets: true
    113        include-release-version: true
    114        run:
    115            gradle-build-type: release
    116            gradle-build-name: klarRelease
    117            gradle-build: klar
    118        run-on-projects: []
    119        shipping-phase: promote
    120        source-project-name: "focus-android"
    121        treeherder:
    122            symbol: focus-release(Bkl)
    123            platform: focus-android-all/opt
    124 
    125    fenix-release:
    126        description: 'Release Fenix build'
    127        attributes:
    128            release-type: release
    129            shipping-product: fenix
    130        shipping-product: firefox-android
    131        dependencies:
    132            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    133            baseline-profile: generate-baseline-profile-firebase-fenix
    134        fetches:
    135            baseline-profile:
    136                - artifact: baselineProfile.tar.zst
    137                  dest: baselineProfiles
    138        include-shippable-secrets: true
    139        include-release-version: true
    140        run:
    141            gradle-build-type: release
    142            gradle-build-name: release
    143            gradle-build: fenix
    144            track-apk-size: true
    145            baseline-profile-path: /builds/worker/fetches/baselineProfiles
    146        run-on-projects: []
    147        shipping-phase: promote
    148        source-project-name: "fenix"
    149        treeherder:
    150            symbol: fenix-release(Bf)
    151            platform: fenix-android-all/opt
    152        worker:
    153            artifacts:
    154                - path: /builds/worker/perfherder-data-apk-size.json
    155                  name: public/build/perfherder-data-apk-size.json
    156                  type: file
    157            env:
    158                MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json
    159 
    160    focus-nightly:
    161        description: 'Nightly focus build'
    162        attributes:
    163            # any tasks that have this as a primary dependency will
    164            # inherit this attribute via the multi_dep loader
    165            shipping-product: focus
    166        dependencies:
    167            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    168        include-shippable-secrets: true
    169        include-nightly-version: true
    170        run:
    171            gradle-build-type: nightly
    172            gradle-build-name: focusNightly
    173            gradle-build: focus
    174        run-on-projects: []
    175        source-project-name: "focus-android"
    176        treeherder:
    177            symbol: focus-nightly(B)
    178            platform: focus-android-all/opt
    179 
    180    fenix-nightly:
    181        description: 'Nightly fenix build'
    182        attributes:
    183            # any tasks that have this as a primary dependency will
    184            # inherit this attribute via the multi_dep loader
    185            shipping-product: fenix
    186        dependencies:
    187            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    188            baseline-profile: generate-baseline-profile-firebase-fenix
    189        fetches:
    190            baseline-profile:
    191                - artifact: baselineProfile.tar.zst
    192                  dest: baselineProfiles
    193        include-shippable-secrets: true
    194        include-nightly-version: true
    195        source-project-name: "fenix"
    196        run:
    197            gradle-build-type: nightly
    198            gradle-build-name: nightly
    199            gradle-build: fenix
    200            track-apk-size: true
    201            baseline-profile-path: /builds/worker/fetches/baselineProfiles
    202        run-on-projects: []
    203        treeherder:
    204            symbol: fenix-nightly(B)
    205            platform: fenix-android-all/opt
    206        worker:
    207            artifacts:
    208                - path: /builds/worker/perfherder-data-apk-size.json
    209                  name: public/build/perfherder-data-apk-size.json
    210                  type: file
    211            env:
    212                MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json
    213 
    214    focus-beta:
    215        description: 'Beta focus build'
    216        attributes:
    217            release-type: beta
    218            shipping-product: focus
    219        shipping-product: firefox-android
    220        dependencies:
    221            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    222        include-shippable-secrets: true
    223        include-release-version: true
    224        run:
    225            gradle-build-type: beta
    226            gradle-build-name: focusBeta
    227            gradle-build: focus
    228        run-on-projects: []
    229        shipping-phase: promote
    230        source-project-name: "focus-android"
    231        treeherder:
    232            symbol: focus-beta(B)
    233            platform: focus-android-all/opt
    234 
    235    fenix-beta:
    236        description: 'Beta fenix build'
    237        attributes:
    238            release-type: beta
    239            shipping-product: fenix
    240        shipping-product: firefox-android
    241        dependencies:
    242            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    243            baseline-profile: generate-baseline-profile-firebase-fenix
    244        fetches:
    245            baseline-profile:
    246                - artifact: baselineProfile.tar.zst
    247                  dest: baselineProfiles
    248        include-shippable-secrets: true
    249        include-release-version: true
    250        run:
    251            gradle-build-type: beta
    252            gradle-build-name: beta
    253            gradle-build: fenix
    254            track-apk-size: true
    255            baseline-profile-path: /builds/worker/fetches/baselineProfiles
    256        run-on-projects: []
    257        shipping-phase: promote
    258        source-project-name: "fenix"
    259        treeherder:
    260            symbol: fenix-beta(B)
    261            platform: fenix-android-all/opt
    262        worker:
    263            artifacts:
    264                - path: /builds/worker/perfherder-data-apk-size.json
    265                  name: public/build/perfherder-data-apk-size.json
    266                  type: file
    267            env:
    268                MOZ_PERFHERDER_UPLOAD: /builds/worker/perfherder-data-apk-size.json
    269 
    270    focus-nightly-firebase:
    271        attributes:
    272            shipping-product: focus
    273        description: 'Focus Nightly build for UI tests'
    274        dependencies:
    275            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
    276        disable-optimization: true
    277        run:
    278            gradle-build-type: nightly
    279            gradle-build-name: focusNightly
    280            gradle-build: focus
    281            test-build-type: nightly
    282        run-on-projects: [trunk]
    283        source-project-name: "focus-android"
    284        treeherder:
    285            symbol: focus-nightly(Bf)
    286            platform: focus-android-all/opt
    287 
    288    fenix-nightly-firebase:
    289        attributes:
    290            shipping-product: fenix
    291        description: 'Fenix Nightly build for UI tests'
    292        dependencies:
    293            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
    294        disable-optimization: true
    295        run:
    296            gradle-build-type: nightly
    297            gradle-build-name: nightly
    298            gradle-build: fenix
    299            test-build-type: nightly
    300        run-on-projects: [trunk]
    301        source-project-name: "fenix"
    302        treeherder:
    303            symbol: fenix-nightly(Bf)
    304            platform: fenix-android-all/opt
    305 
    306    focus-beta-firebase:
    307        attributes:
    308            shipping-product: focus
    309        description: 'Focus Beta build for UI tests'
    310        dependencies:
    311            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    312        disable-optimization: true
    313        run:
    314            gradle-build-type: beta
    315            gradle-build-name: focusBeta
    316            gradle-build: focus
    317            test-build-type: beta
    318        run-on-projects: ['release']
    319        source-project-name: "focus-android"
    320        treeherder:
    321            symbol: focus-beta(Bf)
    322            platform: focus-android-all/opt
    323 
    324    fenix-beta-firebase:
    325        attributes:
    326            shipping-product: fenix
    327        description: 'Fenix Beta build for UI tests'
    328        dependencies:
    329            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    330        disable-optimization: true
    331        run:
    332            gradle-build-type: beta
    333            gradle-build-name: beta
    334            gradle-build: fenix
    335            test-build-type: beta
    336        run-on-projects: ['release']
    337        source-project-name: "fenix"
    338        treeherder:
    339            symbol: fenix-beta(Bf)
    340            platform: fenix-android-all/opt
    341 
    342    focus-android-test-debug:
    343        attributes:
    344            shipping-product: focus
    345        description: 'Focus Android Test for debugging'
    346        dependencies:
    347            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
    348        run:
    349            gradle-build-type: androidTest
    350            gradle-build-name: androidTest
    351            gradle-build: focus
    352        source-project-name: "focus-android"
    353        apk-artifact-template:
    354            # this path is determined by the gradle build configs
    355            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/focus-android/app/outputs/apk/androidTest/focus/debug/app-focus-debug-androidTest.apk'
    356        treeherder:
    357            symbol: focus-debug(Bat)
    358            platform: focus-android-all/opt
    359 
    360    fenix-android-test-debug:
    361        attributes:
    362            shipping-product: fenix
    363        description: 'Fenix Debug Android Test for debugging'
    364        dependencies:
    365            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
    366        run:
    367            gradle-build-type: androidTest
    368            gradle-build-name: androidTest
    369            gradle-build: fenix
    370        source-project-name: "fenix"
    371        apk-artifact-template:
    372            # 3 differences here:
    373            #  * "androidTest/" is added
    374            #  * "{gradle_build_type}" is forced to "debug"
    375            #  * "{fileName}" is forced to "app-debug-androidTest.apk"
    376            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/debug/app-debug-androidTest.apk'
    377        treeherder:
    378            symbol: fenix-debug(Bat)
    379            platform: fenix-android-all/opt
    380 
    381    # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
    382    # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
    383    # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
    384    # nightly means we need an androidTest APK with the same signature.
    385 
    386    focus-android-test-nightly:
    387        attributes:
    388            shipping-product: focus
    389        description: 'Focus Nightly Android Test for debugging'
    390        dependencies:
    391            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
    392        run:
    393            gradle-build-type: androidTest
    394            gradle-build-name: androidTest
    395            gradle-build: focus
    396            test-build-type: nightly
    397        run-on-projects: [trunk]
    398        source-project-name: "focus-android"
    399        apk-artifact-template:
    400            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/focus-android/app/outputs/apk/androidTest/focus/nightly/app-focus-nightly-androidTest.apk'
    401        treeherder:
    402            symbol: focus-nightly(Bat)
    403            platform: focus-android-all/opt
    404 
    405    # android-test-nightly and android-test-beta, while still being debug builds, are meant to be signed
    406    # with the nightly/beta key. The Firebase testing infrastructure requires both the androidTest APK
    407    # and the APK under test to be signed with the same key. Thus, the nightly APK being signed with
    408    # nightly means we need an androidTest APK with the same signature.
    409    #
    410    # TODO: See if we can tweak the signing kind to make 2 signing jobs out of a single `android-test`
    411    # job.
    412    fenix-android-test-nightly:
    413        attributes:
    414            nightly: true
    415            shipping-product: fenix
    416        description: 'Fenix Nightly Android Test for debugging'
    417        dependencies:
    418            build-fat-aar: build-fat-aar-android-geckoview-fat-aar/opt
    419        apk-artifact-template:
    420            # 3 differences here:
    421            #  * "androidTest/" is added
    422            #  * "{gradle_build_type}" is forced to "nightly"
    423            #  * "{fileName}" is forced to "app-nightly-androidTest.apk"
    424            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/nightly/app-nightly-androidTest.apk'
    425        disable-optimization: true
    426        run:
    427            gradle-build-type: androidTest
    428            gradle-build-name: androidTest
    429            gradle-build: fenix
    430            test-build-type: nightly
    431        run-on-projects: [trunk]
    432        source-project-name: "fenix"
    433        treeherder:
    434            symbol: fenix-nightly(Bat)
    435            platform: fenix-android-all/opt
    436 
    437    focus-android-test-beta:
    438        attributes:
    439            shipping-product: focus
    440        description: 'Focus Beta Android Test for debugging'
    441        dependencies:
    442            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    443        run:
    444            gradle-build-type: androidTest
    445            gradle-build-name: androidTest
    446            gradle-build: focus
    447            test-build-type: beta
    448        run-on-projects: ['release']
    449        source-project-name: "focus-android"
    450        apk-artifact-template:
    451            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/focus-android/app/outputs/apk/androidTest/focus/beta/app-focus-beta-androidTest.apk'
    452        treeherder:
    453            symbol: focus-beta(Bat)
    454            platform: focus-android-all/opt
    455 
    456    fenix-android-test-beta:
    457        attributes:
    458            shipping-product: fenix
    459        description: 'Fenix Beta Android Test for debugging'
    460        dependencies:
    461            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    462        apk-artifact-template:
    463            # 3 differences here:
    464            #  * "androidTest/" is added
    465            #  * "{gradle_build_type}" is forced to "beta"
    466            #  * "{fileName}" is forced to "app-beta-androidTest.apk"
    467            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/beta/app-beta-androidTest.apk'
    468        disable-optimization: true
    469        run:
    470            gradle-build-type: androidTest
    471            gradle-build-name: androidTest
    472            gradle-build: fenix
    473            test-build-type: beta
    474        run-on-projects: ['release']
    475        source-project-name: "fenix"
    476        treeherder:
    477            symbol: fenix-beta(Bat)
    478            platform: fenix-android-all/opt
    479 
    480    fenix-android-test-mozillaonline:
    481        attributes:
    482            shipping-product: fenix
    483        description: 'Fenix Android Test mozillaonline'
    484        dependencies:
    485            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    486        apk-artifact-template:
    487            # 3 differences here:
    488            #  * "androidTest/" is added
    489            #  * "{gradle_build_type}" is forced to "beta"
    490            #  * "{fileName}" is forced to "app-beta-androidTest.apk"
    491            path: '/builds/worker/workspace/obj-build/gradle/build/mobile/android/fenix/app/outputs/apk/androidTest/beta/app-beta-androidTest.apk'
    492        run-on-projects: []
    493        disable-optimization: true
    494        run:
    495            gradle-build-type: androidTest
    496            gradle-build-name: androidTest
    497            gradle-build: fenix
    498            gradle-extra-options:
    499                - -PmozillaOnline
    500            test-build-type: beta
    501        source-project-name: "fenix"
    502        treeherder:
    503            symbol: fenix-beta(Bat-mo)
    504            platform: fenix-android-all/opt
    505 
    506    fenix-nightly-simulation:
    507        description: 'Fenix Nightly Simulation'
    508        dependencies:
    509            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    510            baseline-profile: generate-baseline-profile-firebase-fenix
    511        fetches:
    512            baseline-profile:
    513                - artifact: baselineProfile.tar.zst
    514                  dest: baselineProfiles
    515        attributes:
    516            nightly: false
    517            shipping-product: fenix
    518        include-nightly-version: true
    519        include-shippable-secrets: true
    520        run-on-projects: []
    521        run:
    522            gradle-build-type: nightly
    523            gradle-build-name: nightly
    524            gradle-build: fenix
    525            baseline-profile-path: /builds/worker/fetches/baselineProfiles
    526        source-project-name: "fenix"
    527        treeherder:
    528            symbol: fenix-nightlySim(B)
    529            platform: fenix-android-all/opt
    530 
    531    fenix-beta-mozillaonline:
    532        description: 'Fenix Beta mozillaonline'
    533        dependencies:
    534            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    535        attributes:
    536            release-type: beta
    537            shipping_phase: promote
    538            shipping-product: fenix
    539        include-release-version: true
    540        include-shippable-secrets: true
    541        run:
    542            gradle-build-type: beta
    543            gradle-build-name: beta
    544            gradle-build: fenix
    545            gradle-extra-options:
    546                - -PmozillaOnline
    547        run-on-projects: []
    548        source-project-name: "fenix"
    549        treeherder:
    550            symbol: fenix-beta(Bmo)
    551            platform: fenix-android-all/opt
    552 
    553    fenix-release-mozillaonline:
    554        description: 'Fenix Release mozillaonline'
    555        dependencies:
    556            build-fat-aar: build-fat-aar-android-geckoview-fat-aar-shippable/opt
    557            baseline-profile: generate-baseline-profile-firebase-fenix
    558        fetches:
    559            baseline-profile:
    560                - artifact: baselineProfile.tar.zst
    561                  dest: baselineProfiles
    562        attributes:
    563            release-type: release
    564            shipping_phase: promote
    565            shipping-product: fenix
    566        include-release-version: true
    567        include-shippable-secrets: true
    568        run:
    569            gradle-build-type: release
    570            gradle-build-name: release
    571            gradle-build: fenix
    572            gradle-extra-options:
    573                - -PmozillaOnline
    574            baseline-profile-path: /builds/worker/fetches/baselineProfiles
    575        run-on-projects: []
    576        source-project-name: "fenix"
    577        treeherder:
    578            symbol: fenix-release(Bmo)
    579            platform: fenix-android-all/opt