tor-browser

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

kind.yml (24481B)


      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    - gecko_taskgraph.transforms.test_apk:transforms
      9    # While not a build, the build optimization works well for these tasks.
     10    - gecko_taskgraph.transforms.build_schedules:transforms
     11    - gecko_taskgraph.transforms.job:transforms
     12    - gecko_taskgraph.transforms.task:transforms
     13 
     14 kind-dependencies:
     15    - toolchain
     16    - signing-apk
     17 
     18 task-defaults:
     19    run-on-repo-type: [hg]
     20    attributes:
     21        build_platform: android
     22        build-type: debug
     23        retrigger: true
     24    fetches:
     25        toolchain:
     26            - android-sdk-linux
     27            - linux64-embedded-uniffi-bindgen
     28            - linux64-nimbus-fml
     29    worker-type: b-linux-medium
     30    worker:
     31        docker-image: {in-tree: android-ui-tests}
     32        max-run-time: 7200
     33        env:
     34            GOOGLE_APPLICATION_CREDENTIALS: '.firebase_token.json'
     35            ANDROID_SDK_ROOT: /builds/worker/fetches/android-sdk-linux
     36        artifacts:
     37            - name: public
     38              path: /builds/worker/artifacts
     39              type: directory
     40        retry-exit-status: [20]
     41    treeherder:
     42        kind: test
     43        tier: 2
     44    run:
     45        using: run-commands
     46        dummy-secrets:
     47            - content: "faketoken"
     48              path: .adjust_token
     49    routes:
     50        by-level:
     51            '3':
     52                - notify.slack-channel.C0134KJ4JHL.on-failed
     53            'default': []
     54    scopes:
     55        by-level:
     56            '3':
     57                - queue:route:notify.slack-channel.C0134KJ4JHL.on-failed
     58                - notify:slack-channel:C0134KJ4JHL
     59            'default': []
     60    extra:
     61        notify:
     62            by-level:
     63                '3':
     64                    by-shipping-product:
     65                        fenix:
     66                            slackText: '<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|${task.metadata.name}>'
     67                            slackAttachments: |
     68                              [
     69                                    {
     70                                        "color": "#FF0000",
     71                                        "blocks": [
     72                                        {
     73                                            "type": "header",
     74                                            "text": {
     75                                                "type": "plain_text",
     76                                                "text": "Firefox for Android :firefox:"
     77                                            }
     78                                        },
     79                                        {
     80                                            "type": "header",
     81                                            "text": {
     82                                            "type": "plain_text",
     83                                            "text": "${task.metadata.name}"
     84                                            }
     85                                        },
     86                                        {
     87                                            "type": "section",
     88                                            "fields": [
     89                                            {
     90                                                "type": "mrkdwn",
     91                                                "text": "*Task:*\n<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
     92                                            },
     93                                            {
     94                                                "type": "mrkdwn",
     95                                                "text": "*Owner:*\n${task.metadata.owner}"
     96                                            },
     97                                            {
     98                                                "type": "mrkdwn",
     99                                                "text": "*Project:*\n${task.tags.project}"
    100                                            },
    101                                            {
    102                                                "type": "mrkdwn",
    103                                                "text": "*Treeherder:*\n<https://treeherder.mozilla.org/jobs?repo=${task.tags.project}&revision=${task.payload.env.GECKO_HEAD_REV}|View Jobs>"
    104                                            },
    105                                            {
    106                                                "type": "mrkdwn",
    107                                                "text": "*Source:*\n<${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
    108                                            },
    109                                            {
    110                                                "type": "mrkdwn",
    111                                                "text": "*Report:*\n<https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/results/HtmlErrorReport.html|View Report>"
    112                                            }
    113                                            ]
    114                                        },
    115                                        {
    116                                            "type": "divider"
    117                                        },
    118                                        {
    119                                            "type": "context",
    120                                            "elements": [
    121                                            {
    122                                                "type": "mrkdwn",
    123                                                "text": ":testops-notify: Mobile Test Engineering"
    124                                            }
    125                                            ]
    126                                        }
    127                                        ]
    128                                    }
    129                              ]
    130                        focus:
    131                            slackText: '<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|${task.metadata.name}>'
    132                            slackAttachments: |
    133                                [
    134                                    {
    135                                        "color": "#FF0000",
    136                                        "blocks": [
    137                                        {
    138                                            "type": "header",
    139                                            "text": {
    140                                                "type": "plain_text",
    141                                                "text": "Focus for Android :focusandroid:"
    142                                            }
    143                                        },
    144                                        {
    145                                            "type": "header",
    146                                            "text": {
    147                                            "type": "plain_text",
    148                                            "text": "${task.metadata.name}"
    149                                            }
    150                                        },
    151                                        {
    152                                            "type": "section",
    153                                            "fields": [
    154                                            {
    155                                                "type": "mrkdwn",
    156                                                "text": "*Task:*\n<https://firefox-ci-tc.services.mozilla.com/tasks/${status.taskId}|Taskcluster>"
    157                                            },
    158                                            {
    159                                                "type": "mrkdwn",
    160                                                "text": "*Owner:*\n${task.metadata.owner}"
    161                                            },
    162                                            {
    163                                                "type": "mrkdwn",
    164                                                "text": "*Project:*\n${task.tags.project}"
    165                                            },
    166                                            {
    167                                                "type": "mrkdwn",
    168                                                "text": "*Treeherder:*\n<https://treeherder.mozilla.org/jobs?repo=${task.tags.project}&revision=${task.payload.env.GECKO_HEAD_REV}|View Jobs>"
    169                                            },
    170                                            {
    171                                                "type": "mrkdwn",
    172                                                "text": "*Source:*\n<${task.payload.env.GECKO_BASE_REPOSITORY}/rev/${task.payload.env.GECKO_HEAD_REV}|Commit> :hg:"
    173                                            },
    174                                            {
    175                                                "type": "mrkdwn",
    176                                                "text": "*Report:*\n<https://firefoxci.taskcluster-artifacts.net/${status.taskId}/0/public/results/HtmlErrorReport.html|View Report>"
    177                                            }
    178                                            ]
    179                                        },
    180                                        {
    181                                            "type": "divider"
    182                                        },
    183                                        {
    184                                            "type": "context",
    185                                            "elements": [
    186                                            {
    187                                                "type": "mrkdwn",
    188                                                "text": ":testops-notify: Mobile Test Engineering"
    189                                            }
    190                                            ]
    191                                        }
    192                                        ]
    193                                    }
    194                                ]
    195                        default: {}
    196                'default': {}
    197 
    198 tasks:
    199    focus-arm-debug:
    200        attributes:
    201            build-type: focus-debug-firebase
    202            shipping-product: focus
    203        description: 'Focus UI tests with firebase'
    204        dependencies:
    205            signed-apk-debug-apk: signing-apk-focus-debug
    206            signed-apk-android-test: signing-apk-focus-android-test-debug
    207        fetches:
    208            signed-apk-debug-apk:
    209                - artifact: target.arm64-v8a.apk
    210                  extract: false
    211            signed-apk-android-test:
    212                - artifact: target.noarch.apk
    213                  extract: false
    214        optimization:
    215            skip-unless-backstop: null
    216        run:
    217            secrets:
    218                - name: project/gecko/level-any/firefox-android/focus-android/firebase
    219                  key: firebaseToken
    220                  path: mobile/android/test_infra/.firebase_token.json
    221                  json: true
    222            commands:
    223                - [python3, taskcluster/scripts/tests/test-lab.py, focus/arm64-v8a.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    224        treeherder:
    225            platform: 'focus-android-all/opt'
    226            symbol: focus-debug(ui-test-arm)
    227        worker:
    228            env:
    229                GOOGLE_PROJECT: 'moz-focus-android'
    230 
    231    focus-arm-nightly:
    232        attributes:
    233            build-type: focus-nightly-firebase
    234            shipping-product: focus
    235        description: 'UI tests on Nightly with firebase'
    236        dependencies:
    237            signed-apk-debug-apk: signing-apk-focus-nightly-firebase
    238            signed-apk-android-test: signing-apk-focus-android-test-nightly
    239        fetches:
    240            signed-apk-debug-apk:
    241                - artifact: target.arm64-v8a.apk
    242                  extract: false
    243            signed-apk-android-test:
    244                - artifact: target.noarch.apk
    245                  extract: false
    246        optimization:
    247            skip-unless-backstop: null
    248        run-on-projects: [trunk]
    249        run:
    250            secrets:
    251                - name: project/gecko/level-any/firefox-android/focus-android/firebase
    252                  key: firebaseToken
    253                  path: mobile/android/test_infra/.firebase_token.json
    254                  json: true
    255            commands:
    256                - [python3, taskcluster/scripts/tests/test-lab.py, focus/arm-start-test.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    257        treeherder:
    258            platform: 'focus-android-all/opt'
    259            symbol: focus-nightly(ui-test-arm-nightly)
    260        worker:
    261            env:
    262                GOOGLE_PROJECT: 'moz-focus-android'
    263 
    264    focus-arm-beta:
    265        attributes:
    266            build-type: focus-beta-firebase
    267            shipping-product: focus
    268        description: 'UI tests on Beta with firebase'
    269        dependencies:
    270            signed-apk-debug-apk: signing-apk-focus-beta-firebase
    271            signed-apk-android-test: signing-apk-focus-android-test-beta
    272        fetches:
    273            signed-apk-debug-apk:
    274                - artifact: target.arm64-v8a.apk
    275                  extract: false
    276            signed-apk-android-test:
    277                - artifact: target.noarch.apk
    278                  extract: false
    279        optimization:
    280            skip-unless-backstop: null
    281        run-on-projects: [release]
    282        run:
    283            secrets:
    284                - name: project/gecko/level-any/firefox-android/focus-android/firebase
    285                  key: firebaseToken
    286                  path: mobile/android/test_infra/.firebase_token.json
    287                  json: true
    288            commands:
    289                - [python3, taskcluster/scripts/tests/test-lab.py, focus/arm-beta.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    290        treeherder:
    291            platform: 'focus-android-all/opt'
    292            symbol: focus-beta(ui-test-arm-beta)
    293        worker:
    294            env:
    295                GOOGLE_PROJECT: 'moz-focus-android'
    296 
    297    fenix-arm-debug:
    298        attributes:
    299            build-type: fenix-debug-firebase
    300            shipping-product: fenix
    301        description: Test Fenix
    302        dependencies:
    303            signed-apk-debug-apk: signing-apk-fenix-debug
    304            signed-apk-android-test: signing-apk-fenix-android-test-debug
    305        fetches:
    306            signed-apk-debug-apk:
    307                - artifact: target.arm64-v8a.apk
    308                  extract: false
    309            signed-apk-android-test:
    310                - artifact: target.noarch.apk
    311                  extract: false
    312        optimization:
    313            skip-unless-backstop: null
    314        run:
    315            secrets:
    316                - name: project/gecko/level-any/firefox-android/fenix/firebase
    317                  key: firebaseToken
    318                  path: mobile/android/test_infra/.firebase_token.json
    319                  json: true
    320            commands:
    321                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm64-v8a.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    322        treeherder:
    323            platform: 'fenix-android-all/opt'
    324            symbol: fenix-debug(ui-test-arm)
    325        worker:
    326            env:
    327                GOOGLE_PROJECT: moz-fenix
    328 
    329    fenix-detect-leaks-arm-debug:
    330        attributes:
    331            build-type: fenix-debug-firebase
    332            shipping-product: fenix
    333        description: Run Fenix tests with memory leak detection enabled
    334        dependencies:
    335            signed-apk-debug-apk: signing-apk-fenix-debug
    336            signed-apk-android-test: signing-apk-fenix-android-test-debug
    337        fetches:
    338            signed-apk-debug-apk:
    339                - artifact: target.arm64-v8a.apk
    340                  extract: false
    341            signed-apk-android-test:
    342                - artifact: target.noarch.apk
    343                  extract: false
    344        optimization:
    345            skip-unless-backstop: null
    346        run-on-projects: [trunk]
    347        run:
    348            secrets:
    349                - name: project/gecko/level-any/firefox-android/fenix/firebase
    350                  key: firebaseToken
    351                  path: mobile/android/test_infra/.firebase_token.json
    352                  json: true
    353            commands:
    354                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm64-v8a-detect-leaks.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk, --artifact_type, "memory_leaks"]
    355        treeherder:
    356            platform: 'fenix-android-all/opt'
    357            symbol: fenix-debug(detect-leaks-arm)
    358        worker:
    359            env:
    360                GOOGLE_PROJECT: moz-fenix
    361 
    362    fenix-arm-beta:
    363        attributes:
    364            build-type: fenix-beta-firebase
    365            shipping-product: fenix
    366        description: Test Fenix
    367        dependencies:
    368            signed-apk-debug-apk: signing-apk-fenix-beta-firebase
    369            signed-apk-android-test: signing-apk-fenix-android-test-beta
    370        fetches:
    371            signed-apk-debug-apk:
    372                - artifact: target.arm64-v8a.apk
    373                  extract: false
    374            signed-apk-android-test:
    375                - artifact: target.noarch.apk
    376                  extract: false
    377        optimization:
    378            skip-unless-backstop: null
    379        run-on-projects: [release]
    380        run:
    381            secrets:
    382                - name: project/gecko/level-any/firefox-android/fenix/firebase
    383                  key: firebaseToken
    384                  path: mobile/android/test_infra/.firebase_token.json
    385                  json: true
    386            commands:
    387                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-beta.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    388        treeherder:
    389            platform: 'fenix-android-all/opt'
    390            symbol: fenix-beta(ui-test-arm-beta)
    391        worker:
    392            env:
    393                GOOGLE_PROJECT: moz-fenix
    394 
    395    fenix-arm-nightly:
    396        attributes:
    397            build-type: fenix-nightly-firebase
    398            shipping-product: fenix
    399        description: Test Fenix
    400        dependencies:
    401            signed-apk-debug-apk: signing-apk-fenix-nightly-firebase
    402            signed-apk-android-test: signing-apk-fenix-android-test-nightly
    403        fetches:
    404            signed-apk-debug-apk:
    405                - artifact: target.arm64-v8a.apk
    406                  extract: false
    407            signed-apk-android-test:
    408                - artifact: target.noarch.apk
    409                  extract: false
    410        optimization:
    411            skip-unless-backstop: null
    412        run-on-projects: [trunk]
    413        run:
    414            secrets:
    415                - name: project/gecko/level-any/firefox-android/fenix/firebase
    416                  key: firebaseToken
    417                  path: mobile/android/test_infra/.firebase_token.json
    418                  json: true
    419            commands:
    420                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-start-test.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    421        treeherder:
    422            platform: 'fenix-android-all/opt'
    423            symbol: fenix-nightly(ui-test-arm-nightly)
    424        worker:
    425            env:
    426                GOOGLE_PROJECT: moz-fenix
    427 
    428    fenix-legacy-arm:
    429        attributes:
    430            build-type: fenix-legacy
    431            legacy: true
    432            shipping-product: fenix
    433        description: Run select UI tests on legacy Android devices and API levels
    434        dependencies:
    435            signed-apk-debug-apk: signing-apk-fenix-debug
    436            signed-apk-android-test: signing-apk-fenix-android-test-debug
    437        fetches:
    438            signed-apk-debug-apk:
    439                - artifact: target.arm64-v8a.apk
    440                  extract: false
    441            signed-apk-android-test:
    442                - artifact: target.noarch.apk
    443                  extract: false
    444        optimization:
    445            skip-unless-backstop: null
    446        run:
    447            secrets:
    448                - name: project/gecko/level-any/firefox-android/fenix/firebase
    449                  key: firebaseToken
    450                  path: mobile/android/test_infra/.firebase_token.json
    451                  json: true
    452            commands:
    453                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-legacy-api-tests.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    454        treeherder:
    455            platform: 'fenix-android-all/opt'
    456            symbol: fenix-debug(legacy-arm)
    457        worker:
    458            env:
    459                GOOGLE_PROJECT: moz-fenix
    460 
    461    fenix-robo-arm-debug:
    462        attributes:
    463            build-type: fenix-robo
    464            shipping-product: fenix
    465        description: Run Robo test on ARM devices
    466        dependencies:
    467            signed-apk-debug-apk: signing-apk-fenix-debug
    468        fetches:
    469            signed-apk-debug-apk:
    470                - artifact: target.arm64-v8a.apk
    471                  extract: false
    472        optimization:
    473            skip-unless-backstop: null
    474        run:
    475            secrets:
    476                - name: project/gecko/level-any/firefox-android/fenix/firebase
    477                  key: firebaseToken
    478                  path: mobile/android/test_infra/.firebase_token.json
    479                  json: true
    480            commands:
    481                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-robo-test.yml, /builds/worker/fetches/target.arm64-v8a.apk]
    482        treeherder:
    483            platform: 'fenix-android-all/opt'
    484            symbol: fenix-debug(robo-arm)
    485        worker:
    486            env:
    487                GOOGLE_PROJECT: moz-fenix
    488 
    489    fenix-experimental-arm-debug:
    490        attributes:
    491            build-type: fenix-debug-firebase
    492            shipping-product: fenix
    493        description: Run Fenix tests using experimental POM design
    494        dependencies:
    495            signed-apk-debug-apk: signing-apk-fenix-debug
    496            signed-apk-android-test: signing-apk-fenix-android-test-debug
    497        fetches:
    498            signed-apk-debug-apk:
    499                - artifact: target.arm64-v8a.apk
    500                  extract: false
    501            signed-apk-android-test:
    502                - artifact: target.noarch.apk
    503                  extract: false
    504        optimization:
    505            skip-unless-backstop: null
    506        run:
    507            secrets:
    508                - name: project/gecko/level-any/firefox-android/fenix/firebase
    509                  key: firebaseToken
    510                  path: mobile/android/test_infra/.firebase_token.json
    511                  json: true
    512            commands:
    513                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-experimental-api-tests.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    514        run-on-projects: [trunk]
    515        treeherder:
    516            platform: 'fenix-android-all/opt'
    517            symbol: fenix-debug(experimental-arm)
    518        worker:
    519            env:
    520                GOOGLE_PROJECT: moz-fenix
    521 
    522    fenix-arm-debug-smoke:
    523        attributes:
    524            build-type: fenix-debug-firebase
    525            shipping-product: fenix
    526        description: Run smoke tests on ARM devices
    527        dependencies:
    528            signed-apk-debug-apk: signing-apk-fenix-debug
    529            signed-apk-android-test: signing-apk-fenix-android-test-debug
    530        fetches:
    531            signed-apk-debug-apk:
    532                - artifact: target.arm64-v8a.apk
    533                  extract: false
    534            signed-apk-android-test:
    535                - artifact: target.noarch.apk
    536                  extract: false
    537        optimization: {"test": ["android", "fenix"]}
    538        run:
    539            secrets:
    540                - name: project/gecko/level-any/firefox-android/fenix/firebase
    541                  key: firebaseToken
    542                  path: mobile/android/test_infra/.firebase_token.json
    543                  json: true
    544            commands:
    545                - [python3, taskcluster/scripts/tests/test-lab.py, fenix/arm-smoke-tests.yml, /builds/worker/fetches/target.arm64-v8a.apk, --apk_test, /builds/worker/fetches/target.noarch.apk]
    546        run-on-projects: ['autoland', 'mozilla-central']
    547        treeherder:
    548            platform: 'fenix-android-all/opt'
    549            symbol: fenix-debug(smoke-arm)
    550            tier: 1
    551        worker:
    552            env:
    553                GOOGLE_PROJECT: moz-fenix