• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file list source dependencies to avoid creating/running jobs
2# those outcome cannot be changed by the modifications from a branch.
3
4# Mesa core source file dependencies
5# ----------------------------------
6.mesa-rules:
7  rules:
8    - changes: &mesa_core_file_list
9      - .gitlab-ci.yml
10      - .gitlab-ci/**/*
11      - include/**/*
12      - meson.build
13      - SConstruct
14      - src/*
15      - src/compiler/**/*
16      - src/drm-shim/**/*
17      - src/egl/**/*
18      - src/gbm/**/*
19      - src/glx/**/*
20      - src/gtest/**/*
21      - src/hgl/**/*
22      - src/include/**/*
23      - src/loader/**/*
24      - src/mapi/**/*
25      - src/mesa/**/*
26      - src/util/**/*
27
28# Gallium core source file dependencies
29# -------------------------------------
30.gallium-rules:
31  rules:
32    - changes: &gallium_core_file_list
33      - src/gallium/*
34      - src/gallium/auxiliary/**/*
35      - src/gallium/drivers/*
36      - src/gallium/include/**/*
37      - src/gallium/state_trackers/**/*
38      - src/gallium/targets/**/*
39      - src/gallium/tests/**/*
40      - src/gallium/winsys/*
41
42# Generic rule to not run the job during scheduled pipelines
43# ----------------------------------------------------------
44.scheduled_pipelines-rules:
45  rules: &ignore_scheduled_pipelines
46    if: '$CI_PIPELINE_SOURCE == "schedule"'
47    when: never
48
49.softpipe-rules:
50  stage: softpipe
51  rules:
52    - *ignore_scheduled_pipelines
53    - changes:
54        *mesa_core_file_list
55      when: on_success
56    - changes:
57        *gallium_core_file_list
58      when: on_success
59    - changes:
60      - src/gallium/drivers/softpipe/**/*
61      - src/gallium/winsys/sw/**/*
62      when: on_success
63    - when: never
64
65.llvmpipe-rules:
66  stage: llvmpipe
67  rules:
68    - *ignore_scheduled_pipelines
69    - changes:
70        *mesa_core_file_list
71      when: on_success
72    - changes:
73        *gallium_core_file_list
74      when: on_success
75    - changes: &llvmpipe_file_list
76      - src/gallium/drivers/llvmpipe/**/*
77      - src/gallium/winsys/sw/**/*
78      when: on_success
79    - when: never
80
81.llvmpipe-cl-rules:
82  stage: llvmpipe
83  rules:
84    - *ignore_scheduled_pipelines
85    - changes:
86      - .gitlab-ci.yml
87      - .gitlab-ci/**/*
88      - meson.build
89      - include/**/*
90      - src/compiler/**/*
91      - src/include/**/*
92      - src/util/**/*
93      when: on_success
94    - changes:
95        *gallium_core_file_list
96      when: on_success
97    - changes:
98        *llvmpipe_file_list
99      when: on_success
100    - changes: &clover_file_list
101      - src/gallium/frontends/clover/**/*
102      when: on_success
103    - when: never
104
105.freedreno-rules:
106  stage: freedreno
107  rules:
108    - *ignore_scheduled_pipelines
109    - changes:
110        *mesa_core_file_list
111      when: on_success
112    - changes:
113        *gallium_core_file_list
114      when: on_success
115    - changes:
116      # Note: when https://gitlab.com/gitlab-org/gitlab/-/issues/198688
117      # is supported, we can change the src/freedreno/ rule to explicitly
118      # exclude tools, rather than having to explicitly list everything
119      # else
120      - src/freedreno/common/**/*
121      - src/freedreno/drm/**/*
122      - src/freedreno/fdl/**/*
123      - src/freedreno/ir2/**/*
124      - src/freedreno/ir3/**/*
125      - src/freedreno/perfcntrs/**/*
126      - src/freedreno/registers/**/*
127      - src/freedreno/vulkan/**/*
128      - src/gallium/drivers/freedreno/**/*
129      - src/gallium/winsys/freedreno/**/*
130      when: on_success
131    - when: never
132
133.panfrost-rules:
134  stage: panfrost
135  rules:
136    - *ignore_scheduled_pipelines
137    - changes:
138        *mesa_core_file_list
139      when: on_success
140    - changes:
141        *gallium_core_file_list
142      when: on_success
143    - changes:
144      - src/gallium/drivers/panfrost/**/*
145      - src/gallium/winsys/panfrost/**/*
146      - src/panfrost/**/*
147      when: on_success
148    - when: never
149
150.lima-rules:
151  stage: lima
152  rules:
153    - *ignore_scheduled_pipelines
154    - changes:
155        *mesa_core_file_list
156      when: on_success
157    - changes:
158        *gallium_core_file_list
159      when: on_success
160    - changes:
161      - src/gallium/drivers/lima/**/*
162      - src/gallium/winsys/lima/**/*
163      - src/lima/**/*
164      when: on_success
165    - when: never
166
167.radv-rules:
168  rules:
169    - *ignore_scheduled_pipelines
170    - changes:
171        *mesa_core_file_list
172      when: on_success
173    - changes:
174      - src/amd/**/*
175      - src/vulkan/**/*
176      when: on_success
177    - when: never
178
179.virgl-rules:
180  stage: virgl
181  rules:
182    - *ignore_scheduled_pipelines
183    - changes:
184        *mesa_core_file_list
185      when: on_success
186    - changes:
187        *gallium_core_file_list
188      when: on_success
189    - changes:
190        *llvmpipe_file_list
191      when: on_success
192    - changes:
193      - src/gallium/drivers/virgl/**/*
194      - src/gallium/winsys/virgl/**/*
195      when: on_success
196    - when: never
197
198.radeonsi-rules:
199  stage: radeonsi
200  rules:
201    - *ignore_scheduled_pipelines
202    - changes:
203        *mesa_core_file_list
204      when: on_success
205    - changes:
206        *gallium_core_file_list
207      when: on_success
208    - changes:
209      - src/gallium/drivers/radeonsi/**/*
210      - src/gallium/winsys/amdgpu/**/*
211      - src/amd/*
212      - src/amd/addrlib/**/*
213      - src/amd/common/**/*
214      - src/amd/llvm/**/*
215      - src/amd/registers/**/*
216      when: on_success
217    - when: never
218