VirtualBox

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

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

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

檔案大小: 17.1 KB
 
1# Shared between windows and Linux
2.build-common:
3 extends: .container+build-rules
4 # Cancel job if a newer commit is pushed to the same branch
5 interruptible: true
6 # Build jobs don't take more than 1-3 minutes. 5-8 min max on a fresh runner
7 # without a populated ccache.
8 # These jobs are never slow, either they finish within reasonable time or
9 # something has gone wrong and the job will never terminate, so we should
10 # instead timeout so that the retry mechanism can kick in.
11 # A few exception are made, see `timeout:` overrides in the rest of this
12 # file.
13 timeout: 30m
14 artifacts:
15 name: "mesa_${CI_JOB_NAME}"
16 when: always
17 paths:
18 - _build/meson-logs/*.txt
19 - _build/meson-logs/strace
20 - shader-db
21 - artifacts
22
23# Just Linux
24.build-linux:
25 extends: .build-common
26 variables:
27 CCACHE_COMPILERCHECK: "content"
28 CCACHE_COMPRESS: "true"
29 CCACHE_DIR: /cache/mesa/ccache
30 # Use ccache transparently, and print stats before/after
31 before_script:
32 - !reference [default, before_script]
33 - |
34 export PATH="/usr/lib/ccache:$PATH"
35 export CCACHE_BASEDIR="$PWD"
36 if test -x /usr/bin/ccache; then
37 section_start ccache_before "ccache stats before build"
38 ccache --show-stats
39 section_end ccache_before
40 fi
41 after_script:
42 - if test -x /usr/bin/ccache; then ccache --show-stats | grep "Hits:"; fi
43 - !reference [default, after_script]
44
45.build-windows:
46 extends:
47 - .build-common
48 - .windows-docker-tags
49 cache:
50 key: ${CI_JOB_NAME}
51 paths:
52 - subprojects/packagecache
53
54.meson-build:
55 extends:
56 - .build-linux
57 - .use-debian/x86_64_build
58 stage: build-x86_64
59 variables:
60 LLVM_VERSION: 15
61 script:
62 - .gitlab-ci/meson/build.sh
63
64debian-testing:
65 extends:
66 - .meson-build
67 - .ci-deqp-artifacts
68 variables:
69 UNWIND: "enabled"
70 DRI_LOADERS: >
71 -D glx=dri
72 -D gbm=enabled
73 -D egl=enabled
74 -D platforms=x11,wayland
75 GALLIUM_ST: >
76 -D dri3=enabled
77 -D gallium-va=enabled
78 -D gallium-rusticl=true
79 GALLIUM_DRIVERS: "swrast,virgl,radeonsi,zink,crocus,iris,i915,r300"
80 VULKAN_DRIVERS: "swrast,amd,intel,intel_hasvk,virtio,nouveau-experimental"
81 BUILDTYPE: "debugoptimized"
82 EXTRA_OPTION: >
83 -D spirv-to-dxil=true
84 -D valgrind=disabled
85 -D perfetto=true
86 -D tools=drm-shim
87 S3_ARTIFACT_NAME: mesa-x86_64-default-${BUILDTYPE}
88 LLVM_VERSION: 15
89 script:
90 - .gitlab-ci/meson/build.sh
91 - .gitlab-ci/prepare-artifacts.sh
92 artifacts:
93 reports:
94 junit: artifacts/ci_scripts_report.xml
95
96debian-testing-asan:
97 extends:
98 - debian-testing
99 variables:
100 C_ARGS: >
101 -Wno-error=stringop-truncation
102 EXTRA_OPTION: >
103 -D b_sanitize=address
104 -D valgrind=disabled
105 -D tools=dlclose-skip
106 S3_ARTIFACT_NAME: ""
107 ARTIFACTS_DEBUG_SYMBOLS: 1
108
109debian-testing-msan:
110 # https://github.com/google/sanitizers/wiki/MemorySanitizerLibcxxHowTo
111 # msan cannot fully work until it's used together with msan libc
112 extends:
113 - debian-clang
114 variables:
115 # l_undef is incompatible with msan
116 EXTRA_OPTION:
117 -D b_sanitize=memory
118 -D b_lundef=false
119 S3_ARTIFACT_NAME: ""
120 ARTIFACTS_DEBUG_SYMBOLS: 1
121 # Don't run all the tests yet:
122 # GLSL has some issues in sexpression reading.
123 # gtest has issues in its test initialization.
124 MESON_TEST_ARGS: "--suite glcpp --suite format"
125 GALLIUM_DRIVERS: "freedreno,iris,nouveau,kmsro,r300,r600,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus"
126 VULKAN_DRIVERS: intel,amd,broadcom,virtio
127
128debian-build-testing:
129 extends: .meson-build
130 variables:
131 BUILDTYPE: debug
132 UNWIND: "enabled"
133 DRI_LOADERS: >
134 -D glx=dri
135 -D gbm=enabled
136 -D egl=enabled
137 -D platforms=x11,wayland
138 GALLIUM_ST: >
139 -D dri3=enabled
140 -D gallium-extra-hud=true
141 -D gallium-vdpau=enabled
142 -D gallium-omx=bellagio
143 -D gallium-va=enabled
144 -D gallium-xa=enabled
145 -D gallium-nine=true
146 -D gallium-rusticl=false
147 GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,asahi,crocus"
148 VULKAN_DRIVERS: swrast
149 EXTRA_OPTION: >
150 -D spirv-to-dxil=true
151 -D osmesa=true
152 -D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi
153 -D b_lto=true
154 LLVM_VERSION: 15
155 script: |
156 section_start lava-pytest "lava-pytest"
157 .gitlab-ci/lava/lava-pytest.sh
158 section_switch shellcheck "shellcheck"
159 .gitlab-ci/run-shellcheck.sh
160 section_switch yamllint "yamllint"
161 .gitlab-ci/run-yamllint.sh
162 section_switch meson "meson"
163 .gitlab-ci/meson/build.sh
164 section_switch shader-db "shader-db"
165 .gitlab-ci/run-shader-db.sh
166 timeout: 30m
167
168# Test a release build with -Werror so new warnings don't sneak in.
169debian-release:
170 extends: .meson-build
171 variables:
172 LLVM_VERSION: 15
173 UNWIND: "enabled"
174 C_ARGS: >
175 -Wno-error=stringop-overread
176 DRI_LOADERS: >
177 -D glx=dri
178 -D gbm=enabled
179 -D egl=enabled
180 -D platforms=x11,wayland
181 GALLIUM_ST: >
182 -D dri3=enabled
183 -D gallium-extra-hud=true
184 -D gallium-vdpau=enabled
185 -D gallium-omx=disabled
186 -D gallium-va=enabled
187 -D gallium-xa=enabled
188 -D gallium-nine=false
189 -D gallium-rusticl=false
190 -D llvm=enabled
191 GALLIUM_DRIVERS: "i915,iris,nouveau,kmsro,freedreno,r300,svga,swrast,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,d3d12,crocus"
192 VULKAN_DRIVERS: "amd,imagination-experimental,microsoft-experimental"
193 EXTRA_OPTION: >
194 -D spirv-to-dxil=true
195 -D osmesa=true
196 -D tools=all
197 -D intel-clc=enabled
198 -D imagination-srv=true
199 BUILDTYPE: "release"
200 S3_ARTIFACT_NAME: "mesa-x86_64-default-${BUILDTYPE}"
201 script:
202 - .gitlab-ci/meson/build.sh
203 - 'if [ -n "$MESA_CI_PERFORMANCE_ENABLED" ]; then .gitlab-ci/prepare-artifacts.sh; fi'
204
205alpine-build-testing:
206 extends:
207 - .meson-build
208 - .use-alpine/x86_64_build
209 stage: build-x86_64
210 variables:
211 BUILDTYPE: "release"
212 C_ARGS: >
213 -Wno-error=cpp
214 -Wno-error=array-bounds
215 -Wno-error=stringop-overread
216 DRI_LOADERS: >
217 -D glx=disabled
218 -D gbm=enabled
219 -D egl=enabled
220 -D glvnd=false
221 -D platforms=wayland
222 LLVM_VERSION: ""
223 GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,iris,kmsro,lima,nouveau,panfrost,r300,r600,radeonsi,svga,swrast,tegra,v3d,vc4,virgl,zink"
224 GALLIUM_ST: >
225 -D dri3=enabled
226 -D gallium-extra-hud=true
227 -D gallium-vdpau=disabled
228 -D gallium-omx=disabled
229 -D gallium-va=enabled
230 -D gallium-xa=disabled
231 -D gallium-nine=true
232 -D gallium-rusticl=false
233 -D gles1=disabled
234 -D gles2=enabled
235 -D llvm=enabled
236 -D microsoft-clc=disabled
237 -D shared-llvm=enabled
238 UNWIND: "disabled"
239 VULKAN_DRIVERS: "amd,broadcom,freedreno,intel,imagination-experimental"
240
241fedora-release:
242 extends:
243 - .meson-build
244 - .use-fedora/x86_64_build
245 variables:
246 BUILDTYPE: "release"
247 C_LINK_ARGS: >
248 -Wno-error=stringop-overflow
249 -Wno-error=stringop-overread
250 CPP_ARGS: >
251 -Wno-error=dangling-reference
252 -Wno-error=overloaded-virtual
253 CPP_LINK_ARGS: >
254 -Wno-error=stringop-overflow
255 -Wno-error=stringop-overread
256 DRI_LOADERS: >
257 -D glx=dri
258 -D gbm=enabled
259 -D egl=enabled
260 -D glvnd=true
261 -D platforms=x11,wayland
262 EXTRA_OPTION: >
263 -D b_lto=true
264 -D osmesa=true
265 -D selinux=true
266 -D tools=drm-shim,etnaviv,freedreno,glsl,intel,nir,nouveau,lima,panfrost,imagination
267 -D vulkan-layers=device-select,overlay
268 -D intel-clc=enabled
269 -D imagination-srv=true
270 GALLIUM_DRIVERS: "crocus,etnaviv,freedreno,i915,iris,kmsro,lima,nouveau,panfrost,r300,r600,radeonsi,svga,swrast,tegra,v3d,vc4,virgl,zink"
271 GALLIUM_ST: >
272 -D dri3=enabled
273 -D gallium-extra-hud=true
274 -D gallium-vdpau=enabled
275 -D gallium-omx=disabled
276 -D gallium-va=enabled
277 -D gallium-xa=enabled
278 -D gallium-nine=false
279 -D gallium-rusticl=true
280 -D gles1=disabled
281 -D gles2=enabled
282 -D llvm=enabled
283 -D microsoft-clc=disabled
284 -D shared-llvm=enabled
285 LLVM_VERSION: ""
286 UNWIND: "disabled"
287 VULKAN_DRIVERS: "amd,broadcom,freedreno,imagination-experimental,intel,intel_hasvk"
288
289debian-android:
290 extends:
291 - .meson-cross
292 - .use-debian/android_build
293 - .ci-deqp-artifacts
294 variables:
295 BUILDTYPE: debug
296 UNWIND: "disabled"
297 C_ARGS: >
298 -Wno-error=asm-operand-widths
299 -Wno-error=constant-conversion
300 -Wno-error=enum-conversion
301 -Wno-error=initializer-overrides
302 -Wno-error=sometimes-uninitialized
303 CPP_ARGS: >
304 -Wno-error=c99-designator
305 -Wno-error=unused-variable
306 -Wno-error=unused-but-set-variable
307 -Wno-error=self-assign
308 DRI_LOADERS: >
309 -D glx=disabled
310 -D gbm=disabled
311 -D egl=enabled
312 -D platforms=android
313 EXTRA_OPTION: >
314 -D android-stub=true
315 -D llvm=disabled
316 -D platform-sdk-version=33
317 -D valgrind=disabled
318 -D android-libbacktrace=disabled
319 GALLIUM_ST: >
320 -D dri3=disabled
321 -D gallium-vdpau=disabled
322 -D gallium-omx=disabled
323 -D gallium-va=disabled
324 -D gallium-xa=disabled
325 -D gallium-nine=false
326 -D gallium-rusticl=false
327 LLVM_VERSION: ""
328 PKG_CONFIG_LIBDIR: "/disable/non/android/system/pc/files"
329 ARTIFACTS_DEBUG_SYMBOLS: 1
330 S3_ARTIFACT_NAME: mesa-x86_64-android-${BUILDTYPE}
331 script:
332 - CROSS=aarch64-linux-android GALLIUM_DRIVERS=etnaviv,freedreno,lima,panfrost,vc4,v3d VULKAN_DRIVERS=freedreno,broadcom,virtio .gitlab-ci/meson/build.sh
333 # x86_64 build:
334 # Can't do Intel because gen_decoder.c currently requires libexpat, which
335 # is not a dependency that AOSP wants to accept. Can't do Radeon Gallium
336 # drivers because they requires LLVM, which we don't have an Android build
337 # of.
338 - CROSS=x86_64-linux-android GALLIUM_DRIVERS=iris,virgl VULKAN_DRIVERS=amd,intel .gitlab-ci/meson/build.sh
339 - .gitlab-ci/prepare-artifacts.sh
340
341.meson-cross:
342 extends:
343 - .meson-build
344 stage: build-misc
345 variables:
346 UNWIND: "disabled"
347 DRI_LOADERS: >
348 -D glx=dri
349 -D gbm=enabled
350 -D egl=enabled
351 -D platforms=x11,wayland
352 -D osmesa=false
353 GALLIUM_ST: >
354 -D dri3=enabled
355 -D gallium-vdpau=disabled
356 -D gallium-omx=disabled
357 -D gallium-va=disabled
358 -D gallium-xa=disabled
359 -D gallium-nine=false
360
361.meson-arm:
362 extends:
363 - .meson-cross
364 - .use-debian/arm64_build
365 needs:
366 - debian/arm64_build
367 variables:
368 VULKAN_DRIVERS: freedreno,broadcom
369 GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4,zink"
370 BUILDTYPE: "debugoptimized"
371 tags:
372 - aarch64
373
374debian-arm32:
375 extends:
376 - .meson-arm
377 - .ci-deqp-artifacts
378 variables:
379 CROSS: armhf
380 EXTRA_OPTION: >
381 -D llvm=disabled
382 -D valgrind=disabled
383 S3_ARTIFACT_NAME: mesa-arm32-default-${BUILDTYPE}
384 # The strip command segfaults, failing to strip the binary and leaving
385 # tempfiles in our artifacts.
386 ARTIFACTS_DEBUG_SYMBOLS: 1
387 script:
388 - .gitlab-ci/meson/build.sh
389 - .gitlab-ci/prepare-artifacts.sh
390
391debian-arm32-asan:
392 extends:
393 - debian-arm32
394 variables:
395 EXTRA_OPTION: >
396 -D llvm=disabled
397 -D b_sanitize=address
398 -D valgrind=disabled
399 -D tools=dlclose-skip
400 ARTIFACTS_DEBUG_SYMBOLS: 1
401 S3_ARTIFACT_NAME: mesa-arm32-asan-${BUILDTYPE}
402 MESON_TEST_ARGS: "--no-suite mesa:compiler --no-suite mesa:util"
403
404debian-arm64:
405 extends:
406 - .meson-arm
407 - .ci-deqp-artifacts
408 variables:
409 C_ARGS: >
410 -Wno-error=array-bounds
411 -Wno-error=stringop-truncation
412 VULKAN_DRIVERS: "freedreno,broadcom,panfrost,imagination-experimental"
413 EXTRA_OPTION: >
414 -D llvm=disabled
415 -D valgrind=disabled
416 -D imagination-srv=true
417 -D perfetto=true
418 -D freedreno-kmds=msm,virtio
419 S3_ARTIFACT_NAME: mesa-arm64-default-${BUILDTYPE}
420 script:
421 - .gitlab-ci/meson/build.sh
422 - .gitlab-ci/prepare-artifacts.sh
423
424debian-arm64-asan:
425 extends:
426 - debian-arm64
427 variables:
428 EXTRA_OPTION: >
429 -D llvm=disabled
430 -D b_sanitize=address
431 -D valgrind=disabled
432 -D tools=dlclose-skip
433 ARTIFACTS_DEBUG_SYMBOLS: 1
434 S3_ARTIFACT_NAME: mesa-arm64-asan-${BUILDTYPE}
435 MESON_TEST_ARGS: "--no-suite mesa:compiler"
436
437debian-arm64-build-test:
438 extends:
439 - .meson-arm
440 - .ci-deqp-artifacts
441 variables:
442 VULKAN_DRIVERS: "amd"
443 EXTRA_OPTION: >
444 -Dtools=panfrost,imagination
445
446debian-arm64-release:
447 extends:
448 - debian-arm64
449 variables:
450 BUILDTYPE: release
451 S3_ARTIFACT_NAME: mesa-arm64-default-${BUILDTYPE}
452 C_ARGS: >
453 -Wno-error=array-bounds
454 -Wno-error=stringop-truncation
455 -Wno-error=stringop-overread
456 script:
457 - .gitlab-ci/meson/build.sh
458 - 'if [ -n "$MESA_CI_PERFORMANCE_ENABLED" ]; then .gitlab-ci/prepare-artifacts.sh; fi'
459
460debian-clang:
461 extends: .meson-build
462 variables:
463 BUILDTYPE: debug
464 LLVM_VERSION: 15
465 UNWIND: "enabled"
466 C_ARGS: >
467 -Wno-error=constant-conversion
468 -Wno-error=enum-conversion
469 -Wno-error=initializer-overrides
470 -Wno-error=sometimes-uninitialized
471 -Werror=misleading-indentation
472 CPP_ARGS: >
473 -Wno-error=c99-designator
474 -Wno-error=overloaded-virtual
475 -Wno-error=tautological-constant-out-of-range-compare
476 -Wno-error=unused-private-field
477 DRI_LOADERS: >
478 -D glx=dri
479 -D gbm=enabled
480 -D egl=enabled
481 -D glvnd=true
482 -D platforms=x11,wayland
483 GALLIUM_ST: >
484 -D dri3=enabled
485 -D gallium-extra-hud=true
486 -D gallium-vdpau=enabled
487 -D gallium-omx=bellagio
488 -D gallium-va=enabled
489 -D gallium-xa=enabled
490 -D gallium-nine=true
491 -D gles1=enabled
492 -D gles2=enabled
493 -D llvm=enabled
494 -D microsoft-clc=disabled
495 -D shared-llvm=enabled
496 -D opencl-spirv=true
497 -D shared-glapi=enabled
498 GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink,radeonsi,tegra,d3d12,crocus,i915,asahi"
499 VULKAN_DRIVERS: intel,amd,freedreno,broadcom,virtio,swrast,panfrost,imagination-experimental,microsoft-experimental,nouveau-experimental
500 EXTRA_OPTION:
501 -D spirv-to-dxil=true
502 -D osmesa=true
503 -D imagination-srv=true
504 -D tools=drm-shim,etnaviv,freedreno,glsl,intel,intel-ui,nir,nouveau,lima,panfrost,asahi,imagination
505 -D vulkan-layers=device-select,overlay
506 -D build-aco-tests=true
507 -D intel-clc=enabled
508 -D imagination-srv=true
509 CC: clang-${LLVM_VERSION}
510 CXX: clang++-${LLVM_VERSION}
511
512debian-clang-release:
513 extends: debian-clang
514 variables:
515 BUILDTYPE: "release"
516 DRI_LOADERS: >
517 -D glx=xlib
518 -D platforms=x11,wayland
519 GALLIUM_ST: >
520 -D dri3=enabled
521 -D gallium-extra-hud=true
522 -D gallium-vdpau=enabled
523 -D gallium-omx=bellagio
524 -D gallium-va=enabled
525 -D gallium-xa=enabled
526 -D gallium-nine=true
527 -D gles1=disabled
528 -D gles2=disabled
529 -D llvm=enabled
530 -D microsoft-clc=disabled
531 -D shared-llvm=enabled
532 -D opencl-spirv=true
533 -D shared-glapi=disabled
534
535windows-msvc:
536 extends:
537 - .build-windows
538 - .use-windows_build_msvc
539 - .windows-build-rules
540 stage: build-misc
541 script:
542 - pwsh -ExecutionPolicy RemoteSigned .\.gitlab-ci\windows\mesa_build.ps1
543 artifacts:
544 paths:
545 - _build/meson-logs/*.txt
546 - _install/
547
548debian-vulkan:
549 extends: .meson-build
550 variables:
551 BUILDTYPE: debug
552 LLVM_VERSION: 15
553 UNWIND: "disabled"
554 DRI_LOADERS: >
555 -D glx=disabled
556 -D gbm=disabled
557 -D egl=disabled
558 -D opengl=false
559 -D gles1=disabled
560 -D gles2=disabled
561 -D platforms=x11,wayland
562 -D osmesa=false
563 GALLIUM_ST: >
564 -D dri3=enabled
565 -D gallium-vdpau=disabled
566 -D gallium-omx=disabled
567 -D gallium-va=disabled
568 -D gallium-xa=disabled
569 -D gallium-nine=false
570 -D gallium-rusticl=false
571 -D b_sanitize=undefined
572 -D c_args=-fno-sanitize-recover=all
573 -D cpp_args=-fno-sanitize-recover=all
574 UBSAN_OPTIONS: "print_stacktrace=1"
575 VULKAN_DRIVERS: amd,broadcom,freedreno,intel,intel_hasvk,virtio,imagination-experimental,microsoft-experimental
576 EXTRA_OPTION: >
577 -D vulkan-layers=device-select,overlay
578 -D build-aco-tests=true
579 -D intel-clc=disabled
580 -D imagination-srv=true
581
582debian-x86_32:
583 extends:
584 - .meson-cross
585 - .use-debian/x86_32_build
586 variables:
587 BUILDTYPE: debug
588 CROSS: i386
589 VULKAN_DRIVERS: intel,amd,swrast,virtio
590 GALLIUM_DRIVERS: "iris,nouveau,r300,r600,radeonsi,swrast,virgl,zink,crocus,d3d12"
591 LLVM_VERSION: 15
592 EXTRA_OPTION: >
593 -D vulkan-layers=device-select,overlay
594
595debian-s390x:
596 extends:
597 - debian-ppc64el
598 - .use-debian/s390x_build
599 - .s390x-rules
600 tags:
601 - kvm
602 variables:
603 CROSS: s390x
604 GALLIUM_DRIVERS: "swrast,zink"
605 LLVM_VERSION: 15
606 VULKAN_DRIVERS: "swrast"
607
608debian-ppc64el:
609 extends:
610 - .meson-cross
611 - .use-debian/ppc64el_build
612 - .ppc64el-rules
613 variables:
614 BUILDTYPE: debug
615 CROSS: ppc64el
616 GALLIUM_DRIVERS: "nouveau,radeonsi,swrast,virgl,zink"
617 VULKAN_DRIVERS: "amd,swrast"
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

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