tor-browser

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

variants.yml (21953B)


      1 ---
      2 1proc:
      3    description: "{description} with e10s disabled"
      4    component: "Testing::General"
      5    expiration: "never"
      6    suffix: "1proc"
      7    mozinfo: "e10s"
      8    merge:
      9        mozharness:
     10            extra-options:
     11                - "--disable-e10s"
     12                - "--disable-fission"
     13 
     14 confirm-failure:
     15    description: "{description} with confirm failures enabled"
     16    component: "Testing::General"
     17    expiration: "never"
     18    suffix: "cf"
     19 
     20 headless:
     21    description: "{description} without a window"
     22    component: "Firefox::Headless"
     23    expiration: "never"
     24    suffix: "headless"
     25    mozinfo: "headless"
     26    replace:
     27        tier: 2
     28    when:
     29        $eval: '(
     30                    "linux" in task["test-platform"]
     31                    && (
     32                        "mochitest-plain" in task["try-name"]
     33                        || "marionette" in task["try-name"]
     34                    )
     35                )
     36                || "web-platform-tests-wdspec" == task["try-name"]'
     37    merge:
     38        mozharness:
     39            extra-options:
     40                - "--headless"
     41 
     42 a11y-checks:
     43    description: "{description} with accessibility checks enabled"
     44    component: "Core::Disability Access APIs"
     45    expiration: "2026-03-01"
     46    suffix: "a11y-checks"
     47    mozinfo: "a11y_checks"
     48    replace:
     49        tier: 2
     50    when:
     51        $eval: '(
     52                    "linux" in task["test-platform"]
     53                    && "opt" in task["test-platform"]
     54                    && !(
     55                        "asan" in task["test-platform"]
     56                        || "tsan" in task["test-platform"]
     57                        || "ccov" in task["test-platform"]
     58                    )
     59                ) && (
     60                    "mochitest-devtools-chrome" == task["try-name"]
     61                    || "mochitest-browser-chrome" == task["try-name"]
     62                )'
     63    merge:
     64        mozharness:
     65            extra-options:
     66                - "--enable-a11y-checks"
     67 
     68 aab:
     69    description: "{description} with aab test_runner"
     70    component: "GeckoView::General"
     71    expiration: "2026-03-01"
     72    when: &gv_e10s_filter
     73        $eval: '"android" in task["test-platform"]'
     74    suffix: "aab"
     75    # Need to add jdk but there isn't a good way to do that
     76    # so we just replace the toolchain list
     77    merge:
     78        fetches:
     79            toolchain:
     80                by-test-platform:
     81                    android-em-14.*:
     82                        - android34-system-image-x86_64-linux
     83                        - android34-avd-x86_64-linux
     84                        - android-emulator-linux
     85                        - linux64-minidump-stackwalk
     86                        - linux64-fix-stacks
     87                        - linux64-jdk
     88                        - linux64-hostutils
     89    replace:
     90        target: "geckoview-test_runner.aab"
     91 
     92 trainhop-release:
     93    description: Mochitest-browser for Newtab using latest Release builds
     94    component: "Firefox::New Tab Page"
     95    suffix: "trainhop-rel"
     96    mozinfo: "trainhop"
     97    expiration: None
     98    merge:
     99        worker:
    100            env:
    101                MOZHARNESS_TEST_TAG:
    102                    - "newtab"
    103        mozharness:
    104            chunked: false
    105            extra-options:
    106                - --install-extension=newtab.xpi
    107                # This preference is normally set via Nimbus when doing a New Tab
    108                # train-hop, but when running the tests in automation like this, we
    109                # install the XPI using the more traditional extension install
    110                # mechanism.
    111                #
    112                # This is kind of a hack, but so long as this string here is not
    113                # empty, we bypass the uninstall that occurs at startup, and read
    114                # from the installed XPI.
    115                - --setpref=browser.newtabpage.trainhopAddon.version=any
    116        dependencies:
    117            newtab-xpi-job: build-extensions-browser
    118    replace:
    119        fetches:
    120            newtab-xpi-job:
    121                - artifact: ../browser-extensions/newtab.xpi
    122                  extract: false
    123        target:
    124            by-test-platform:
    125                linux.*:
    126                    index: gecko.v2.mozilla-release.shippable.latest.firefox.linux64-opt
    127                    name: build/target.tar.xz
    128                macosx.*:
    129                    index: gecko.v2.mozilla-release.shippable.latest.firefox.macosx64-opt
    130                    name: build/target.dmg
    131                windows.*:
    132                    index: gecko.v2.mozilla-release.shippable.latest.firefox.win64-opt
    133                    name: build/target.zip
    134 
    135 
    136 trainhop-beta:
    137    description: Mochitest-browser for Newtab using latest Beta builds
    138    component: "Firefox::New Tab Page"
    139    suffix: "trainhop-beta"
    140    mozinfo: "trainhop"
    141    expiration: None
    142    merge:
    143        worker:
    144            env:
    145                MOZHARNESS_TEST_TAG:
    146                    - "newtab"
    147        mozharness:
    148            chunked: false
    149            extra-options:
    150                - --install-extension=newtab.xpi
    151                # This preference is normally set via Nimbus when doing a New Tab
    152                # train-hop, but when running the tests in automation like this, we
    153                # install the XPI using the more traditional extension install
    154                # mechanism.
    155                #
    156                # This is kind of a hack, but so long as this string here is not
    157                # empty, we bypass the uninstall that occurs at startup, and read
    158                # from the installed XPI.
    159                - --setpref=browser.newtabpage.trainhopAddon.version=any
    160        dependencies:
    161            newtab-xpi-job: build-extensions-browser
    162 
    163    replace:
    164        fetches:
    165            newtab-xpi-job:
    166                - artifact: ../browser-extensions/newtab.xpi
    167                  extract: false
    168        target:
    169            by-test-platform:
    170                linux.*:
    171                    index: gecko.v2.mozilla-beta.shippable.latest.firefox.linux64-opt
    172                    name: build/target.tar.xz
    173                macosx.*:
    174                    index: gecko.v2.mozilla-beta.shippable.latest.firefox.macosx64-opt
    175                    name: build/target.dmg
    176                windows.*:
    177                    index: gecko.v2.mozilla-beta.shippable.latest.firefox.win64-opt
    178                    name: build/target.zip
    179 
    180 
    181 geckoview-no-fission:
    182    description: "{description} without fission enabled"
    183    component: "GeckoView::General"
    184    expiration: "2026-03-01"
    185    when:
    186        <<: *gv_e10s_filter
    187    suffix: "nofis"
    188    mozinfo: "fission"
    189    merge:
    190        mozharness:
    191            extra-options:
    192                - "--disable-fission"
    193 
    194 geckoview-fission:
    195    description: "{description} with fission enabled and default isolation strategy"
    196    component: "GeckoView::General"
    197    expiration: "2026-03-01"
    198    when:
    199        <<: *gv_e10s_filter
    200    suffix: "fis"
    201    mozinfo: "fission"
    202 
    203 geckoview-fission-isolate-high-value:
    204    description: "{description} with fission enabled and isolation strategy isolateHighValue"
    205    component: "GeckoView::General"
    206    expiration: "2026-03-01"
    207    when:
    208        <<: *gv_e10s_filter
    209    suffix: "fis-hv"
    210    mozinfo: "fission-high-value"
    211    merge:
    212        mozharness:
    213            extra-options:
    214                - "--setpref=fission.webContentIsolationStrategy=2"
    215 
    216 no-fission:
    217    description: "{description} without fission enabled"
    218    component: "Core::DOM: Content Processes"
    219    expiration: "2026-03-01"
    220    suffix: "nofis"
    221    mozinfo: "fission"
    222    when:
    223        $eval: '
    224                "linux" in task["test-platform"]
    225                || "android" in task["test-platform"]
    226                '
    227    merge:
    228        mozharness:
    229            extra-options:
    230                - "--disable-fission"
    231 
    232 geckoview-zygote:
    233    description: "{description} with app Zygote preloading enabled"
    234    component: "GeckoView::General"
    235    expiration: "2026-03-01"
    236    suffix: "zygote"
    237    when:
    238        <<: *gv_e10s_filter
    239    merge:
    240        mozharness:
    241            extra-options:
    242                - "--enable-isolated-zygote-process"
    243 
    244 geckoview-no-fission-no-ship:
    245    description: "{description} with fission disabled and ship disabled"
    246    component: "GeckoView::General"
    247    expiration: "2026-03-01"
    248    suffix: "nofis-noship"
    249    when:
    250        <<: *gv_e10s_filter
    251    merge:
    252        mozharness:
    253            extra-options:
    254                - "--disable-fission"
    255                - "--setpref=fission.disableSessionHistoryInParent=true"
    256 
    257 xorigin:
    258    description: "{description} with cross-origin"
    259    component: "Core::DOM: Content Processes"
    260    expiration: "never"
    261    suffix: "xorig"
    262    mozinfo: "xorigin"
    263    replace:
    264        e10s: true
    265    when:
    266        $eval: '"mochitest-plain" in task["try-name"]'
    267    merge:
    268        mozharness:
    269            extra-options:
    270                - "--enable-xorigin-tests"
    271                - "--setpref=privacy.partition.always_partition_third_party_non_cookie_storage=false"
    272 
    273 conditioned_profile:
    274    description: "{description} with conditioned profile"
    275    component: "Testing::General"
    276    expiration: "2026-03-01"
    277    suffix: "condprof"
    278    mozinfo: "condprof"
    279    when:
    280        $eval: '
    281                (
    282                    "linux" in task["test-platform"]
    283                    || "windows" in task["test-platform"]
    284                ) && (
    285                    "opt" in task["test-platform"]
    286                    && !(
    287                        "asan" in task["test-platform"]
    288                        || "tsan" in task["test-platform"]
    289                        || "ccov" in task["test-platform"]
    290                    )
    291                ) && (
    292                    "mochitest-plain" == task["try-name"]
    293                    || "xpcshell" == task["try-name"]
    294                )'
    295    merge:
    296        worker:
    297            env:
    298                MOZHARNESS_TEST_TAG:
    299                    - "condprof"
    300        mozharness:
    301            extra-options:
    302                - "--conditioned-profile"
    303    replace:
    304        chunks: 8
    305 
    306 socketprocess:
    307    description: "{description} with socket process enabled"
    308    component: "Core::Networking"
    309    expiration: "2026-03-01"
    310    suffix: "spi"
    311    mozinfo: "socketprocess_e10s"
    312    when:
    313        $eval: '"mochitest-media" in task["try-name"]'
    314    merge:
    315        mozharness:
    316            extra-options:
    317                - "--setpref=media.peerconnection.mtransport_process=true"
    318                - "--setpref=network.process.enabled=true"
    319 
    320 # -
    321 # Webrender DComp variants for Win10
    322 
    323 webrender-dcomp-disabled:
    324    description: "{description} with dcomp disabled"
    325    component: "Core::Graphics: WebRender"
    326    expiration: "2026-03-01"
    327    suffix: "wr-dc0"
    328    when:
    329        $eval: '"windows1" in task["test-platform"]'
    330    merge:
    331        mozharness:
    332            extra-options:
    333                - "--setpref=gfx.webrender.dcomp-win.enabled=false"
    334                - "--setpref=gfx.webrender.dcomp-video-overlay-win=false"
    335                - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=false"
    336                - "--setpref=gfx.webrender.compositor=false"
    337                - "--setpref=gfx.webrender.compositor.force-enabled=false"
    338 
    339 webrender-dcomp-present:  # Default variant ends up like this.
    340    description: "{description} with dcomp present but not overlays"
    341    component: "Core::Graphics: WebRender"
    342    expiration: "2026-03-01"
    343    suffix: "wr-dc1-p"
    344    when:
    345        $eval: '"windows1" in task["test-platform"]'
    346    merge:
    347        mozharness:
    348            extra-options:
    349                - "--setpref=gfx.webrender.dcomp-win.enabled=true"
    350                - "--setpref=gfx.webrender.dcomp-video-overlay-win=false"
    351                - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=false"
    352                - "--setpref=gfx.webrender.compositor=false"
    353                - "--setpref=gfx.webrender.compositor.force-enabled=false"
    354 
    355 webrender-dcomp-overlays:
    356    description: "{description} with dcomp overlays but not compositing"
    357    component: "Core::Graphics: WebRender"
    358    expiration: "2026-03-01"
    359    suffix: "wr-dc2-o"
    360    when:
    361        $eval: '"windows1" in task["test-platform"]'
    362    merge:
    363        mozharness:
    364            extra-options:
    365                - "--setpref=gfx.webrender.dcomp-win.enabled=true"
    366                - "--setpref=gfx.webrender.dcomp-video-overlay-win=true"
    367                - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=true"
    368                - "--setpref=gfx.webrender.compositor=false"
    369                - "--setpref=gfx.webrender.compositor.force-enabled=false"
    370 
    371 webrender-dcomp-compositing:
    372    description: "{description} with dcomp compositing"
    373    component: "Core::Graphics: WebRender"
    374    expiration: "2026-03-01"
    375    suffix: "wr-dc3-c"
    376    when:
    377        $eval: '"windows1" in task["test-platform"]'
    378    merge:
    379        mozharness:
    380            extra-options:
    381                - "--setpref=gfx.webrender.dcomp-win.enabled=true"
    382                - "--setpref=gfx.webrender.dcomp-video-overlay-win=true"
    383                - "--setpref=gfx.webrender.dcomp-video-overlay-win.force-enabled=true"
    384                - "--setpref=gfx.webrender.compositor=true"
    385                - "--setpref=gfx.webrender.compositor.force-enabled=true"
    386 
    387 # -
    388 
    389 webrender-sw:
    390    description: "{description} with software webrender enabled"
    391    component: "Core::Graphics: WebRender"
    392    expiration: "never"
    393    suffix: "swr"
    394    mozinfo: "swgl"
    395    merge:
    396        webrender: true
    397        mozharness:
    398            extra-options:
    399                - "--setpref=gfx.webrender.software=true"
    400 
    401 wmf-media-engine:
    402    description: "{description} with Windows Media Foundation media engine enabled"
    403    component: "Core::Audio/Video: Playback"
    404    expiration: "never"
    405    when:
    406        $eval: '"windows1" in task["test-platform"]'
    407    suffix: "wmfme"
    408    mozinfo: "wmfme"
    409    merge:
    410        worker:
    411            env:
    412                MOZHARNESS_TEST_TAG:
    413                    - "media-engine-compatible"
    414        mozharness:
    415            extra-options:
    416                - "--setpref=media.wmf.media-engine.enabled=1"
    417                - "--setpref=media.wmf.media-engine.channel-decoder.enabled=true"
    418                - "--setpref=media.eme.wmf.clearkey.enabled=true"
    419                - "--setpref=media.wmf.media-engine.bypass-gfx-blocklist=true"
    420                - "--setpref=media.eme.mfcdm.origin-filter.enabled=0"
    421 
    422 # For EME wpts, where we need non-local connection to the license server
    423 eme-wmf:
    424    description: "{description} with Windows Media Foundation based CDM enabled for EME wpt"
    425    component: "Core::Audio/Video: Playback"
    426    expiration: "never"
    427    when:
    428        $eval: '"windows1" in task["test-platform"]'
    429    suffix: "emewmf"
    430    mozinfo: "emewmf"
    431    merge:
    432        worker:
    433            env:
    434                MOZ_DISABLE_NONLOCAL_CONNECTIONS:
    435                    '0'
    436        virtualization: virtual-with-gpu
    437        mozharness:
    438            extra-options:
    439                - "--setpref=media.eme.playready.enabled=true"
    440                - "--setpref=media.wmf.media-engine.enabled=2"
    441                - "--setpref=media.wmf.media-engine.bypass-gfx-blocklist=true"
    442                - "--setpref=media.eme.mfcdm.origin-filter.enabled=0"
    443 
    444 media-gpu:
    445    description: "{description} for running media tests on the GPU worker"
    446    component: "Core::Audio/Video: Playback"
    447    expiration: "never"
    448    suffix: "mda-gpu"
    449    mozinfo: "mda_gpu"
    450    when:
    451        $eval: '
    452                    (
    453                        "windows" in task["test-platform"]
    454                        && "hw" in task["test-platform"]
    455                    )
    456                    || "macosx" in task["test-platform"] ||
    457                    (
    458                        "android" in task["test-platform"]
    459                        && "hw" in task["test-platform"]
    460                    )
    461                    || "linux1804" in task["test-platform"]
    462                '
    463    merge:
    464        worker:
    465            env:
    466                MOZHARNESS_TEST_TAG:
    467                    - "media-gpu"
    468                USE_HARDWARE: "1"
    469        virtualization: virtual-with-gpu
    470        mozharness:
    471            extra-options:
    472                - "--setpref=media.hardware-video-decoding.force-enabled=true"
    473 
    474 no-gpu-process:
    475    description: "{description} without a dedicated GPU process"
    476    component: "Core::Graphics"
    477    expiration: "2026-01-15"
    478    suffix: "nogpu"
    479    mozinfo: "nogpu"
    480    when:
    481        $eval: '
    482                    "windows" in task["test-platform"]
    483                    || "android" in task["test-platform"]
    484                    || "linux" in task["test-platform"]
    485                    || "macosx" in task["test-platform"]
    486                '
    487    replace:
    488        virtualization: virtual
    489 
    490    merge:
    491        mozharness:
    492            extra-options:
    493                - "--setpref=layers.gpu-process.enabled=false"
    494                - "--setpref=layers.gpu-process.force-enabled=false"
    495                - "--setpref=webgl.force-enabled=true"  # Bug 1922686
    496 
    497 msix:
    498    description: "{description} from msix packages"
    499    component: "Firefox:Installer"
    500    expiration: "never"
    501    suffix: "msix"
    502    mozinfo: "msix"
    503    when:
    504        $eval: '
    505                    "windows11" in task["test-platform"]
    506                    && "-64" in task["test-platform"]
    507                    && (
    508                        "opt" in task["test-platform"]
    509                        || "debug" in task["test-platform"]
    510                    ) && !(
    511                        "asan" in task["test-platform"]
    512                        || "ccov" in task["test-platform"]
    513                        || "devedition" in task["test-platform"]
    514                    )
    515                '
    516    replace:
    517        mozharness:
    518            extra-options:
    519                - "--variant=msix"
    520                - "--installer-path installer.msix"
    521 
    522 http3:
    523    description: "{description} with http3 server"
    524    component: "Core::Networking"
    525    expiration: "2026-03-01"
    526    suffix: "http3"
    527    mozinfo: "http3"
    528    when:
    529        $eval: '(
    530                    "linux" in task["test-platform"]
    531                    && "debug" in task["test-platform"]
    532                ) && (
    533                    "mochitest-plain" == task["try-name"]
    534                    || "mochitest-devtools-chrome" == task["try-name"]
    535                )'
    536    merge:
    537        mozharness:
    538            extra-options:
    539                - "--use-http3-server"
    540 
    541 http2:
    542    description: "{description} with http2 server"
    543    component: "Core::Networking"
    544    expiration: "2026-03-01"
    545    suffix: "http2"
    546    mozinfo: "http2"
    547    when:
    548        $eval: '(
    549                    "linux" in task["test-platform"]
    550                    && "debug" in task["test-platform"]
    551                )
    552                    && "mochitest-plain" == task["try-name"]
    553                '
    554    merge:
    555        mozharness:
    556            extra-options:
    557                - "--use-http2-server"
    558 
    559 draw-snapshot:
    560    description: "{description} with draw snapshot"
    561    component: "Core::Graphics"
    562    suffix: "s"
    563    mozinfo: "snapshot"
    564    expiration: "never"
    565    when:
    566        $eval: '(
    567                    "linux" in task["test-platform"]
    568                    && "debug" in task["test-platform"]
    569                )
    570                && (
    571                    "reftest" == task["try-name"]
    572                    || "web-platform-tests-reftest" == task["try-name"]
    573                )
    574                '
    575    replace:
    576        virtualization: virtual
    577    merge:
    578        mozharness:
    579            extra-options:
    580                - "--setpref=reftest.use-draw-snapshot=true"
    581 
    582 async-event-dispatching:
    583    description: "{description} with async widget event dispatching"
    584    component: "Remote Protocol::Agent"
    585    expiration: "2026-04-01"
    586    suffix: "async"
    587    mozinfo: "remote_async"
    588    replace:
    589        tier: 3
    590    merge:
    591        mozharness:
    592            extra-options:
    593                - "--setpref=remote.events.async.mouse.enabled=true"
    594                - "--setpref=remote.events.async.wheel.enabled=true"
    595 
    596 vertical-tabs:
    597    description: "{description} limited to tests identified as being applicable to also run with vertical tabs enabled"
    598    component: "Firefox::Tabbed Browser"
    599    expiration: "2026-11-01"
    600    suffix: "vt"
    601    mozinfo: "vertical_tab"
    602    merge:
    603        worker:
    604            env:
    605                MOZHARNESS_TEST_TAG:
    606                    - "vertical-tabs"
    607        mozharness:
    608            extra-options:
    609                - "--setpref=sidebar.verticalTabs=true"
    610 
    611 inc-origin-init:
    612    description: "{description} limited to tests identified as being applicable to also run with incremental origin initialization enabled"
    613    component: "Core::Storage: Quota Manager"
    614    expiration: "2026-05-01"
    615    suffix: "ioi"
    616    mozinfo: "inc_origin_init"
    617    replace:
    618        tier: 3
    619    merge:
    620        worker:
    621            env:
    622                MOZHARNESS_TEST_TAG:
    623                    - "inc-origin-init"
    624                MOZ_ENABLE_INC_ORIGIN_INIT: "1"
    625 
    626 privatebrowsing:
    627    description: "{description} limited to tests identified as being applicable to also run in private browsing mode"
    628    component: "Core::Storage: Quota Manager"
    629    expiration: "never"
    630    suffix: "pb"
    631    mozinfo: "privateBrowsing"
    632    merge:
    633        worker:
    634            env:
    635                MOZHARNESS_TEST_TAG:
    636                    - "privatebrowsing"
    637        mozharness:
    638            extra-options:
    639                - "--setpref=browser.privatebrowsing.autostart=true"
    640 
    641 privatebrowsing-inc-origin-init:
    642    description: "{description} limited to tests identified as being applicable to also run in private browsing mode and with incremental origin initialization enabled"
    643    component: "Core::Storage: Quota Manager"
    644    expiration: "2026-05-01"
    645    suffix: "pb-ioi"
    646    replace:
    647        tier: 3
    648    merge:
    649        worker:
    650            env:
    651                MOZHARNESS_TEST_TAG:
    652                    - "privatebrowsing-inc-origin-init"
    653                MOZ_ENABLE_INC_ORIGIN_INIT: "1"
    654        mozharness:
    655            extra-options:
    656                - "--setpref=browser.privatebrowsing.autostart=true"