VirtualBox

source: vbox/trunk/src/VBox/Additions/3D/mesa/mesa-24.0.2/.gitlab-ci/test-source-dep.yml@ 105856

最後變更 在這個檔案從105856是 103996,由 vboxsync 提交於 11 月 前

Additions/3D/mesa: export mesa-24.0.2 to OSE. bugref:10606

  • 屬性 svn:eol-style 設為 native
檔案大小: 8.7 KB
 
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# Rule to filter for only scheduled pipelines.
5.scheduled_pipeline-rules:
6 rules:
7 - if: &is-scheduled-pipeline '$CI_PIPELINE_SOURCE == "schedule"'
8 when: on_success
9 retry:
10 max: 1
11 # Don't retry on script_failure, job_execution_timeout, runner_unsupported,
12 # stale_schedule, archived_failure, or unmet_prerequisites
13 when:
14 - api_failure
15 - runner_system_failure
16 - scheduler_failure
17 - data_integrity_failure
18 - unknown_failure
19
20
21# Generic rule to not run the job during scheduled pipelines. Jobs that aren't
22# something like a nightly run should include this rule.
23.no_scheduled_pipelines-rules:
24 rules:
25 - if: *is-scheduled-pipeline
26 when: never
27
28# Rule for restricted traces jobs to only run for users with access to those
29# traces (both https://gitlab.freedesktop.org/gfx-ci/tracie/traces-db-private
30# for trace access, and minio bucket access for viewing result images from CI).
31#
32# This is a compromise, allowing some marked developers to have their MRs
33# blocked on regressions to non-redistributable traces, while not blocking
34# merges for other devs who would be unable to debug changes to them.
35.restricted-rules:
36 rules:
37 # If the triggerer has access to the restricted traces and if it is pre-merge
38 - if: '($GITLAB_USER_LOGIN !~ "/^(robclark|anholt|flto|cwabbott0|Danil|tomeu|okias|gallo|kwg|majanes|llanderwelin|zmike|vigneshraman)$/") &&
39 ($GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH)'
40 when: never
41
42# Mesa core source file dependencies that may impact any test job
43# ---------------------------------------------------------------
44.core-rules:
45 rules:
46 - !reference [.no_scheduled_pipelines-rules, rules]
47 - changes: &core_file_list
48 - .gitlab-ci.yml
49 - .gitlab-ci/**/*
50 - include/**/*
51 - meson.build
52 - meson_options.txt
53 - build-support/**/*
54 - subprojects/**/*
55 - .gitattributes
56 - src/*
57 - src/compiler/**/*
58 - src/drm-shim/**/*
59 - src/gbm/**/*
60 - src/gtest/**/*
61 # Some src/util and src/compiler files use headers from mesa/ (e.g.
62 # mtypes.h). We should clean that up.
63 - src/mesa/**/*.h
64 - src/tool/**/*
65 - src/util/**/*
66 when: on_success
67
68# Same core dependencies for doing manual runs.
69.core-manual-rules:
70 retry: !reference [.scheduled_pipeline-rules, retry]
71 rules:
72 # We only want manual jobs to show up when it's not marge's pre-merge CI
73 # run, otherwise she'll wait until her timeout. The exception is
74 # performance jobs, see below.
75 - if: '($GITLAB_USER_LOGIN == "marge-bot" &&
76 $CI_PIPELINE_SOURCE == "merge_request_event" &&
77 $CI_JOB_NAME !~ "/performance$/")'
78 when: never
79 - !reference [.scheduled_pipeline-rules, rules]
80 - changes:
81 *core_file_list
82 when: manual
83
84# Rules for performance jobs tracking. We want perf jobs to run as code is
85# merged to main, but we don't want them to block marge. So, they need to have
86# only when: never or when: manual, and a separate script maintained by
87# Collabora triggers the manual job after merge to main. These "never" filters
88# need to come before any paths with "manual".
89.performance-rules:
90 rules:
91 - !reference [.no_scheduled_pipelines-rules, rules]
92 # Run only on pre-merge pipelines from Marge
93 - if: $MESA_CI_PERFORMANCE_ENABLED == null
94 when: never
95 # Allow the merge to complete even before the job completes (since it won't
96 # even start until the separate script triggers on it).
97 allow_failure: true
98
99.piglit-performance-base:
100 extends:
101 - .performance-rules
102 variables:
103 JOB_PRIORITY: 40
104 PIGLIT_REPLAY_SUBCOMMAND: "profile"
105 PIGLIT_REPLAY_EXTRA_ARGS: "--db-path ${CI_PROJECT_DIR}/replayer-db/"
106 # More than this can hit OOM due to BOs leaked during the replay of the last frame
107 PIGLIT_REPLAY_LOOP_TIMES: 150
108 # We don't want for more than one workload to be submitted to the GPU at a time
109 FDO_CI_CONCURRENT: 1
110 # Piglit is very sparse in its status output and downloads of big traces can take a while
111 DEVICE_HANGING_TIMEOUT_SEC: 600
112 GIT_STRATEGY: none
113 HWCI_FREQ_MAX: "true"
114 # Always use the same device
115 LAVA_TAGS: "cbg-0"
116 # Ensure that we are using the release build artifact
117 S3_ARTIFACT_NAME: mesa-${ARCH}-default-release
118 # Reset dependencies in performance jobs to enforce the release build artifact
119 dependencies: null
120 # Don't run in parallel. It is okay to performance jobs to take a little
121 # longer to finish, as they don't block marge from merging an MR.
122 parallel: null
123
124.piglit-performance:arm64:
125 extends:
126 - .piglit-performance-base
127 needs:
128 - debian/arm64_test
129 - debian-arm64-release
130
131.piglit-performance:x86_64:
132 extends:
133 - .piglit-performance-base
134 needs:
135 - kernel+rootfs_x86_64
136 - debian-release
137
138# Mesa source file dependencies that may impact any GL driver test job.
139.gallium-core-rules:
140 rules:
141 - !reference [.core-rules, rules]
142 - changes: &gallium_core_file_list
143 - src/gallium/*
144 - src/gallium/auxiliary/**/*
145 - src/gallium/drivers/*
146 - src/gallium/include/**/*
147 - src/gallium/frontends/dri/*
148 - src/gallium/frontends/glx/**/*
149 - src/gallium/targets/**/*
150 - src/gallium/tests/**/*
151 - src/gallium/winsys/*
152 when: on_success
153
154.gl-rules:
155 rules:
156 - !reference [.core-rules, rules]
157 - changes: &mesa_core_file_list
158 - src/egl/**/*
159 - src/glx/**/*
160 - src/loader/**/*
161 - src/mapi/**/*
162 - src/mesa/*
163 - src/mesa/main/**/*
164 - src/mesa/math/**/*
165 - src/mesa/program/**/*
166 - src/mesa/sparc/**/*
167 - src/mesa/state_tracker/**/*
168 - src/mesa/swrast/**/*
169 - src/mesa/swrast_setup/**/*
170 - src/mesa/vbo/**/*
171 - src/mesa/x86/**/*
172 - src/mesa/x86-64/**/*
173 when: on_success
174 - !reference [.gallium-core-rules, rules]
175
176.gl-manual-rules:
177 retry: !reference [.scheduled_pipeline-rules, retry]
178 rules:
179 - !reference [.core-manual-rules, rules]
180 - changes:
181 *mesa_core_file_list
182 when: manual
183 - changes:
184 *gallium_core_file_list
185 when: manual
186
187# Source file dependencies that may impact any Vulkan driver build or test
188.vulkan-rules:
189 rules:
190 - !reference [.core-rules, rules]
191 - changes: &vulkan_file_list
192 - src/vulkan/**/*
193 when: on_success
194
195.vulkan-manual-rules:
196 retry: !reference [.scheduled_pipeline-rules, retry]
197 rules:
198 - !reference [.core-manual-rules, rules]
199 - changes:
200 *vulkan_file_list
201 when: manual
202
203# Rules for unusual architectures that only build a subset of drivers
204.ppc64el-rules:
205 rules:
206 - !reference [.never-post-merge-rules, rules]
207 - !reference [.no_scheduled_pipelines-rules, rules]
208 - !reference [.zink-common-rules, rules]
209 - !reference [.softpipe-rules, rules]
210 - !reference [.llvmpipe-rules, rules]
211 - !reference [.lavapipe-rules, rules]
212 - !reference [.radv-rules, rules]
213 - !reference [.radeonsi-rules, rules]
214 - !reference [.virgl-rules, rules]
215 - !reference [.nouveau-rules, rules]
216
217.s390x-rules:
218 rules:
219 - !reference [.never-post-merge-rules, rules]
220 - !reference [.no_scheduled_pipelines-rules, rules]
221 - !reference [.zink-common-rules, rules]
222 - !reference [.softpipe-rules, rules]
223 - !reference [.llvmpipe-rules, rules]
224 - !reference [.lavapipe-rules, rules]
225
226# Rules for linters
227.lint-rustfmt-rules:
228 rules:
229 - !reference [.never-post-merge-rules, rules]
230 - !reference [.core-rules, rules]
231 # in merge pipeline, formatting checks are not allowed to fail
232 - if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
233 changes: &rust_file_list
234 - src/**/*.rs
235 when: on_success
236 allow_failure: false
237 # in other pipelines, formatting checks are allowed to fail
238 - changes: *rust_file_list
239 when: on_success
240 allow_failure: true
241
242.lint-clang-format-rules:
243 rules:
244 - !reference [.never-post-merge-rules, rules]
245 - !reference [.core-rules, rules]
246 # in merge pipeline, formatting checks are not allowed to fail
247 - if: $GITLAB_USER_LOGIN == "marge-bot" && $CI_PIPELINE_SOURCE == "merge_request_event"
248 changes: &clang_format_file_list
249 - .clang-format
250 - .clang-format-include
251 - .clang-format-ignore
252 - src/**/.clang-format
253 - src/egl/**/*
254 - src/amd/vulkan/**/*
255 - src/amd/compiler/**/*
256 - src/etnaviv/isa/**/*
257 when: on_success
258 allow_failure: false
259 # in other pipelines, formatting checks are allowed to fail
260 - changes: *clang_format_file_list
261 when: on_success
262 allow_failure: true
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette