2 # Presets defined here will be available to all users. Run them with:
3 # $ mach try --preset <name>
5 # If editing this file, make sure to run:
6 # $ mach python-test tools/tryselect/test/test_presets.py
8 # Descriptions are required. Please keep this in alphabetical order.
10 # yamllint disable rule:line-length
15 Run builds without any of the extras.
17 - "^build- !fuzzing !notarization !reproduced !rusttests !signing !upload-symbols"
22 Run the bare minimum of debug build jobs to ensure builds work on
25 - "^build- 'debug !fuzzing !rusttests !signing !plain !asan !tsan !noopt !toolchain !upload-symbols"
30 Run the bare minimum of debug and opt build jobs to ensure builds work on
33 - "^build- !fuzzing !rusttests !signing !plain !asan !tsan !noopt !toolchain !upload-symbols"
37 Run mochitest-browser, xpcshell, mochitest-chrome, mochitest-a11y,
38 marionette, firefox-ui-functional on all desktop platforms.
39 Excludes non-shipped/duplicate configurations like asan/tsan/msix
40 to reduce the runtime of the push as well as infra load.
41 Use with --artifact to speed up your trypush.
42 If this is green, you can be 99% sure that any frontend change will
46 # Runs 64-bit frontend-tests, plus win7. Tries to avoid running
47 # asan/tsan because they're not available as artifact builds, and
48 # rarely offer different results from debug/opt. It also avoids running
49 # msix/swr/a11y-checks/gpu/nofis/headless variants of otherwise
50 # identical tests, as again those are unlikely to show different
51 # results for frontend-only changes.
52 # This won't run 32-bit debug tests, which seems an acceptable
53 # trade-off for query complexity + runtime on infrastructure.
54 - "'browser-chrome 'windows7 | '64 !spi !asan !tsan !msix !a11y !swr | 'linux"
55 - "'mochitest-chrome 'windows7 | '64 !spi !asan !tsan !swr !gpu"
56 - "'xpcshell 'windows7 | '64 !spi !asan !tsan !msix !nofis !condprof"
57 - "'browser-a11y | 'mochitest-a11y 'windows7 | '64 !spi !asan !tsan !no-cache !swr"
58 - "'marionette 'windows7 | '64 !asan !source !headless !swr"
59 - "'firefox-ui-functional 'windows7 | '64 !asan !tsan"
64 Runs the tests relevant to the Firefox Devtools
66 - "'node-debugger | 'node-devtools"
68 # Windows: skip jobs on asan and 32 bits platforms
69 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'windows !asan !-32"
70 # macos: no extra platform to filter out
71 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'macosx"
72 # Linux is being named "linux1804" and may change over time, so use a more flexible search
73 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'linux '64-qr/ !swr"
74 - "'xpcshell 'linux !nofis '64-qr/"
79 Runs the tests relevant to the Firefox Devtools, on Linux only.
81 - "'node-debugger | 'node-devtools"
83 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'linux '64-qr/ !swr"
84 - "'xpcshell 'linux !nofis '64-qr/"
89 Runs correctness test suites on Linux and Android emulator platforms, as
90 well as builds across main platforms. The resulting jobs on TreeHerder
91 used to end up looking like a "F" shape (not so much these days) and so
92 this is typically referred to as an F-push. This is useful to do as a
93 general sanity check on changes to cross-platform Gecko code where you
94 unsure of what tests might be affected. Linux and Android (emulator)
95 test coverage are relatively cheap to run and cover a lot of the
96 codebase, while the builds on other platforms catch compilation problems
97 that might result from only building locally on one platform.
99 - "'test-linux1804 'debug- !-shippable !-asan"
100 - "'test-android-em 'debug"
101 - "^build !-shippable !-signing !-asan !-fuzzing !-rusttests !-base-toolchain !-aar-"
106 Runs the tests relevant to geckodriver, which implements the WebDriver
107 specification. This preset can be filtered down further to limit it to
108 a specific platform or other tasks only. For example:
109 |mach try --preset geckodriver -xq "'linux"|
112 - "'platform 'wdspec 'debug 'nofis"
113 - "'browsertime 'amazon 'shippable 'firefox 'nofis"
118 Runs the tests most relevant to layout.
119 This preset can be filtered down further to limit it to
120 a specific platform or build configuration. For example:
121 |mach try --preset layout -xq "linux64 'opt"|
123 # Most mochitest + reftest + crashtest + wpt
124 - "!asan !tsan !jsreftest !shippable !webgl !condprof !media !webgpu 'mochitest | 'web-platform | 'crashtest | 'reftest"
125 # Style system unit tests
131 Runs tests that exercise media playback and WebRTC code.
133 - "mochitest-media !dfpi !nofis"
134 - "mochitest-media android !spi !swr !lite"
135 - "mochitest-browser-chrome !dfpi !nofis !a11y"
136 - "mochitest-browser-media"
137 - "web-platform-tests !dfpi !nofis !shippable"
138 - "web-platform-tests android !wdspec !spi !swr !lite"
139 - "crashtest !wdspec !nofis"
140 - "crashtest android !wdspec !spi !swr !lite"
145 Runs mochitest-browser-chrome on all Desktop platforms in both opt
146 and debug. Excludes jobs that require non-artifact builds (asan,
147 tsan, msix, etc.) and some non-default configurations. For frontend
148 only changes, use this with --artifact to speed up your trypushes.
150 - "'browser-chrome 'windows7 | '64 !tsan !asan !msix !spi !a11y !swr | 'linux"
156 Runs all performance (raptor and talos) tasks across all platforms.
157 This preset can be filtered down further (e.g to limit it to a specific
158 platform) via |mach try --preset perf -xq "'windows"|.
160 Android hardware platforms are excluded due to resource limitations.
162 - "^test- !android-hw 'raptor | 'talos"
167 Runs the talos tests most likely to change when making a change to
168 the browser chrome. This skips a number of talos jobs that are unlikely
169 to be affected in order to conserve resources.
171 - "opt-talos- 'chrome | 'svg | 'session | 'tabswitch | 'other | 'g5"
178 Runs the tests relevant to the Remote protocol, which underpins
179 many test harnesses as well as our CDP and WebDriver implementations.
180 This preset can be filtered down further to limit it to a specific
181 platform or to opt/debug tasks only. For example:
182 |mach try --preset remote-protocol -xq "'linux 'opt"|
186 - "'marionette !swr | harness"
187 - "'mochitest-browser !spi !swr !nofis '-1$"
188 - "'mochitest-remote !spi !swr"
189 - "'platform 'reftest !swr !nofis | 'android !-lite -1$"
190 - "'platform 'wdspec !swr"
191 - "'platform !reftest !wdspec !swr !nofis | 'android !-lite -1$"
193 - "'reftest !platform !gpu !swr !no-accel !nofis | 'android !-lite -1$"
194 - "'xpcshell !spi !tsan !-lite"
199 Runs one chunk of every test suite plus all suites that aren't chunked.
200 It is useful for testing infrastructure changes that can affect the
201 harnesses themselves but are unlikely to break specific tests.
204 # Only run a single talos + raptor suite per platform
205 - ^test- !1$ !2$ !3$ !4$ !5$ !6$ !7$ !8$ !9$ !0$ !raptor !talos
206 - ^test- 'raptor-speedometer | 'talos-g1
211 Runs a set of tests aimed to give a reasonable level of confidence for
212 basic SpiderMonkey changes (shell only), all platforms
214 - "'spidermonkey | 'shell-haz"
215 - "!shippable !android 'jittest" # macosx64 jittests
220 Runs a set of tests aimed to give a reasonable level of confidence for
221 basic SpiderMonkey changes (shell only) (linux only)
223 - "!win !osx 'spidermonkey | 'shell-haz"
229 Runs a set of tests aimed to give a reasonable level of confidence for
230 basic SpiderMonkey changes, including those that would require a
233 - "'spidermonkey | 'hazard"
234 - "!android !asan !shippable 'xpcshell"
235 - "!android !asan !shippable 'jsreftest"
236 - "!shippable !android 'jittest" # macosx64 jittests
241 Runs most of the unit tests of WebExtension code across all desktop
242 platforms and Android, including mochitests, xpcshell and test-verify.
243 GeckoView JUnit tests are NOT run.
244 paths: # must be duplicate of test_paths, see bug 1556445
245 - browser/components/extensions/test/
246 - mobile/android/components/extensions/test/
247 - toolkit/components/extensions/test/
248 - toolkit/mozapps/extensions/test/
249 test_paths: # must be duplicate of paths, see bug 1556445
250 - browser/components/extensions/test/
251 - mobile/android/components/extensions/test/
252 - toolkit/components/extensions/test/
253 - toolkit/mozapps/extensions/test/
255 - "'64-qr/ | 'windows11-64-2009-qr !wpt !gpu !msix"
260 Runs the tests relevant to WebGPU.
263 - "source-test-mozlint-updatebot"
264 - "source-test-vendor-rust"
269 Runs the conformance tests relevant to WebRender.
271 - "!talos !raptor !shippable !asan '-qr"
277 Runs the reftests relevant to WebRender.
279 - "!talos !raptor !shippable !asan !nofis 'reftest"
281 webrender-reftests-linux:
284 Runs the reftests relevant to WebRender on linux only.
286 - "!talos !raptor !shippable !asan !nofis 'linux 'reftest"
291 Runs the performance tests relevant to WebRender.
297 - "'-qr 'talos-webgl"
298 - "'-qr 'motionmark-animometer"