Clone of mesa.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

.gitlab-ci.yml 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211
  1. # This is the tag of the docker image used for the build jobs. If the
  2. # image doesn't exist yet, the containers-build stage generates it.
  3. #
  4. # In order to generate a new image, one should generally change the tag.
  5. # While removing the image from the registry would also work, that's not
  6. # recommended except for ephemeral images during development: Replacing
  7. # an image after a significant amount of time might pull in newer
  8. # versions of gcc/clang or other packages, which might break the build
  9. # with older commits using the same tag.
  10. #
  11. # After merging a change resulting in generating a new image to the
  12. # main repository, it's recommended to remove the image from the source
  13. # repository's container registry, so that the image from the main
  14. # repository's registry will be used there as well.
  15. #
  16. # The format of the tag is "%Y-%m-%d-${counter}" where ${counter} stays
  17. # at "01" unless you have multiple updates on the same day :)
  18. variables:
  19. UBUNTU_TAG: 2019-01-31-01
  20. UBUNTU_IMAGE: "$CI_REGISTRY/$CI_PROJECT_PATH/ubuntu:$UBUNTU_TAG"
  21. stages:
  22. - containers-build
  23. - build+test
  24. # CONTAINERS
  25. containers:ubuntu:
  26. stage: containers-build
  27. image: docker:stable
  28. services:
  29. - docker:dind
  30. variables:
  31. DOCKER_HOST: tcp://docker:2375
  32. DOCKER_DRIVER: overlay2
  33. script:
  34. # Enable experimental features such as `docker manifest inspect`
  35. - mkdir -p ~/.docker
  36. - "echo '{\"experimental\": \"enabled\"}' > ~/.docker/config.json"
  37. - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
  38. # Check if the image (with the specific tag) already exists
  39. - docker manifest inspect $UBUNTU_IMAGE && exit || true
  40. - docker build -t $UBUNTU_IMAGE -f .gitlab-ci/Dockerfile.ubuntu .
  41. - docker push $UBUNTU_IMAGE
  42. only:
  43. changes:
  44. - .gitlab-ci.yml
  45. - .gitlab-ci/Dockerfile.ubuntu
  46. # BUILD
  47. .build:
  48. image: $UBUNTU_IMAGE
  49. stage: build+test
  50. artifacts:
  51. when: on_failure
  52. untracked: true
  53. .meson-build:
  54. extends: .build
  55. before_script:
  56. # We need to control the version of llvm-config we're using, so we'll
  57. # generate a native file to do so. This requires meson >=0.49
  58. - if test -n "$LLVM_VERSION"; then
  59. LLVM_CONFIG="llvm-config-${LLVM_VERSION}";
  60. echo -e "[binaries]\nllvm-config = '`which $LLVM_CONFIG`'" > native.file;
  61. $LLVM_CONFIG --version;
  62. else
  63. touch native.file;
  64. fi
  65. - meson --version
  66. - meson _build
  67. --native-file=native.file
  68. -D build-tests=true
  69. -D libunwind=${UNWIND}
  70. ${DRI_LOADERS}
  71. -D dri-drivers=${DRI_DRIVERS:-[]}
  72. ${GALLIUM_ST}
  73. -D gallium-drivers=${GALLIUM_DRIVERS:-[]}
  74. -D vulkan-drivers=${VULKAN_DRIVERS:-[]}
  75. - cd _build
  76. - meson configure
  77. script:
  78. - ninja
  79. - ninja test
  80. .make-build:
  81. extends: .build
  82. variables:
  83. MAKEFLAGS: "-j4"
  84. before_script:
  85. - if test -n "$LLVM_VERSION"; then
  86. export LLVM_CONFIG="llvm-config-${LLVM_VERSION}";
  87. fi
  88. - mkdir build
  89. - cd build
  90. - ../autogen.sh
  91. --enable-autotools
  92. --enable-debug
  93. $LIBUNWIND_FLAGS
  94. $DRI_LOADERS
  95. --with-dri-drivers=$DRI_DRIVERS
  96. $GALLIUM_ST
  97. --with-gallium-drivers=$GALLIUM_DRIVERS
  98. --with-vulkan-drivers=$VULKAN_DRIVERS
  99. --disable-llvm-shared-libs
  100. script:
  101. - make
  102. - eval $MAKE_CHECK_COMMAND
  103. .scons-build:
  104. extends: .build
  105. variables:
  106. SCONSFLAGS: "-j4"
  107. script:
  108. - if test -n "$LLVM_VERSION"; then
  109. export LLVM_CONFIG="llvm-config-${LLVM_VERSION}";
  110. fi
  111. - scons $SCONS_TARGET
  112. - eval $SCONS_CHECK_COMMAND
  113. build:meson-vulkan:
  114. extends: .meson-build
  115. variables:
  116. UNWIND: "false"
  117. DRI_LOADERS: >
  118. -D glx=disabled
  119. -D gbm=false
  120. -D egl=false
  121. -D platforms=x11,wayland,drm
  122. -D osmesa=none
  123. GALLIUM_ST: >
  124. -D dri3=true
  125. -D gallium-vdpau=false
  126. -D gallium-xvmc=false
  127. -D gallium-omx=disabled
  128. -D gallium-va=false
  129. -D gallium-xa=false
  130. -D gallium-nine=false
  131. -D gallium-opencl=disabled
  132. VULKAN_DRIVERS: intel,amd
  133. LLVM_VERSION: "7"
  134. build:meson-loader-classic-dri:
  135. extends: .meson-build
  136. variables:
  137. UNWIND: "false"
  138. DRI_LOADERS: >
  139. -D glx=dri
  140. -D gbm=true
  141. -D egl=true
  142. -D platforms=x11,wayland,drm,surfaceless
  143. -D osmesa=classic
  144. DRI_DRIVERS: "i915,i965,r100,r200,swrast,nouveau"
  145. GALLIUM_ST: >
  146. -D dri3=true
  147. -D gallium-vdpau=false
  148. -D gallium-xvmc=false
  149. -D gallium-omx=disabled
  150. -D gallium-va=false
  151. -D gallium-xa=false
  152. -D gallium-nine=false
  153. -D gallium-opencl=disabled
  154. build:make-vulkan:
  155. extends: .make-build
  156. variables:
  157. MAKE_CHECK_COMMAND: "make -C src/gtest check && make -C src/intel check"
  158. LLVM_VERSION: "7"
  159. DRI_LOADERS: >
  160. --disable-glx
  161. --disable-gbm
  162. --disable-egl
  163. --with-platforms=x11,wayland,drm
  164. DRI_DRIVERS: ""
  165. GALLIUM_ST: >
  166. --enable-dri
  167. --enable-dri3
  168. --disable-opencl
  169. --disable-xa
  170. --disable-nine
  171. --disable-xvmc
  172. --disable-vdpau
  173. --disable-va
  174. --disable-omx-bellagio
  175. --disable-gallium-osmesa
  176. VULKAN_DRIVERS: intel,radeon
  177. LIBUNWIND_FLAGS: --disable-libunwind
  178. build:scons-nollvm:
  179. extends: .scons-build
  180. variables:
  181. SCONS_TARGET: "llvm=0"
  182. SCONS_CHECK_COMMAND: "scons llvm=0 check"
  183. build:scons-llvm:
  184. extends: .scons-build
  185. variables:
  186. SCONS_TARGET: "llvm=1"
  187. SCONS_CHECK_COMMAND: "scons llvm=1 check"
  188. LLVM_VERSION: "3.9"
  189. build:scons-swr:
  190. extends: .scons-build
  191. variables:
  192. SCONS_TARGET: "swr=1"
  193. SCONS_CHECK_COMMAND: "true"
  194. LLVM_VERSION: "6.0"