xref: /aosp_15_r20/external/mesa3d/src/freedreno/ci/gitlab-ci-inc.yml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1# Rules for changes that impact either freedreno or turnip.
2.freedreno-common-rules:
3  rules:
4    - !reference [.test, rules]
5    - !reference [.no_scheduled_pipelines-rules, rules]
6    - changes: &freedreno_core_file_list
7        - src/freedreno/ci/gitlab-ci.yml
8        - src/freedreno/ci/gitlab-ci-inc.yml
9        - src/freedreno/ci/deqp-$DEQP_SUITE.toml
10        - src/freedreno/ci/$GPU_VERSION-fails.txt
11        - src/freedreno/ci/$GPU_VERSION-flakes.txt
12        - src/freedreno/ci/$GPU_VERSION-skips.txt
13        - src/freedreno/ci/$PIGLIT_TRACES_FILE
14        - src/freedreno/ci/$GPU_VERSION-vkd3d-fails.txt
15        - src/freedreno/ci/$GPU_VERSION-vkd3d-flakes.txt
16        - src/freedreno/ci/$GPU_VERSION-vkd3d-skips.txt
17        - src/freedreno/common/**/*
18        - src/freedreno/drm/**/*
19        - src/freedreno/fdl/**/*
20        - src/freedreno/ir3/**/*
21        - src/freedreno/isa/**/*
22        - src/freedreno/registers/**/*
23      when: on_success
24
25.freedreno-common-manual-rules:
26  extends: .no-auto-retry
27  rules:
28    - !reference [.test, rules]
29    - !reference [.core-manual-rules, rules]
30    - changes:
31        *freedreno_core_file_list
32      when: manual
33
34
35# Two different farms (Google Freedreno and Collabora farm)
36.google-freedreno-rules:
37  stage: freedreno
38  rules:
39    - !reference [.test, rules]
40    - !reference [.freedreno-farm-rules, rules]
41    - !reference [.freedreno-common-rules, rules]
42    - !reference [.gl-rules, rules]
43    - changes: &freedreno_gl_file_list
44        - src/freedreno/ir2/**/*
45        - src/gallium/drivers/freedreno/**/*
46        - src/gallium/winsys/freedreno/**/*
47      when: on_success
48
49.collabora-freedreno-rules:
50  stage: freedreno
51  rules:
52    - !reference [.test, rules]
53    - !reference [.collabora-farm-rules, rules]
54    - !reference [.freedreno-common-rules, rules]
55    - !reference [.gl-rules, rules]
56    - changes:
57        *freedreno_gl_file_list
58      when: on_success
59
60.google-freedreno-manual-rules:
61  stage: freedreno-postmerge
62  extends: .no-auto-retry
63  rules:
64    - !reference [.test, rules]
65    - !reference [.freedreno-farm-manual-rules, rules]
66    - !reference [.freedreno-common-manual-rules, rules]
67    - !reference [.gl-manual-rules, rules]
68    - changes:
69        *freedreno_gl_file_list
70      when: manual
71
72.collabora-freedreno-manual-rules:
73  stage: freedreno-postmerge
74  extends: .no-auto-retry
75  rules:
76    - !reference [.test, rules]
77    - !reference [.collabora-farm-manual-rules, rules]
78    - !reference [.freedreno-common-manual-rules, rules]
79    - !reference [.gl-manual-rules, rules]
80    - changes:
81        *freedreno_gl_file_list
82      when: manual
83
84
85.google-turnip-rules:
86  stage: freedreno
87  rules:
88    - !reference [.test, rules]
89    - !reference [.freedreno-farm-rules, rules]
90    - !reference [.freedreno-common-rules, rules]
91    - !reference [.vulkan-rules, rules]
92    - changes: &freedreno_vulkan_file_list
93        - src/freedreno/vulkan/**/*
94      when: on_success
95
96.collabora-turnip-rules:
97  stage: freedreno
98  rules:
99    - !reference [.test, rules]
100    - !reference [.collabora-farm-rules, rules]
101    - !reference [.freedreno-common-rules, rules]
102    - !reference [.vulkan-rules, rules]
103    - changes: *freedreno_vulkan_file_list
104      when: on_success
105
106.google-turnip-manual-rules:
107  stage: freedreno-postmerge
108  extends: .no-auto-retry
109  rules:
110    - !reference [.test, rules]
111    - !reference [.freedreno-farm-manual-rules, rules]
112    - !reference [.freedreno-common-manual-rules, rules]
113    - !reference [.vulkan-manual-rules, rules]
114    - changes:
115        *freedreno_vulkan_file_list
116      when: manual
117
118.collabora-turnip-manual-rules:
119  stage: freedreno-postmerge
120  extends: .no-auto-retry
121  rules:
122    - !reference [.test, rules]
123    - !reference [.collabora-farm-manual-rules, rules]
124    - !reference [.freedreno-common-manual-rules, rules]
125    - !reference [.vulkan-manual-rules, rules]
126    - changes:
127        *freedreno_vulkan_file_list
128      when: manual
129
130# For piglit and skqp test jobs that run both GL and VK tests.
131.google-freedreno-turnip-rules:
132  stage: freedreno
133  rules:
134    - !reference [.test, rules]
135    - !reference [.google-freedreno-rules, rules]
136    - !reference [.google-turnip-rules, rules]
137
138.google-freedreno-turnip-manual-rules:
139  stage: freedreno-postmerge
140  rules:
141    - !reference [.test, rules]
142    - !reference [.google-freedreno-manual-rules, rules]
143    - !reference [.google-turnip-manual-rules, rules]
144
145.collabora-freedreno-turnip-rules:
146  stage: freedreno
147  rules:
148    - !reference [.test, rules]
149    - !reference [.collabora-freedreno-rules, rules]
150    - !reference [.collabora-turnip-rules, rules]
151
152.collabora-freedreno-turnip-manual-rules:
153  stage: freedreno-postmerge
154  rules:
155    - !reference [.test, rules]
156    - !reference [.collabora-freedreno-manual-rules, rules]
157    - !reference [.collabora-turnip-manual-rules, rules]
158
159.valve-freedreno-turnip-manual-rules:
160  stage: freedreno-postmerge
161  extends: .no-auto-retry
162  rules:
163    - !reference [.test, rules]
164    - !reference [.valve-farm-manual-rules, rules]
165    - !reference [.freedreno-common-manual-rules, rules]
166    - !reference [.vulkan-manual-rules, rules]
167    - changes:
168        *freedreno_vulkan_file_list
169      when: manual
170
171.google-freedreno-rules-restricted:
172  stage: freedreno
173  rules:
174    - !reference [.test, rules]
175    - !reference [.restricted-rules, rules]
176    - !reference [.google-freedreno-rules, rules]
177
178.collabora-freedreno-rules-restricted:
179  stage: freedreno
180  rules:
181    - !reference [.test, rules]
182    - !reference [.restricted-rules, rules]
183    - !reference [.collabora-freedreno-rules, rules]
184
185.google-freedreno-rules-performance:
186  stage: performance
187  extends: .no-auto-retry
188  rules:
189    - !reference [.test, rules]
190    - !reference [.performance-rules, rules]
191    - !reference [.google-freedreno-manual-rules, rules]
192  allow_failure: true # see comment in .performance-rules, which we don't inherit this line from.
193  variables:
194    # Ensure that we are using the release build artifact
195    S3_ARTIFACT_NAME: mesa-arm64-default-release
196  needs:
197    - debian/baremetal_arm64_test
198    - debian-arm64-release
199  dependencies: null
200
201.collabora-freedreno-rules-performance:
202  stage: performance
203  extends: .no-auto-retry
204  rules:
205    - !reference [.test, rules]
206    - !reference [.performance-rules, rules]
207    - !reference [.collabora-freedreno-manual-rules, rules]
208  allow_failure: true # see comment in .performance-rules, which we don't inherit this line from.
209  variables:
210    JOB_PRIORITY: 40
211    # Ensure that we are using the release build artifact
212    S3_ARTIFACT_NAME: mesa-arm64-default-release
213  needs:
214    - debian/x86_64_build
215    - debian-arm64-release
216  dependencies: null
217
218
219# Status: https://lava.collabora.dev/scheduler/device_type/sc7180-trogdor-kingoftown
220.lava-sc7180-trogdor-kingoftown:arm64:
221  variables:
222    BOOT_METHOD: depthcharge
223    DEVICE_TYPE: sc7180-trogdor-kingoftown
224    DTB: sc7180-trogdor-kingoftown
225#   FDO_CI_CONCURRENT: ?
226    # Increase the hangcheck timer for our spilling tests which bump up against
227    # the .5s default.
228    FREEDRENO_HANGCHECK_MS: 2000
229    FARM: collabora
230    GPU_VERSION: freedreno-a618
231    KERNEL_IMAGE_TYPE: ""
232    RUNNER_TAG: mesa-ci-x86-64-lava-sc7180-trogdor-kingoftown
233    VK_DRIVER: freedreno
234
235# Status: https://lava.collabora.dev/scheduler/device_type/sc7180-trogdor-lazor-limozeen
236.lava-sc7180-trogdor-lazor-limozeen:arm64:
237  variables:
238    BOOT_METHOD: depthcharge
239    DEVICE_TYPE: sc7180-trogdor-lazor-limozeen
240    DTB: sc7180-trogdor-lazor-limozeen-nots-r5
241#   FDO_CI_CONCURRENT: ?
242    # Increase the hangcheck timer for our spilling tests which bump up against
243    # the .5s default.
244    FREEDRENO_HANGCHECK_MS: 2000
245    FARM: collabora
246    GPU_VERSION: freedreno-a618
247    KERNEL_IMAGE_TYPE: ""
248    RUNNER_TAG: mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
249    VK_DRIVER: freedreno
250
251# Status: https://lava.collabora.dev/scheduler/device_type/sm8350-hdk
252.lava-sm8350-hdk:arm64:
253  variables:
254    BOOT_METHOD: fastboot
255    DEVICE_TYPE: sm8350-hdk
256    DTB: sm8350-hdk
257#   FDO_CI_CONCURRENT: ?
258    # Increase the hangcheck timer for our spilling tests which bump up against
259    # the .5s default.
260    FREEDRENO_HANGCHECK_MS: 2000
261    FARM: collabora
262    GPU_VERSION: freedreno-a660
263    KERNEL_IMAGE_NAME: "Image.gz"
264    KERNEL_IMAGE_TYPE: ""
265    RUNNER_TAG: mesa-ci-x86-64-lava-sm8350-hdk
266    VK_DRIVER: freedreno
267
268
269.google-freedreno-test:
270  extends:
271    - .baremetal-test-arm64
272    - .google-freedreno-rules
273  variables:
274    VK_DRIVER: freedreno
275    FLAKES_CHANNEL: "#freedreno-ci"
276    PIGLIT_PLATFORM: mixed_glx_egl
277    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 $BM_KERNEL_EXTRA_ARGS root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init $BM_KERNELARGS"
278    FARM: google
279  script:
280    - ./install/bare-metal/fastboot.sh
281
282.baremetal-deqp-test-freedreno-vk:
283  extends:
284    - .baremetal-deqp-test
285  variables:
286    DEQP_VER: vk
287    # Increase the hangcheck timer for our spilling tests which bump up against
288    # the .5s default.
289    FREEDRENO_HANGCHECK_MS: 2000
290
291.google-freedreno-test-traces:
292  extends:
293    - .piglit-traces-test
294  variables:
295    HWCI_TEST_SCRIPT: "/install/piglit/piglit-traces.sh"
296    HWCI_START_XORG: 1
297    PIGLIT_TRACES_FILE: traces-freedreno.yml
298  artifacts:
299    reports:
300      junit: results/junit.xml
301
302.a306-test:
303  extends:
304    - .google-freedreno-test
305  variables:
306    BM_KERNEL: Image.gz
307    BM_DTB: apq8016-sbc
308    DEVICE_TYPE: apq8016-sbc
309    GPU_VERSION: freedreno-a307
310  timeout: 20m
311  tags:
312    - google-freedreno-db410c
313
314# 8 devices (2023-04-15)
315.a530-test:
316  extends:
317    - .google-freedreno-test
318  variables:
319    BM_KERNEL: Image.gz
320    BM_DTB: apq8096-db820c
321    DEVICE_TYPE: apq8096-db820c
322    GPU_VERSION: freedreno-a530
323  timeout: 20m
324  tags:
325    - google-freedreno-db820c
326
327# 6 devices (2023-07-06)
328.a630-test:
329  extends:
330    - .google-freedreno-test
331  variables:
332    FDO_CI_CONCURRENT: 10
333    BM_KERNEL: cheza-kernel
334    BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init"
335    DEVICE_TYPE: sdm845-cheza-r3
336    GPU_VERSION: freedreno-a630
337  timeout: 20m
338  tags:
339    - google-freedreno-cheza
340  script:
341    - ./install/bare-metal/cros-servo.sh
342
343.a630-full:
344  tags:
345    - google-freedreno-cheza-long
346
347# CI-tron
348
349.b2c-freedreno-vk-test:
350  extends:
351    - .b2c-arm64-test-vk
352  variables:
353    VK_DRIVER: freedreno
354
355.a750-mupuf:
356  variables:
357    FDO_CI_CONCURRENT: 8
358    RUNNER_FARM_LOCATION: mupuf
359    B2C_KERNEL_URL: 'https://fs.mupuf.org/hdk8650/linux-6.8-hdk8650.gz'
360    B2C_INITRAMFS_URL: 'https://fs.mupuf.org/hdk8650/initramfs.linux_arm64.cpio.xz'
361    B2C_DTB_URL: 'https://fs.mupuf.org/hdk8650/sm8650-hdk.dtb'
362    B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g'
363    B2C_SESSION_REBOOT_REGEX: 'Sahara Open\r?$'
364    B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30
365    B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3
366    GPU_VERSION: freedreno-a750
367  tags:
368    - farm:$RUNNER_FARM_LOCATION
369    - dt_gpu:codename:a750
370