1Platforms in the CI
2===================
3
4
5.. https://raw.githubusercontent.com/mozilla/treeherder/HEAD/ui/helpers/constants.js
6   awk -e /thPlatformMap = {/,/};/ constants.js |grep ""|cut -d: -f2|sed -e s/^/   /|sed -e "s/$/ ,, /g"
7   TODO:
8      * Leverage verify_docs - https://bugzilla.mozilla.org/show_bug.cgi?id=1636400
9      * Add a new column (when executed ? ie always, rarely, etc)
10      * asan reporter isn't listed for mac os x
11
12Build Platforms
13---------------
14
15.. csv-table::
16   :header: "Platform", "Owner", "Why?"
17   :widths: 40, 20, 40
18
19   Linux, ,
20   Linux DevEdition, ,
21   Linux shippable, ,
22   Linux x64, ,
23   Linux x64 addon, ,
24   Linux x64 DevEdition, ,
25   Linux x64 WebRender Shippable, Jeff Muizelaar, Build with WebRender
26   Linux x64 WebRender, Jeff Muizelaar, Build with WebRender
27   Linux x64 shippable, , "| What we ship to our users.
28   | Builds with PGO"
29   Linux x64 NoOpt, , "| Developer build - Disable optimizations, enable debug options
30   | Only runs on m-c"
31   Linux AArch64, ,
32   OS X 10.14, ,
33   OS X Cross Compiled, ,
34   OS X 10.14 shippable, ,
35   OS X Cross Compiled shippable, , What we ship to our users
36   OS X Cross Compiled NoOpt, , "| Developer build - Disable optimizations, enable debug options
37   | Only runs on m-c"
38   OS X Cross Compiled addon, ,
39   OS X Cross Compiled DevEdition, ,
40   OS X 10.14, ,
41   OS X 10.14 WebRender, Jeff Muizelaar, Build with WebRender
42   OS X 10.14 Shippable, ,
43   OS X 10.14 WebRender Shippable, Jeff Muizelaar, Build with WebRender
44   OS X 10.14 DevEdition, ,
45   Windows 2012, ,
46   Windows 2012 shippable, , What we ship to our users
47   Windows 2012 addon, ,
48   Windows 2012 NoOpt, , "| Developer build - Disable optimizations, enable debug options
49   | Only runs on m-c"
50   Windows 2012 DevEdition, ,
51   Windows 2012 x64, ,
52   Windows 2012 x64 shippable, ,
53   Windows 2012 AArch64, ,
54   Windows 2012 AArch64 Shippable, ,
55   Windows 2012 AArch64 DevEdition, ,
56   Windows 2012 x64 addon, ,
57   Windows 2012 x64 NoOpt, , "| Developer build - Disable optimizations, enable debug options
58   | Only runs on m-c"
59   Windows 2012 x64 DevEdition, ,
60   Windows MinGW, Tom Ritter, "| the Tor project uses MinGW; make sure we test that for them
61   | Only runs on autoland, m-c and m-esr"
62   Android 4.0 API16+, , "| All Android jobs are for GeckoView. Fenix nightly uses m-c, Fenix beta => m-b, Fenix release => m-r and Focus uses m-r.
63   | We run these tests in the CI to make sure that GeckoView tests do not regress."
64   Android 4.0 API16+ Beta, James Willcox (Snorp), To ship/test Android 4.1 on arm v7 CPU
65   Android 4.0 API16+ Release, , To ship/test Android 4.1 on arm v7 CPU
66   Android 4.0 API16+ GeckoView multi-arch fat AAR, ,
67   Android 4.2 x86, ,
68   Android 4.2 x86 Beta, ,
69   Android 4.2 x86 Release, ,
70   Android 4.2 x86, ,
71   Android 4.2 x86 Beta, ,
72   Android 4.2 x86 Release, ,
73   Android 4.3 API16+, ,
74   Android 4.3 API16+ Beta, ,
75   Android 4.3 API16+ Release, ,
76   Android 5.0 AArch64, ,
77   Android 5.0 AArch64 Beta, ,
78   Android 5.0 AArch64 Release, ,
79   Android 5.0 x86-64, ,
80   Android 5.0 x86-64 Beta, ,
81   Android 5.0 x86-64 Release, ,
82   Android 7.0 x86, ,
83   Android 7.0 x86 Beta, ,
84   Android 7.0 x86 Release, ,
85   Android 7.0 x86-64, ,
86   Android 7.0 x86-64 WebRender, Kris Taeleman, Build and test GeckoView with WebRender
87   Android 7.0 x86-64 Beta, ,
88   Android 7.0 x86-64 Release, ,
89   Android 7.0 MotoG5, ,
90   Android 8.0 Pixel2, ,
91   Android 8.0 Pixel2 WebRender, Kris Taeleman, Build and test GeckoView with WebRender
92   Android 8.0 Pixel2 AArch64, ,
93   Android 8.0 Pixel2 AArch64 WebRender, Kris Taeleman, Build and test GeckoView with WebRender
94   Android, ,
95
96Testing configurations
97----------------------
98
99We have some platforms used to run the tests to make sure they run correctly on different versions of the operating systems.
100
101.. csv-table::
102   :header: "Platform", "Owner", "Why?"
103   :widths: 40, 20, 40
104
105   Linux 18.04 shippable, ,
106   Linux 18.04 x64, ,
107   Linux 18.04 x64 DevEdition, ,
108   Linux 18.04 x64 WebRender Shippable, Jeff Muizelaar, Build with WebRender for testing
109   Linux 18.04 x64 WebRender, Jeff Muizelaar, Build with WebRender for testing
110   Linux 18.04 x64 shippable, ,
111   Linux 18.04 x64 Stylo-Seq, ,
112   Windows 7, ,
113   Windows 7 DevEdition, ,
114   Windows 7 Shippable, ,
115   Windows 7 MinGW, Tom Ritter, "| the Tor project uses MinGW; make sure we test that for them
116   | Only runs on autoland, m-c and m-esr"
117   Windows 10 x64, ,
118   Windows 10 x64 DevEdition, ,
119   Windows 10 x64 Shippable, ,
120   Windows 10 x64 WebRender Shippable, Jeff Muizelaar, Build with WebRender for testing
121   Windows 10 x64 WebRender, Jeff Muizelaar, Build with WebRender for testing
122   Windows 10 x64 2017 Ref HW, ,
123   Windows 10 x64 MinGW, Tom Ritter, "| the Tor project uses MinGW; make sure we test that for them
124   | Only runs on autoland, m-c and m-esr"
125   Windows 10 AArch64, ,
126
127
128Quality platforms
129-----------------
130
131We have many platforms used to run various quality tools. They aren't directly focussing on user quality but on code quality,
132or prevening some classes of errors (memory, threading, etc).
133
134.. csv-table::
135   :header: "Platform", "Owner", "Why?"
136   :widths: 40, 20, 40
137
138   Linux 18.04 x64 tsan, Christian Holler, Identify threading issues with ThreadSanitizer
139   Linux x64 asan, "| Christian Holler
140   | Tyson Smith (ubsan)", "| Identify memory issues with :ref:`Address Sanitizer`.
141   | Also includes the UndefinedBehaviorSanitizer"
142   Linux x64 WebRender asan, "| Christian Holler
143   | Tyson Smith (ubsan)", "| Identify memory issues with :ref:`Address Sanitizer`.
144   | Also includes the UndefinedBehaviorSanitizer"
145   Linux x64 asan reporter, Christian Holler, Generate :ref:`ASan Nightly Project <ASan Nightly>` builds
146   Linux x64 CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
147   Linux 18.04 x64 asan, "| Christian Holler
148   | Tyson Smith (ubsan)", "| Identify memory issues with :ref:`Address Sanitizer`.
149   | Also includes the UndefinedBehaviorSanitizer"
150   Linux 18.04 x64 WebRender asan, "| Christian Holler
151   | Tyson Smith (ubsan)", "| Identify memory issues with :ref:`Address Sanitizer`.
152   | Also includes the UndefinedBehaviorSanitizer"
153   Linux 18.04 x64 CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
154   OS X Cross Compiled CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
155   OS X 10.14 Cross Compiled CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
156   Windows 2012 x64 asan reporter, Christian Holler, Generate :ref:`ASan Nightly Project <ASan Nightly>` builds
157   Windows 10 x64 CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
158   Android 4.0 API16+ CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
159   Android 4.3 API16+ CCov, Marco Castelluccio , Collect :ref:`Code coverage` information to identify what is tested (or not)
160   Diffoscope, Mike Hommey, Make sure the build remains reproducible
161   Linting, "| Sylvestre Ledru
162   | Andrew Halberstadt", "| Identify :ref:`code quality` earlier
163   | Also contains some Bugzilla
164   | Run on all branches (except the Bugzilla task)"
165   Documentation, "| Sylvestre Ledru
166   | Andrew Halberstadt", "| :ref:`Documentation jobs <Managing Documentation>`
167   | integration repository plus mozilla-central"
168
169
170
171Infrastructure tasks
172--------------------
173
174The decision tasks responsible for creating the task graph.
175
176.. csv-table::
177   :header: "Task", "Owner", "Why?"
178   :widths: 40, 20, 40
179
180   Gecko Decision Task, , Define the tasks to run and their order
181   Firefox Release Tasks, ,
182   Devedition Release Tasks, ,
183   Fennec Beta Tasks, ,
184   Fennec Release Tasks, ,
185   Thunderbird Release Tasks, ,
186
187
188Others
189------
190
191.. csv-table::
192   :header: "Platform", "Owner", "Why?"
193   :widths: 40, 20, 40
194
195   Docker Images, ,
196   Fetch, ,
197   Packages, ,
198   Toolchains, ,
199   Other, ,
200