Bug 1855360 - Fix the skip-if syntax. a=bustage-fix
[gecko.git] / tools / tryselect / try_presets.yml
blobebdc94aa038860dc75b0b813671f0367bc1fb335
1 ---
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
12 builds:
13     selector: fuzzy
14     description: >-
15         Run builds without any of the extras.
16     query:
17         - "^build- !fuzzing !notarization !reproduced !rusttests !signing !upload-symbols"
19 builds-debug:
20     selector: fuzzy
21     description: >-
22         Run the bare minimum of debug build jobs to ensure builds work on
23         all tier-1 platforms.
24     query:
25         - "^build- 'debug !fuzzing !rusttests !signing !plain !asan !tsan !noopt !toolchain !upload-symbols"
27 builds-debugopt:
28     selector: fuzzy
29     description: >-
30         Run the bare minimum of debug and opt build jobs to ensure builds work on
31         all tier-1 platforms.
32     query:
33         - "^build- !fuzzing !rusttests !signing !plain !asan !tsan !noopt !toolchain !upload-symbols"
35 desktop-frontend:
36     description: >-
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
43         stick on central.
44     selector: fuzzy
45     query:
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"
61 devtools:
62     selector: fuzzy
63     description: >-
64         Runs the tests relevant to the Firefox Devtools
65     query:
66         - "'node-debugger | 'node-devtools"
67         - "'mozlint-eslint"
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/"
76 devtools-linux:
77     selector: fuzzy
78     description: >-
79         Runs the tests relevant to the Firefox Devtools, on Linux only.
80     query:
81         - "'node-debugger | 'node-devtools"
82         - "'mozlint-eslint"
83         - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'linux '64-qr/ !swr"
84         - "'xpcshell 'linux !nofis '64-qr/"
86 fpush-linux-android:
87     selector: fuzzy
88     description: >-
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.
98     query:
99         - "'test-linux1804 'debug- !-shippable !-asan"
100         - "'test-android-em 'debug"
101         - "^build !-shippable !-signing !-asan !-fuzzing !-rusttests !-base-toolchain !-aar-"
103 geckodriver:
104     selector: fuzzy
105     description: >-
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"|
110     query:
111         - "'rusttests"
112         - "'platform 'wdspec 'debug 'nofis"
113         - "'browsertime 'amazon 'shippable 'firefox 'nofis"
115 layout:
116     selector: fuzzy
117     description: >-
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"|
122     query:
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
126         - "'rusttests"
128 media-full:
129     selector: fuzzy
130     description: >-
131         Runs tests that exercise media playback and WebRTC code.
132     query:
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"
141         - "'gtest"
143 mochitest-bc:
144     description: >-
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.
149     query:
150         - "'browser-chrome 'windows7 | '64 !tsan !asan !msix !spi !a11y !swr | 'linux"
151     selector: fuzzy
153 perf:
154     selector: fuzzy
155     description: >-
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.
161     query:
162         - "^test- !android-hw 'raptor | 'talos"
163     rebuild: 5
165 perf-chrome:
166     description: >-
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.
170     query:
171         - "opt-talos- 'chrome | 'svg | 'session | 'tabswitch | 'other | 'g5"
172     rebuild: 6
173     selector: fuzzy
175 remote-protocol:
176     selector: fuzzy
177     description: >-
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"|
183     query:
184         - "'awsy-base"
185         - "'firefox-ui"
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$"
192         - "'puppeteer"
193         - "'reftest !platform !gpu !swr !no-accel !nofis | 'android !-lite -1$"
194         - "'xpcshell !spi !tsan !-lite"
196 sample-suites:
197     selector: fuzzy
198     description: >-
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.
202     query:
203         - ^test- -1$
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
208 sm-shell-all:
209     selector: fuzzy
210     description: <-
211         Runs a set of tests aimed to give a reasonable level of confidence for
212         basic SpiderMonkey changes (shell only), all platforms
213     query:
214         - "'spidermonkey | 'shell-haz"
215         - "!shippable !android 'jittest"  # macosx64 jittests
217 sm-shell:
218     selector: fuzzy
219     description: <-
220         Runs a set of tests aimed to give a reasonable level of confidence for
221         basic SpiderMonkey changes (shell only) (linux only)
222     query:
223         - "!win !osx 'spidermonkey | 'shell-haz"
226 sm-all:
227     selector: fuzzy
228     description: <-
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
231         browser build.
232     query:
233         - "'spidermonkey | 'hazard"
234         - "!android !asan !shippable 'xpcshell"
235         - "!android !asan !shippable 'jsreftest"
236         - "!shippable !android 'jittest"  # macosx64 jittests
238 webextensions:
239     selector: fuzzy
240     description: <-
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/
254     query:
255         - "'64-qr/ | 'windows11-64-2009-qr !wpt !gpu !msix"
257 webgpu:
258     selector: fuzzy
259     description: >-
260         Runs the tests relevant to WebGPU.
261     query:
262         - "'webgpu"
263         - "source-test-mozlint-updatebot"
264         - "source-test-vendor-rust"
266 webrender:
267     selector: fuzzy
268     description: >-
269         Runs the conformance tests relevant to WebRender.
270     query:
271         - "!talos !raptor !shippable !asan '-qr"
272         - "^webrender-"
274 webrender-reftests:
275     selector: fuzzy
276     description: >-
277         Runs the reftests relevant to WebRender.
278     query:
279         - "!talos !raptor !shippable !asan !nofis 'reftest"
281 webrender-reftests-linux:
282     selector: fuzzy
283     description: >-
284         Runs the reftests relevant to WebRender on linux only.
285     query:
286         - "!talos !raptor !shippable !asan !nofis 'linux 'reftest"
288 webrender-perf:
289     selector: fuzzy
290     description: >-
291         Runs the performance tests relevant to WebRender.
292     query:
293         - "'-qr 'svgr"
294         - "'-qr 'g1"
295         - "'-qr 'g4"
296         - "'-qr 'tp5"
297         - "'-qr 'talos-webgl"
298         - "'-qr 'motionmark-animometer"