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"