xref: /aosp_15_r20/external/mesa3d/src/freedreno/ci/gitlab-ci.yml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1include:
2  - local: 'src/freedreno/ci/gitlab-ci-inc.yml'
3
4a306_gl:
5  extends:
6    - .baremetal-deqp-test
7    - .a306-test
8  variables:
9    DEQP_SUITE: freedreno-a307
10    FDO_CI_CONCURRENT: 6
11  parallel: 5
12
13a306_piglit:
14  extends:
15    - .baremetal-deqp-test
16    - .a306-test
17    - .google-freedreno-manual-rules
18  timeout: 40m
19  variables:
20    DEQP_SUITE: freedreno-a306-piglit
21    HWCI_START_WESTON: 1
22    TEST_PHASE_TIMEOUT_MINUTES: 35
23
24# Something happened and now this hangchecks and doesn't recover.  Unkown when
25# it started.
26.a306_piglit_gl:
27  extends:
28    - .baremetal-deqp-test
29    - .a306-test
30    - .google-freedreno-manual-rules
31  variables:
32    BM_KERNEL_EXTRA_ARGS: "msm.num_hw_submissions=1"
33    DEQP_SUITE: freedreno-a306-piglit-quick-gl
34    FDO_CI_CONCURRENT: 3
35    HWCI_START_WESTON: 1
36
37a306_piglit_shader:
38  extends:
39    - .baremetal-deqp-test
40    - .a306-test
41    - .google-freedreno-manual-rules
42  variables:
43    DEQP_SUITE: freedreno-a306-piglit-quick-shader
44    FDO_CI_CONCURRENT: 6
45    HWCI_START_WESTON: 1
46
47a306-traces:
48  extends:
49    - .google-freedreno-test-traces
50    - .a306-test
51  variables:
52    PIGLIT_REPLAY_DEVICE_NAME: "freedreno-a306"
53    PIGLIT_RESULTS: "freedreno-a306-replay"
54
55a530_gl:
56  extends:
57    - .baremetal-deqp-test
58    - .a530-test
59  variables:
60    DEQP_SUITE: freedreno-a530
61    FDO_CI_CONCURRENT: 3  # if 4, sometimes "deqp-gles31, not enough memory for the allocation" appears
62  parallel: 6
63
64a530-traces:
65  extends:
66    - .google-freedreno-test-traces
67    - .a530-test
68  variables:
69    PIGLIT_REPLAY_DEVICE_NAME: "freedreno-a530"
70    PIGLIT_RESULTS: "freedreno-a530-replay"
71
72a530_piglit:
73  extends:
74    - .baremetal-deqp-test
75    - .a530-test
76    - .google-freedreno-manual-rules
77  parallel: 2
78  variables:
79    DEQP_SUITE: freedreno-a530-piglit
80    HWCI_START_WESTON: 1
81    # force fixed kernel until 6.11 is switched officially
82    FORCE_KERNEL_TAG: "v6.11-rc7-mesa-73f2"
83    KERNEL_IMAGE_BASE: https://${S3_HOST}/${S3_KERNEL_BUCKET}/${KERNEL_REPO}/${FORCE_KERNEL_TAG}
84
85a618_vk:
86  extends:
87    - .lava-test-deqp:arm64
88    - .lava-sc7180-trogdor-kingoftown:arm64
89    - .collabora-turnip-rules
90  parallel: 12
91  variables:
92    DEQP_SUITE: freedreno-a618-vk
93    FLAKES_CHANNEL: "#freedreno-ci"
94    MESA_VK_IGNORE_CONFORMANCE_WARNING: 1
95    DEQP_FRACTION: 2
96
97a618_vk_full:
98  extends:
99    - a618_vk
100    - .collabora-turnip-manual-rules
101  # We use a longer timeout to keep the parallel down so that we don't lock up
102  # too many runners for a long time when a dev is trying out at full VK status.
103  timeout: 4h
104  parallel: 3
105  variables:
106    # ran into OOM with VK-GL-CTS 1.2.8.0 at 6
107    FDO_CI_CONCURRENT: 4
108    DEQP_SUITE: freedreno-a618-vk-full
109    JOB_TIMEOUT: 180
110
111a618_gl:
112  extends:
113    - .lava-test-deqp:arm64
114    - .lava-sc7180-trogdor-lazor-limozeen:arm64
115    - .collabora-freedreno-rules
116  parallel: 4
117  variables:
118    DEQP_SUITE: freedreno-a618
119    FLAKES_CHANNEL: "#freedreno-ci"
120
121# Run dEQP EGL window system tests separately with the window systems available.
122# X11 takes over the screen, wayland is run headless.
123a618_egl:
124  extends:
125    - .lava-test-deqp:arm64
126    - .lava-sc7180-trogdor-lazor-limozeen:arm64
127    - .collabora-freedreno-rules
128  variables:
129    DEQP_VER: egl
130    FLAKES_CHANNEL: "#freedreno-ci"
131    HWCI_START_XORG: 1
132    HWCI_START_WESTON: 1
133    DEQP_SUITE: freedreno-a618-egl
134
135a618_skqp:
136  extends:
137    - .lava-test-deqp:arm64
138    - .lava-sc7180-trogdor-lazor-limozeen:arm64
139    - .collabora-freedreno-rules
140    # SKQP tests both the GL and VK drivers.
141    - .collabora-freedreno-turnip-rules
142  variables:
143    FLAKES_CHANNEL: "#freedreno-ci"
144    HWCI_START_XORG: 1
145    DEQP_SUITE: freedreno-a618-skqp
146
147a618_piglit:
148  extends:
149    - .lava-test-deqp:arm64
150    - .lava-sc7180-trogdor-lazor-limozeen:arm64
151    # Note that piglit has GL+VK integration testing.
152    - .collabora-freedreno-turnip-rules
153  variables:
154    DEQP_SUITE: freedreno-a618-piglit
155    FLAKES_CHANNEL: "#freedreno-ci"
156    HWCI_START_WESTON: 1
157
158a618_piglit_full:
159  extends:
160    - .lava-test-deqp:arm64
161    - .lava-sc7180-trogdor-lazor-limozeen:arm64
162    # Note that piglit has GL+VK integration testing.
163    - .collabora-freedreno-turnip-manual-rules
164  timeout: 60m
165  variables:
166    DEQP_SUITE: freedreno-a618-piglit-full
167    FLAKES_CHANNEL: "#freedreno-ci"
168    HWCI_START_WESTON: 1
169    JOB_TIMEOUT: 60
170
171a618-traces:
172  extends:
173    - .lava-piglit-traces:arm64
174    - .lava-sc7180-trogdor-lazor-limozeen:arm64
175    - .collabora-freedreno-rules
176  variables:
177    HWCI_START_WESTON: 1
178    # So we aren't capped by VSync by the X server
179    EGL_PLATFORM: surfaceless
180    FDO_CI_CONCURRENT: 5  # 6 is too much leading to OOM
181    FLAKES_CHANNEL: "#freedreno-ci"
182    PIGLIT_REPLAY_DEVICE_NAME: "${GPU_VERSION}"
183    PIGLIT_RESULTS: "${GPU_VERSION}-replay"
184    # This lets us run several more traces which don't use any features we're
185    # missing.
186    MESA_GLSL_VERSION_OVERRIDE: "460"
187    MESA_GL_VERSION_OVERRIDE: "4.6"
188    PIGLIT_TRACES_FILE: traces-freedreno.yml
189
190a618-traces-performance:
191  extends:
192    - a618-traces
193    - .piglit-performance:arm64
194    - .collabora-freedreno-rules-performance
195  variables:
196    # Always use the same device
197    # a618 tag starts with cbg-1 (not cbg-0) for some reason
198    LAVA_TAGS: "cbg-1"
199  needs:
200    - !reference [a618-traces, needs]
201    - !reference [.piglit-performance:arm64, needs]
202
203a660_gl:
204  extends:
205    - .lava-test-deqp:arm64
206    - .collabora-freedreno-rules
207    - .lava-sm8350-hdk:arm64
208  parallel: 2
209  variables:
210    DEQP_SUITE: freedreno-a660
211
212a660_vk:
213  extends:
214    - .lava-test-deqp:arm64
215    - .collabora-turnip-rules
216    - .lava-sm8350-hdk:arm64
217  parallel: 5
218  variables:
219    DEQP_SUITE: freedreno-a660-vk
220    DEQP_FRACTION: 4
221
222a660_vk_full:
223  extends:
224    - a660_vk
225    - .collabora-turnip-manual-rules
226  parallel: 3
227  timeout: 3h
228  variables:
229    DEQP_SUITE: freedreno-a660-vk-full
230    JOB_TIMEOUT: 180
231
232# X11 takes over the screen, wayland is run headless.
233a630_gl:
234  extends:
235    - .baremetal-deqp-test
236    - .a630-test
237  parallel: 4
238  variables:
239    DEQP_SUITE: freedreno-a630
240    HWCI_START_XORG: 1
241    HWCI_START_WESTON: 1
242
243a630_gles_asan:
244  extends:
245    - .baremetal-deqp-test
246    - .a630-test
247    - .baremetal-arm64-asan-test
248  variables:
249    DEQP_VER: gles31
250    DEQP_FRACTION: 100
251    DEQP_EXPECTED_RENDERER: FD630
252    FDO_CI_CONCURRENT: 2 # We get OOMkills if we go too wide with asan enabled
253    GPU_VERSION: freedreno-a630-asan
254
255a630_vk:
256  extends:
257    - .a630-test
258    - .baremetal-deqp-test-freedreno-vk
259    - .google-turnip-rules
260  variables:
261    DEQP_SUITE: freedreno-a630-vk
262
263a630_vk_full:
264  # We use a longer timeout (2 hour job) to keep the parallel down so that we
265  # don't lock up too many runners for a long time when a dev is testing full VK
266  # status.  The full runs are restricted to just 2 runners to keep from
267  # blocking up normal merges, so going more parallel doesn't make any sense.
268  timeout: 3h
269  extends:
270    - a630_vk
271    - .a630-full
272    - .google-turnip-manual-rules
273  parallel: 2
274  variables:
275    DEQP_SUITE: freedreno-a630-vk-full
276    TEST_PHASE_TIMEOUT_MINUTES: 175
277    # force fixed kernel until 6.11 is switched officially
278    FORCE_KERNEL_TAG: "v6.11-rc7-mesa-73f2"
279    KERNEL_IMAGE_BASE: https://${S3_HOST}/${S3_KERNEL_BUCKET}/${KERNEL_REPO}/${FORCE_KERNEL_TAG}
280
281a630_vk_asan:
282  extends:
283    - .a630-test
284    - .baremetal-deqp-test-freedreno-vk
285    - .baremetal-arm64-asan-test
286    - .google-turnip-rules
287  variables:
288    DEQP_SUITE: freedreno-a630-vk-asan
289    FDO_CI_CONCURRENT: 2 # We get OOMkills if we go too wide with asan enabled
290    GPU_VERSION: freedreno-a630-asan
291
292a630_piglit:
293  extends:
294    - .baremetal-deqp-test
295    - .a630-test
296    # Note that piglit has GL+VK integration testing.
297    - .google-freedreno-turnip-rules
298  variables:
299    HWCI_START_WESTON: 1
300    DEQP_SUITE: freedreno-a630-piglit
301
302a630_piglit_full:
303  extends:
304    - .baremetal-deqp-test
305    - .a630-test
306    # Note that piglit has GL+VK integration testing.
307    - .google-freedreno-turnip-manual-rules
308  timeout: 60m
309  variables:
310    HWCI_START_WESTON: 1
311    DEQP_SUITE: freedreno-a630-piglit-full
312    TEST_PHASE_TIMEOUT_MINUTES: 55
313
314a630-traces:
315  extends:
316    - .google-freedreno-test-traces
317    - .a630-test
318  variables:
319    PIGLIT_REPLAY_DEVICE_NAME: "freedreno-a630"
320    PIGLIT_RESULTS: "freedreno-a630-replay"
321    # This lets us run several more traces which don't use any features we're
322    # missing.
323    MESA_GLSL_VERSION_OVERRIDE: "460"
324    MESA_GL_VERSION_OVERRIDE: "4.6"
325    PIGLIT_REPLAY_EXTRA_ARGS: "--download-caching-proxy-url=http://10.42.0.1:8888/cache/?uri="
326
327a630-traces-restricted:
328  extends:
329    - a630-traces
330    - .google-freedreno-rules-restricted
331  variables:
332    PIGLIT_TRACES_FILE: restricted-traces-freedreno.yml
333    PIGLIT_REPLAY_EXTRA_ARGS: "--download-caching-proxy-url=http://10.42.0.1:8888/cache/?uri= --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_bucket=${S3_TRACIE_PRIVATE_BUCKET} --jwt-file=${S3_JWT_FILE}"
334  allow_failure: true
335
336a630-traces-performance:
337  extends:
338    - a630-traces
339    - .google-freedreno-rules-performance
340  variables:
341    PIGLIT_REPLAY_SUBCOMMAND: "profile"
342    PIGLIT_REPLAY_EXTRA_ARGS: "--download-caching-proxy-url=http://10.42.0.1:8888/cache/?uri= --db-path ${CI_PROJECT_DIR}/replayer-db/"
343    # More than this can hit OOM due to BOs leaked during the replay of the last frame
344    PIGLIT_REPLAY_LOOP_TIMES: 150
345    # We don't want for more than one workload to be submitted to the GPU at a time
346    FDO_CI_CONCURRENT: 1
347    # Piglit is very sparse in its status output and downloads of big traces can take a while
348    DEVICE_HANGING_TIMEOUT_SEC: 600
349    # So we aren't capped by VSync by the X server
350    EGL_PLATFORM: surfaceless
351    GIT_STRATEGY: none
352    HWCI_FREQ_MAX: "true"
353
354a750_vk:
355  extends:
356    - .b2c-freedreno-vk-test
357    - .a750-mupuf
358    - .valve-freedreno-turnip-manual-rules
359  timeout: 60m  # base runtime 36min total, 34min of testing
360  variables:
361    B2C_TIMEOUT_BOOT_MINUTES: 52
362    B2C_TIMEOUT_OVERALL_MINUTES: 55
363    DEQP_SUITE: freedreno-a750-vk
364    HWCI_TEST_SCRIPT: ./install/deqp-runner.sh
365
366a750_vkd3d:
367  extends:
368    - .b2c-freedreno-vk-test
369    - .a750-mupuf
370    - .valve-freedreno-turnip-manual-rules
371  timeout: 15m  # base runtime 3min
372  variables:
373    B2C_TIMEOUT_OVERALL_MINUTES: 12
374    B2C_TIMEOUT_BOOT_MINUTES: 10
375    HWCI_TEST_SCRIPT: install/vkd3d-runner.sh
376    GPU_VERSION: freedreno-a750
377    FDO_CI_CONCURRENT: 1
378