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"
38 Runs the tests relevant to the Firefox Devtools
40 - "'node-debugger | 'node-devtools"
42 # 'mochitest-devtools-chrome matches "-e10s" and "-fis-e10s"
43 # Windows: skip jobs on asan and 32 bits platforms
44 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'windows10 !asan !-32"
45 # macos: no extra platform to filter out
46 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'macosx"
47 # Linux is being named "linux1804" and may change over time, so use a more flexible search
48 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'linux '64-qr/ !swr"
49 - "'xpcshell-e10s 'linux '64-qr/"
54 Runs the tests relevant to the Firefox Devtools, on Linux only.
56 - "'node-debugger | 'node-devtools"
58 - "'mochitest-devtools-chrome | 'mochitest-chrome-1proc 'linux '64-qr/ !swr"
59 - "'xpcshell-e10s 'linux '64-qr/"
64 Runs correctness test suites on Linux and Android emulator platforms, as
65 well as builds across main platforms. The resulting jobs on TreeHerder
66 used to end up looking like a "F" shape (not so much these days) and so
67 this is typically referred to as an F-push. This is useful to do as a
68 general sanity check on changes to cross-platform Gecko code where you
69 unsure of what tests might be affected. Linux and Android (emulator)
70 test coverage are relatively cheap to run and cover a lot of the
71 codebase, while the builds on other platforms catch compilation problems
72 that might result from only building locally on one platform.
74 - "'test-linux1804 'debug- !-shippable !-asan"
75 - "'test-android-em 'debug"
76 - "^build !-shippable !-signing !-asan !-fuzzing !-rusttests !-base-toolchain !-aar-"
81 Runs the tests relevant to geckodriver, which implements the WebDriver
82 specification. This preset can be filtered down further to limit it to
83 a specific platform or other tasks only. For example:
84 |mach try --preset geckodriver -xq "'linux"|
87 - "'platform 'wdspec 'debug !fis"
88 - "'browsertime 'amazon 'vismet 'shippable 'firefox !fis"
93 Runs all performance (raptor and talos) tasks across all platforms.
94 This preset can be filtered down further (e.g to limit it to a specific
95 platform) via |mach try --preset perf -xq "'windows"|.
97 Android hardware platforms are excluded due to resource limitations.
99 - "^test- !android-hw 'raptor | 'talos"
104 Runs the talos tests most likely to change when making a change to
105 the browser chrome. This skips a number of talos jobs that are unlikely
106 to be affected in order to conserve resources.
108 - "opt-talos- 'chrome | 'svg | 'session | 'tabswitch | 'other | 'g5"
115 Runs the tests relevant to the Remote protocol, which underpins
116 many test harnesses as well as our CDP and WebDriver implementations.
117 This preset can be filtered down further to limit it to a specific
118 platform or to opt/debug tasks only. For example:
119 |mach try --preset remote-protocol -xq "'linux 'opt"|
123 - "'marionette !swr | harness"
124 - "'mochitest-browser !spi !swr 'fis -1$"
125 - "'mochitest-remote !spi !swr"
126 - "'platform 'reftest !swr 'fis | 'android !-lite -1$"
127 - "'platform 'wdspec !swr"
128 - "'platform !reftest !wdspec !swr 'fis | 'android !-lite -1$"
130 - "'reftest !platform !gpu !swr !no-accel 'fis | 'android !-lite -1$"
131 - "'xpcshell !spi !tsan !-lite"
136 Runs one chunk of every test suite plus all suites that aren't chunked.
137 It is useful for testing infrastructure changes that can affect the
138 harnesses themselves but are unlikely to break specific tests.
141 # Only run a single talos + raptor suite per platform
142 - ^test- !1$ !2$ !3$ !4$ !5$ !6$ !7$ !8$ !9$ !0$ !raptor !talos
143 - ^test- 'raptor-speedometer | 'talos-g1
148 Runs a set of tests aimed to give a reasonable level of confidence for
149 basic SpiderMonkey changes (shell only), all platforms
151 - "'spidermonkey | 'shell-haz"
152 - "!shippable !android 'jittest" # macosx64 jittests
157 Runs a set of tests aimed to give a reasonable level of confidence for
158 basic SpiderMonkey changes (shell only) (linux only)
160 - "!win !osx 'spidermonkey | 'shell-haz"
166 Runs a set of tests aimed to give a reasonable level of confidence for
167 basic SpiderMonkey changes, including those that would require a
170 - "'spidermonkey | 'hazard"
171 - "!android !asan !shippable 'xpcshell"
172 - "!android !asan !shippable 'jsreftest"
173 - "!shippable !android 'jittest" # macosx64 jittests
178 Runs the conformance tests relevant to WebRender.
180 - "!talos !raptor !shippable !asan '-qr"
186 Runs the performance tests relevant to WebRender.
188 - "'-qr !fis-e10s 'svgr"
189 - "'-qr !fis-e10s 'g1"
190 - "'-qr !fis-e10s 'g4"
191 - "'-qr !fis-e10s 'tp5"
192 - "'-qr !fis-e10s 'talos-webgl"
193 - "'-qr !fis-e10s 'motionmark-animometer"