2019-01-20 19:21:45 +08:00
|
|
|
variables:
|
2019-04-02 15:24:00 +08:00
|
|
|
UPSTREAM_REPO: mesa/mesa
|
|
|
|
|
|
|
|
include:
|
|
|
|
- project: 'wayland/ci-templates'
|
2019-11-08 03:25:10 +08:00
|
|
|
# Must be the same as in .gitlab-ci/lava-gitlab-ci.yml
|
2019-12-03 19:38:59 +08:00
|
|
|
ref: 0a9bdd33a98f05af6761ab118b5074952242aab0
|
2019-04-02 22:56:54 +08:00
|
|
|
file: '/templates/debian.yml'
|
2019-01-20 19:21:45 +08:00
|
|
|
|
2019-09-18 22:03:36 +08:00
|
|
|
include:
|
2019-10-24 05:36:19 +08:00
|
|
|
- local: '.gitlab-ci/lava-gitlab-ci.yml'
|
2019-09-18 22:03:36 +08:00
|
|
|
|
2019-01-20 19:21:45 +08:00
|
|
|
stages:
|
2019-10-15 06:04:14 +08:00
|
|
|
- container
|
2019-09-12 01:51:46 +08:00
|
|
|
- build
|
2019-06-29 07:35:32 +08:00
|
|
|
- test
|
2019-01-20 19:21:45 +08:00
|
|
|
|
|
|
|
|
2019-02-22 23:52:08 +08:00
|
|
|
# When to automatically run the CI
|
2019-09-06 23:35:52 +08:00
|
|
|
.ci-run-policy:
|
2019-09-26 15:27:27 +08:00
|
|
|
rules:
|
|
|
|
- when: on_success
|
2019-03-27 01:39:41 +08:00
|
|
|
retry:
|
|
|
|
max: 2
|
|
|
|
when:
|
|
|
|
- runner_system_failure
|
2019-11-13 07:42:21 +08:00
|
|
|
# Cancel CI run if a newer commit is pushed to the same branch
|
|
|
|
interruptible: true
|
2019-02-22 23:52:08 +08:00
|
|
|
|
2019-09-06 23:35:52 +08:00
|
|
|
.ci-deqp-artifacts:
|
2019-06-29 07:35:32 +08:00
|
|
|
artifacts:
|
|
|
|
when: always
|
|
|
|
untracked: false
|
|
|
|
paths:
|
|
|
|
# Watch out! Artifacts are relative to the build dir.
|
|
|
|
# https://gitlab.com/gitlab-org/gitlab-ce/commit/8788fb925706cad594adf6917a6c5f6587dd1521
|
|
|
|
- artifacts
|
2019-02-22 23:52:08 +08:00
|
|
|
|
2019-11-12 01:13:28 +08:00
|
|
|
# Build the "normal" (non-LAVA) CI docker images.
|
|
|
|
#
|
|
|
|
# DEBIAN_TAG is the tag of the docker image used by later stage jobs. If the
|
|
|
|
# image doesn't exist yet, the container stage job generates it.
|
|
|
|
#
|
|
|
|
# In order to generate a new image, one should generally change the tag.
|
|
|
|
# While removing the image from the registry would also work, that's not
|
|
|
|
# recommended except for ephemeral images during development: Replacing
|
|
|
|
# an image after a significant amount of time might pull in newer
|
|
|
|
# versions of gcc/clang or other packages, which might break the build
|
|
|
|
# with older commits using the same tag.
|
|
|
|
#
|
|
|
|
# After merging a change resulting in generating a new image to the
|
|
|
|
# main repository, it's recommended to remove the image from the source
|
|
|
|
# repository's container registry, so that the image from the main
|
|
|
|
# repository's registry will be used there as well.
|
2019-09-06 23:04:47 +08:00
|
|
|
|
2019-10-15 06:04:14 +08:00
|
|
|
.container:
|
|
|
|
stage: container
|
|
|
|
extends:
|
|
|
|
- .ci-run-policy
|
2019-09-26 15:27:27 +08:00
|
|
|
rules:
|
|
|
|
# Run pipeline by default for merge requests changing files affecting it
|
|
|
|
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
|
|
|
changes:
|
|
|
|
- VERSION
|
|
|
|
- bin/**/*
|
|
|
|
# GitLab CI
|
|
|
|
- .gitlab-ci.yml
|
|
|
|
- .gitlab-ci/**/*
|
|
|
|
# Meson
|
|
|
|
- meson*
|
|
|
|
- build-support/**/*
|
|
|
|
- subprojects/**/*
|
|
|
|
# SCons
|
|
|
|
- SConstruct
|
|
|
|
- scons/**/*
|
|
|
|
- common.py
|
|
|
|
# Source code
|
|
|
|
- include/**/*
|
|
|
|
- src/**/*
|
|
|
|
when: on_success
|
|
|
|
# Always run pipeline by default in the main project
|
|
|
|
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
|
|
|
when: on_success
|
|
|
|
# Otherwise, allow triggering jobs manually
|
|
|
|
- when: manual
|
2019-10-15 06:04:14 +08:00
|
|
|
variables:
|
2019-11-12 01:13:28 +08:00
|
|
|
DEBIAN_VERSION: buster-slim
|
|
|
|
REPO_SUFFIX: $CI_JOB_NAME
|
2019-11-08 03:08:03 +08:00
|
|
|
DEBIAN_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
|
2019-10-15 06:04:14 +08:00
|
|
|
# no need to pull the whole repo to build the container image
|
|
|
|
GIT_STRATEGY: none
|
|
|
|
|
2019-11-12 01:13:28 +08:00
|
|
|
# Debian 10 based x86 build image
|
2019-11-14 00:43:41 +08:00
|
|
|
x86_build:
|
2019-09-06 23:35:52 +08:00
|
|
|
extends:
|
|
|
|
- .debian@container-ifnot-exists
|
2019-10-15 06:04:14 +08:00
|
|
|
- .container
|
2019-11-12 01:13:28 +08:00
|
|
|
variables:
|
|
|
|
DEBIAN_TAG: &x86_build "2019-11-13"
|
2019-01-20 19:26:53 +08:00
|
|
|
|
2019-11-14 00:43:41 +08:00
|
|
|
.use-x86_build:
|
2019-11-12 01:13:28 +08:00
|
|
|
variables:
|
|
|
|
TAG: *x86_build
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_build:$TAG"
|
2019-10-10 21:27:17 +08:00
|
|
|
needs:
|
2019-11-14 00:43:41 +08:00
|
|
|
- x86_build
|
2019-10-10 21:27:17 +08:00
|
|
|
|
2019-11-18 16:15:12 +08:00
|
|
|
# Debian 10 based x86 test image for GL
|
|
|
|
x86_test-gl:
|
2019-11-14 00:43:41 +08:00
|
|
|
extends: x86_build
|
2019-11-06 01:52:24 +08:00
|
|
|
variables:
|
2019-12-13 17:20:23 +08:00
|
|
|
DEBIAN_TAG: &x86_test-gl "2019-12-18"
|
2019-11-06 01:52:24 +08:00
|
|
|
|
2019-11-18 16:23:18 +08:00
|
|
|
# Debian 10 based x86 test image for VK
|
|
|
|
x86_test-vk:
|
|
|
|
extends: x86_build
|
|
|
|
variables:
|
2019-12-13 17:20:23 +08:00
|
|
|
DEBIAN_TAG: &x86_test-vk "2019-12-18"
|
2019-11-13 18:03:52 +08:00
|
|
|
# Can only be triggered manually on personal branches because RADV is the only
|
|
|
|
# driver that does Vulkan testing at the moment.
|
|
|
|
rules:
|
|
|
|
# Never build the test image for VK by default in the main project.
|
|
|
|
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
|
|
|
when: never
|
|
|
|
# Never build the test image for VK by default for merge requests.
|
|
|
|
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
|
|
|
when: never
|
|
|
|
# Otherwise, allow building it manually for personal branches.
|
|
|
|
- when: manual
|
|
|
|
|
2019-11-18 16:23:18 +08:00
|
|
|
|
2019-11-12 01:13:28 +08:00
|
|
|
# Debian 9 based x86 build image (old LLVM)
|
2019-11-14 00:43:41 +08:00
|
|
|
x86_build_old:
|
|
|
|
extends: x86_build
|
2019-09-06 23:04:47 +08:00
|
|
|
variables:
|
2019-11-12 01:13:28 +08:00
|
|
|
DEBIAN_TAG: &x86_build_old "2019-09-18"
|
|
|
|
DEBIAN_VERSION: stretch-slim
|
2019-09-06 23:04:47 +08:00
|
|
|
|
2019-11-14 00:43:41 +08:00
|
|
|
.use-x86_build_old:
|
2019-11-12 01:13:28 +08:00
|
|
|
variables:
|
|
|
|
TAG: *x86_build_old
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_build_old:$TAG"
|
2019-09-18 22:17:01 +08:00
|
|
|
needs:
|
2019-11-14 00:43:41 +08:00
|
|
|
- x86_build_old
|
2019-09-18 22:17:01 +08:00
|
|
|
|
2019-11-12 01:13:28 +08:00
|
|
|
# Debian 10 based ARM build image
|
2019-11-14 00:43:41 +08:00
|
|
|
arm_build:
|
2019-09-06 23:35:52 +08:00
|
|
|
extends:
|
|
|
|
- .debian@container-ifnot-exists@arm64v8
|
2019-10-15 06:04:14 +08:00
|
|
|
- .container
|
2019-06-29 07:35:32 +08:00
|
|
|
variables:
|
2019-11-12 01:13:28 +08:00
|
|
|
DEBIAN_TAG: &arm_build "2019-11-13"
|
|
|
|
|
|
|
|
.use-arm_build:
|
|
|
|
variables:
|
|
|
|
TAG: *arm_build
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/arm_build:$TAG"
|
|
|
|
needs:
|
|
|
|
- arm_build
|
2019-01-20 19:26:53 +08:00
|
|
|
|
2019-11-12 01:13:28 +08:00
|
|
|
# Debian 10 based ARM test image
|
2019-11-14 00:43:41 +08:00
|
|
|
arm_test:
|
2019-11-12 01:13:28 +08:00
|
|
|
extends: arm_build
|
|
|
|
variables:
|
2019-12-13 17:20:23 +08:00
|
|
|
DEBIAN_TAG: &arm_test "2019-12-18"
|
2019-11-12 01:13:28 +08:00
|
|
|
|
|
|
|
.use-arm_test:
|
2019-11-04 16:54:09 +08:00
|
|
|
variables:
|
2019-11-12 01:13:28 +08:00
|
|
|
TAG: *arm_test
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/arm_test:$TAG"
|
|
|
|
needs:
|
|
|
|
- meson-arm64
|
|
|
|
- arm_test
|
2019-11-04 16:54:09 +08:00
|
|
|
|
2019-10-15 06:04:14 +08:00
|
|
|
|
2019-01-20 19:26:53 +08:00
|
|
|
# BUILD
|
|
|
|
|
2019-10-24 05:21:31 +08:00
|
|
|
# Shared between windows and Linux
|
|
|
|
.build-common:
|
2019-10-15 06:52:58 +08:00
|
|
|
extends: .ci-run-policy
|
2019-09-12 01:51:46 +08:00
|
|
|
stage: build
|
2019-01-20 19:26:53 +08:00
|
|
|
artifacts:
|
2019-07-25 00:27:48 +08:00
|
|
|
when: always
|
|
|
|
paths:
|
|
|
|
- _build/meson-logs/*.txt
|
|
|
|
# scons:
|
2019-07-26 18:20:41 +08:00
|
|
|
- build/*/config.log
|
2019-04-11 06:59:12 +08:00
|
|
|
- shader-db
|
2019-10-24 05:21:31 +08:00
|
|
|
|
|
|
|
# Just Linux
|
|
|
|
.build-linux:
|
|
|
|
extends: .build-common
|
2019-04-05 00:01:27 +08:00
|
|
|
variables:
|
|
|
|
CCACHE_COMPILERCHECK: "content"
|
2019-11-20 16:11:35 +08:00
|
|
|
CCACHE_COMPRESS: "true"
|
|
|
|
CCACHE_DIR: /cache/mesa/ccache
|
2019-02-13 00:59:27 +08:00
|
|
|
# Use ccache transparently, and print stats before/after
|
|
|
|
before_script:
|
|
|
|
- export PATH="/usr/lib/ccache:$PATH"
|
|
|
|
- export CCACHE_BASEDIR="$PWD"
|
2019-11-20 16:11:35 +08:00
|
|
|
- ccache --show-stats
|
2019-02-13 00:59:27 +08:00
|
|
|
after_script:
|
|
|
|
- ccache --show-stats
|
2019-01-20 19:26:53 +08:00
|
|
|
|
2019-10-24 05:36:19 +08:00
|
|
|
.build-windows:
|
|
|
|
extends: .build-common
|
|
|
|
tags:
|
|
|
|
- mesa-windows
|
|
|
|
cache:
|
|
|
|
key: ${CI_JOB_NAME}
|
|
|
|
paths:
|
|
|
|
- subprojects/packagecache
|
|
|
|
|
2019-01-20 19:26:53 +08:00
|
|
|
.meson-build:
|
2019-10-15 06:52:58 +08:00
|
|
|
extends:
|
2019-10-24 05:21:31 +08:00
|
|
|
- .build-linux
|
2019-11-14 00:43:41 +08:00
|
|
|
- .use-x86_build
|
2019-02-13 00:59:27 +08:00
|
|
|
script:
|
2019-05-03 16:49:43 +08:00
|
|
|
- .gitlab-ci/meson-build.sh
|
2019-01-20 19:26:53 +08:00
|
|
|
|
2019-01-23 23:46:10 +08:00
|
|
|
.scons-build:
|
2019-10-15 06:52:58 +08:00
|
|
|
extends:
|
2019-10-24 05:21:31 +08:00
|
|
|
- .build-linux
|
2019-11-14 00:43:41 +08:00
|
|
|
- .use-x86_build
|
2019-01-23 23:46:10 +08:00
|
|
|
variables:
|
2019-11-07 03:14:14 +08:00
|
|
|
SCONSFLAGS: "-j4"
|
2019-01-23 23:46:10 +08:00
|
|
|
script:
|
2019-09-12 17:34:43 +08:00
|
|
|
- .gitlab-ci/scons-build.sh
|
2019-01-23 23:46:10 +08:00
|
|
|
|
2019-11-19 19:23:41 +08:00
|
|
|
meson-testing:
|
2019-09-06 23:35:52 +08:00
|
|
|
extends:
|
|
|
|
- .meson-build
|
|
|
|
- .ci-deqp-artifacts
|
2019-11-19 19:23:41 +08:00
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=dri
|
|
|
|
-D gbm=true
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=x11,drm,surfaceless
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=true
|
|
|
|
GALLIUM_DRIVERS: "swrast"
|
2019-11-19 21:46:53 +08:00
|
|
|
VULKAN_DRIVERS: amd
|
2019-11-19 19:23:41 +08:00
|
|
|
BUILDTYPE: "debugoptimized"
|
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/prepare-artifacts.sh
|
|
|
|
|
|
|
|
meson-main:
|
|
|
|
extends: .meson-build
|
2019-08-28 18:01:02 +08:00
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=dri
|
|
|
|
-D gbm=true
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=x11,wayland,drm,surfaceless
|
|
|
|
DRI_DRIVERS: "i915,i965,r100,r200,nouveau"
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=true
|
|
|
|
-D gallium-extra-hud=true
|
|
|
|
-D gallium-vdpau=true
|
|
|
|
-D gallium-xvmc=true
|
|
|
|
-D gallium-omx=bellagio
|
|
|
|
-D gallium-va=true
|
|
|
|
-D gallium-xa=true
|
|
|
|
-D gallium-nine=true
|
|
|
|
-D gallium-opencl=disabled
|
2019-11-19 21:36:02 +08:00
|
|
|
GALLIUM_DRIVERS: "iris,nouveau,kmsro,r300,r600,freedreno,swr,swrast,svga,v3d,vc4,virgl,etnaviv,panfrost,lima,zink"
|
2019-08-28 18:01:02 +08:00
|
|
|
LLVM_VERSION: "7"
|
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D osmesa=gallium
|
|
|
|
-D tools=all
|
2019-10-24 00:42:53 +08:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/run-shader-db.sh
|
2019-08-28 18:01:02 +08:00
|
|
|
|
2019-09-13 17:59:43 +08:00
|
|
|
.meson-cross:
|
|
|
|
extends:
|
|
|
|
- .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D gbm=false
|
|
|
|
-D egl=true
|
|
|
|
-D platforms=surfaceless
|
|
|
|
-D osmesa=none
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=false
|
|
|
|
-D gallium-vdpau=false
|
|
|
|
-D gallium-xvmc=false
|
|
|
|
-D gallium-omx=disabled
|
|
|
|
-D gallium-va=false
|
|
|
|
-D gallium-xa=false
|
|
|
|
-D gallium-nine=false
|
|
|
|
|
2019-10-09 01:46:11 +08:00
|
|
|
.meson-arm:
|
2019-11-12 01:13:28 +08:00
|
|
|
extends:
|
|
|
|
- .meson-cross
|
|
|
|
- .use-arm_build
|
2019-09-13 17:59:43 +08:00
|
|
|
variables:
|
|
|
|
VULKAN_DRIVERS: freedreno
|
2019-10-09 01:48:41 +08:00
|
|
|
GALLIUM_DRIVERS: "etnaviv,freedreno,kmsro,lima,nouveau,panfrost,swrast,tegra,v3d,vc4"
|
2019-09-13 17:59:43 +08:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D I-love-half-baked-turnips=true
|
2019-10-09 01:46:11 +08:00
|
|
|
tags:
|
|
|
|
- aarch64
|
|
|
|
|
|
|
|
meson-armhf:
|
|
|
|
extends: .meson-arm
|
|
|
|
variables:
|
|
|
|
CROSS: armhf
|
2019-10-09 01:48:41 +08:00
|
|
|
LLVM_VERSION: "7"
|
2019-09-13 17:59:43 +08:00
|
|
|
|
|
|
|
meson-arm64:
|
2019-10-09 01:46:11 +08:00
|
|
|
extends:
|
|
|
|
- .meson-arm
|
|
|
|
- .ci-deqp-artifacts
|
2019-09-13 17:59:43 +08:00
|
|
|
variables:
|
|
|
|
BUILDTYPE: "debugoptimized"
|
2019-11-12 21:25:16 +08:00
|
|
|
VULKAN_DRIVERS: "freedreno,amd"
|
2019-10-24 00:42:53 +08:00
|
|
|
script:
|
|
|
|
- .gitlab-ci/meson-build.sh
|
|
|
|
- .gitlab-ci/prepare-artifacts.sh
|
2019-09-13 17:59:43 +08:00
|
|
|
|
2019-03-20 22:58:31 +08:00
|
|
|
meson-clang:
|
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
2019-11-19 21:37:32 +08:00
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glvnd=true
|
2019-03-20 22:58:31 +08:00
|
|
|
DRI_DRIVERS: "auto"
|
|
|
|
GALLIUM_DRIVERS: "auto"
|
2019-05-01 19:09:26 +08:00
|
|
|
VULKAN_DRIVERS: intel,amd,freedreno
|
2019-04-05 16:36:29 +08:00
|
|
|
CC: "ccache clang-8"
|
|
|
|
CXX: "ccache clang++-8"
|
2019-03-20 22:58:31 +08:00
|
|
|
|
2019-10-30 16:38:20 +08:00
|
|
|
.meson-windows:
|
2019-10-24 05:36:19 +08:00
|
|
|
extends:
|
|
|
|
- .build-windows
|
|
|
|
before_script:
|
|
|
|
- $ENV:ARCH = "x86"
|
|
|
|
- $ENV:VERSION = "2019\Community"
|
|
|
|
script:
|
|
|
|
- cmd /C .gitlab-ci\meson-build.bat
|
|
|
|
|
2019-05-04 00:19:25 +08:00
|
|
|
scons-swr:
|
|
|
|
extends: .scons-build
|
2019-01-20 19:26:53 +08:00
|
|
|
variables:
|
2019-05-04 00:19:25 +08:00
|
|
|
SCONS_TARGET: "swr=1"
|
|
|
|
SCONS_CHECK_COMMAND: "true"
|
|
|
|
LLVM_VERSION: "6.0"
|
|
|
|
|
|
|
|
scons-win64:
|
|
|
|
extends: .scons-build
|
|
|
|
variables:
|
|
|
|
SCONS_TARGET: platform=windows machine=x86_64
|
|
|
|
SCONS_CHECK_COMMAND: "true"
|
2019-01-21 17:42:37 +08:00
|
|
|
|
2019-05-03 16:58:48 +08:00
|
|
|
meson-clover:
|
2019-01-29 02:05:22 +08:00
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "true"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D egl=false
|
|
|
|
-D gbm=false
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=false
|
|
|
|
-D gallium-vdpau=false
|
|
|
|
-D gallium-xvmc=false
|
|
|
|
-D gallium-omx=disabled
|
|
|
|
-D gallium-va=false
|
|
|
|
-D gallium-xa=false
|
|
|
|
-D gallium-nine=false
|
|
|
|
-D gallium-opencl=icd
|
2019-05-03 16:58:48 +08:00
|
|
|
script:
|
|
|
|
- export GALLIUM_DRIVERS="r600,radeonsi"
|
|
|
|
- .gitlab-ci/meson-build.sh
|
2019-08-21 17:45:25 +08:00
|
|
|
- LLVM_VERSION=8 .gitlab-ci/meson-build.sh
|
2019-05-03 16:58:48 +08:00
|
|
|
- export GALLIUM_DRIVERS="i915,r600"
|
2019-09-06 23:04:47 +08:00
|
|
|
- LLVM_VERSION=6.0 .gitlab-ci/meson-build.sh
|
|
|
|
- LLVM_VERSION=7 .gitlab-ci/meson-build.sh
|
|
|
|
|
|
|
|
meson-clover-old-llvm:
|
2019-09-18 22:17:01 +08:00
|
|
|
extends:
|
|
|
|
- meson-clover
|
2019-11-14 00:43:41 +08:00
|
|
|
- .use-x86_build_old
|
2019-09-06 23:04:47 +08:00
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D egl=false
|
|
|
|
-D gbm=false
|
|
|
|
-D platforms=drm,surfaceless
|
|
|
|
GALLIUM_DRIVERS: "i915,r600"
|
|
|
|
script:
|
2019-05-03 16:58:48 +08:00
|
|
|
- LLVM_VERSION=3.9 .gitlab-ci/meson-build.sh
|
|
|
|
- LLVM_VERSION=4.0 .gitlab-ci/meson-build.sh
|
|
|
|
- LLVM_VERSION=5.0 .gitlab-ci/meson-build.sh
|
2019-01-29 02:09:24 +08:00
|
|
|
|
2019-05-04 00:19:25 +08:00
|
|
|
meson-vulkan:
|
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_LOADERS: >
|
|
|
|
-D glx=disabled
|
|
|
|
-D gbm=false
|
|
|
|
-D egl=false
|
|
|
|
-D platforms=x11,wayland,drm
|
|
|
|
-D osmesa=none
|
|
|
|
GALLIUM_ST: >
|
|
|
|
-D dri3=true
|
|
|
|
-D gallium-vdpau=false
|
|
|
|
-D gallium-xvmc=false
|
|
|
|
-D gallium-omx=disabled
|
|
|
|
-D gallium-va=false
|
|
|
|
-D gallium-xa=false
|
|
|
|
-D gallium-nine=false
|
|
|
|
-D gallium-opencl=disabled
|
2019-09-25 18:56:58 +08:00
|
|
|
-D b_sanitize=undefined
|
|
|
|
-D c_args=-fno-sanitize-recover=all
|
|
|
|
-D cpp_args=-fno-sanitize-recover=all
|
|
|
|
UBSAN_OPTIONS: "print_stacktrace=1"
|
2019-05-04 00:19:25 +08:00
|
|
|
VULKAN_DRIVERS: intel,amd,freedreno
|
2019-08-21 17:45:25 +08:00
|
|
|
LLVM_VERSION: "8"
|
2019-05-09 00:17:23 +08:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D vulkan-overlay-layer=true
|
2019-05-04 00:19:25 +08:00
|
|
|
|
2019-08-08 05:05:51 +08:00
|
|
|
# While the main point of this build is testing the i386 cross build,
|
|
|
|
# we also use this one to test some other options that are exclusive
|
|
|
|
# with meson-main's choices (classic swrast and osmesa)
|
2019-07-12 03:58:28 +08:00
|
|
|
meson-i386:
|
|
|
|
extends: .meson-cross
|
|
|
|
variables:
|
2019-08-10 06:46:50 +08:00
|
|
|
CROSS: i386
|
2019-07-12 03:58:28 +08:00
|
|
|
VULKAN_DRIVERS: intel
|
2019-08-08 05:05:51 +08:00
|
|
|
DRI_DRIVERS: "swrast"
|
|
|
|
GALLIUM_DRIVERS: "iris"
|
2019-07-12 03:58:28 +08:00
|
|
|
EXTRA_OPTION: >
|
|
|
|
-D vulkan-overlay-layer=true
|
2019-08-08 05:05:51 +08:00
|
|
|
-D llvm=false
|
|
|
|
-D osmesa=classic
|
2019-07-12 03:58:28 +08:00
|
|
|
|
2019-10-12 00:04:14 +08:00
|
|
|
meson-mingw32-x86_64:
|
2019-09-20 01:21:51 +08:00
|
|
|
extends: .meson-build
|
|
|
|
variables:
|
|
|
|
UNWIND: "false"
|
|
|
|
DRI_DRIVERS: ""
|
|
|
|
GALLIUM_DRIVERS: "swrast"
|
|
|
|
EXTRA_OPTION: >
|
|
|
|
-Dllvm=false
|
|
|
|
-Dosmesa=gallium
|
|
|
|
--cross-file=.gitlab-ci/x86_64-w64-mingw32
|
|
|
|
|
2019-09-12 17:45:13 +08:00
|
|
|
scons:
|
2019-01-29 00:30:36 +08:00
|
|
|
extends: .scons-build
|
|
|
|
variables:
|
|
|
|
SCONS_TARGET: "llvm=1"
|
2019-10-22 00:29:23 +08:00
|
|
|
SCONS_CHECK_COMMAND: "scons llvm=1 force_scons=1 check"
|
2019-09-12 17:38:06 +08:00
|
|
|
script:
|
2019-10-22 00:29:23 +08:00
|
|
|
- SCONS_TARGET="" SCONS_CHECK_COMMAND="scons check force_scons=1" .gitlab-ci/scons-build.sh
|
2019-09-12 17:38:06 +08:00
|
|
|
- LLVM_VERSION=8 .gitlab-ci/scons-build.sh
|
2019-09-06 23:04:47 +08:00
|
|
|
|
|
|
|
scons-old-llvm:
|
2019-09-18 22:17:01 +08:00
|
|
|
extends:
|
|
|
|
- scons
|
2019-11-14 00:43:41 +08:00
|
|
|
- .use-x86_build_old
|
2019-09-12 17:38:06 +08:00
|
|
|
script:
|
|
|
|
- LLVM_VERSION=3.9 .gitlab-ci/scons-build.sh
|
2019-06-29 07:35:32 +08:00
|
|
|
|
2019-11-18 16:30:27 +08:00
|
|
|
.test:
|
2019-10-15 06:53:15 +08:00
|
|
|
extends:
|
2019-10-22 23:16:52 +08:00
|
|
|
- .ci-run-policy
|
|
|
|
stage: test
|
2019-10-15 06:53:15 +08:00
|
|
|
variables:
|
2019-10-22 23:16:52 +08:00
|
|
|
GIT_STRATEGY: none # testing doesn't build anything from source
|
|
|
|
before_script:
|
2019-06-29 07:35:32 +08:00
|
|
|
# Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
|
|
|
|
- rm -rf install
|
|
|
|
- tar -xf artifacts/install.tar
|
2019-11-14 21:00:46 +08:00
|
|
|
- LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
|
2019-06-29 07:35:32 +08:00
|
|
|
artifacts:
|
2019-11-18 03:33:01 +08:00
|
|
|
when: always
|
2019-06-29 07:35:32 +08:00
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
|
|
|
paths:
|
|
|
|
- results/
|
2019-09-13 17:13:12 +08:00
|
|
|
dependencies:
|
2019-11-19 19:23:41 +08:00
|
|
|
- meson-testing
|
2019-11-18 16:30:27 +08:00
|
|
|
|
|
|
|
.test-gl:
|
|
|
|
extends:
|
|
|
|
- .test
|
|
|
|
variables:
|
|
|
|
TAG: *x86_test-gl
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_test-gl:$TAG"
|
2019-10-22 17:19:17 +08:00
|
|
|
needs:
|
2019-11-19 19:23:41 +08:00
|
|
|
- meson-testing
|
2019-11-18 16:15:12 +08:00
|
|
|
- x86_test-gl
|
2019-06-29 07:35:32 +08:00
|
|
|
|
2019-11-18 16:30:27 +08:00
|
|
|
.test-vk:
|
|
|
|
extends:
|
|
|
|
- .test
|
|
|
|
variables:
|
|
|
|
TAG: *x86_test-vk
|
|
|
|
image: "$CI_REGISTRY_IMAGE/debian/x86_test-vk:$TAG"
|
|
|
|
needs:
|
|
|
|
- meson-testing
|
|
|
|
- x86_test-vk
|
|
|
|
|
2019-10-22 23:16:52 +08:00
|
|
|
.piglit-test:
|
2019-11-18 16:15:12 +08:00
|
|
|
extends: .test-gl
|
2019-11-26 01:42:10 +08:00
|
|
|
artifacts:
|
|
|
|
when: on_failure
|
|
|
|
name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
|
|
|
|
paths:
|
|
|
|
- summary/
|
2019-10-22 23:16:52 +08:00
|
|
|
variables:
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: 1
|
|
|
|
PIGLIT_NO_WINDOW: 1
|
|
|
|
script:
|
|
|
|
- artifacts/piglit/run.sh
|
|
|
|
|
|
|
|
piglit-quick_gl:
|
|
|
|
extends: .piglit-test
|
|
|
|
variables:
|
|
|
|
LP_NUM_THREADS: 0
|
2019-12-03 13:23:45 +08:00
|
|
|
NIR_VALIDATE: 0
|
2019-10-22 23:16:52 +08:00
|
|
|
PIGLIT_OPTIONS: >
|
2019-12-03 17:45:28 +08:00
|
|
|
--process-isolation false
|
2019-10-22 23:16:52 +08:00
|
|
|
-x arb_gpu_shader5
|
2019-12-05 08:13:38 +08:00
|
|
|
-x egl_ext_device_
|
|
|
|
-x egl_ext_platform_device
|
2019-10-22 23:16:52 +08:00
|
|
|
-x glx-multithread-clearbuffer
|
|
|
|
-x glx-multithread-shader-compile
|
|
|
|
-x max-texture-size
|
|
|
|
-x maxsize
|
|
|
|
PIGLIT_PROFILES: quick_gl
|
|
|
|
|
2019-12-03 17:45:28 +08:00
|
|
|
piglit-glslparser:
|
|
|
|
extends: .piglit-test
|
|
|
|
variables:
|
|
|
|
LP_NUM_THREADS: 0
|
2019-12-03 13:23:45 +08:00
|
|
|
NIR_VALIDATE: 0
|
2019-12-03 17:45:28 +08:00
|
|
|
PIGLIT_PROFILES: glslparser
|
|
|
|
|
|
|
|
piglit-quick_shader:
|
2019-10-22 23:16:52 +08:00
|
|
|
extends: .piglit-test
|
|
|
|
variables:
|
|
|
|
LP_NUM_THREADS: 1
|
2019-12-03 13:23:45 +08:00
|
|
|
NIR_VALIDATE: 0
|
2019-12-03 17:45:28 +08:00
|
|
|
PIGLIT_PROFILES: quick_shader
|
2019-10-22 23:16:52 +08:00
|
|
|
|
2019-11-19 15:39:00 +08:00
|
|
|
.deqp-test:
|
2019-10-22 23:16:52 +08:00
|
|
|
variables:
|
|
|
|
DEQP_SKIPS: deqp-default-skips.txt
|
|
|
|
script:
|
|
|
|
- ./artifacts/deqp-runner.sh
|
|
|
|
|
2019-11-19 15:39:00 +08:00
|
|
|
.deqp-test-gl:
|
|
|
|
extends:
|
|
|
|
- .test-gl
|
|
|
|
- .deqp-test
|
|
|
|
|
|
|
|
.deqp-test-vk:
|
|
|
|
extends:
|
|
|
|
- .test-vk
|
|
|
|
- .deqp-test
|
|
|
|
variables:
|
|
|
|
DEQP_VER: vk
|
|
|
|
|
2019-06-29 07:35:32 +08:00
|
|
|
test-llvmpipe-gles2:
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles2
|
ci: Use cts_runner for our dEQP runs.
This runner is a little project by Bas, written in C++, that spawns
threads that then loop grabbing chunks of the (randomly shuffled but
consistently so) test list and hand it to a dEQP instance. As the
remaining list gets shorter, so do the chunks, so hopefully the
threads all complete effectively at once. It also handles restarting
after crashes automatically. I've extended the runner a bit to do
what I was doing in the bash scripts before, like the skip list and
expected failures handling. This project should also be a good
baseline for extending to handle retesting of intermittent failures.
By switching to it, we can have the swrast tests just take up one job
slot on the shared runners and keep their allotment of CPUs busy,
instead of taking up job slots with single-threaded dEQP jobs. It
will also let us (eventually, once I reprovision) switch the freedreno
runners over to threading within the job instead of running concurrent
jobs, so that memory scribbles in one pipeline don't affect unrelated
pipelines, and I can experiment with their parallelism (particularly
on a306 where we are frequently backed up) without trashing other
people's jobs.
What we lose in this process is per-test output in the log (not a big
loss, I think, since we summarize fails at the end and reducing log
length keeps chrome from choking on our logs so badly). We also drop
the renderer sanity checking, since it's not saving qpa files for us
to go poke through. Given that all the drivers involved have fail
lists, if we got the wrong renderer somehow, we'd get a job failure
anyway.
v2: Rebase on droppong of the autoscale cluster and the arm64
build/test split. Use a script to deduplicate the cts-runner
build.
v3: Rebase on the amd64 build/test container split.
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> (v2)
2019-11-05 02:54:41 +08:00
|
|
|
DEQP_PARALLEL: 4
|
2019-12-03 13:23:45 +08:00
|
|
|
NIR_VALIDATE: 0
|
ci: Use cts_runner for our dEQP runs.
This runner is a little project by Bas, written in C++, that spawns
threads that then loop grabbing chunks of the (randomly shuffled but
consistently so) test list and hand it to a dEQP instance. As the
remaining list gets shorter, so do the chunks, so hopefully the
threads all complete effectively at once. It also handles restarting
after crashes automatically. I've extended the runner a bit to do
what I was doing in the bash scripts before, like the skip list and
expected failures handling. This project should also be a good
baseline for extending to handle retesting of intermittent failures.
By switching to it, we can have the swrast tests just take up one job
slot on the shared runners and keep their allotment of CPUs busy,
instead of taking up job slots with single-threaded dEQP jobs. It
will also let us (eventually, once I reprovision) switch the freedreno
runners over to threading within the job instead of running concurrent
jobs, so that memory scribbles in one pipeline don't affect unrelated
pipelines, and I can experiment with their parallelism (particularly
on a306 where we are frequently backed up) without trashing other
people's jobs.
What we lose in this process is per-test output in the log (not a big
loss, I think, since we summarize fails at the end and reducing log
length keeps chrome from choking on our logs so badly). We also drop
the renderer sanity checking, since it's not saving qpa files for us
to go poke through. Given that all the drivers involved have fail
lists, if we got the wrong renderer somehow, we'd get a job failure
anyway.
v2: Rebase on droppong of the autoscale cluster and the arm64
build/test split. Use a script to deduplicate the cts-runner
build.
v3: Rebase on the amd64 build/test container split.
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> (v2)
2019-11-05 02:54:41 +08:00
|
|
|
# Don't use threads inside llvmpipe, we've already got all 4 cores
|
|
|
|
# busy with DEQP_PARALLEL.
|
|
|
|
LP_NUM_THREADS: 0
|
2019-06-29 07:35:32 +08:00
|
|
|
DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
|
|
|
|
LIBGL_ALWAYS_SOFTWARE: "true"
|
2019-11-18 16:15:12 +08:00
|
|
|
extends: .deqp-test-gl
|
2019-08-10 01:32:40 +08:00
|
|
|
|
|
|
|
test-softpipe-gles2:
|
2019-09-12 00:55:43 +08:00
|
|
|
extends: test-llvmpipe-gles2
|
2019-08-10 01:32:40 +08:00
|
|
|
variables:
|
|
|
|
DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
|
ci: Use cts_runner for our dEQP runs.
This runner is a little project by Bas, written in C++, that spawns
threads that then loop grabbing chunks of the (randomly shuffled but
consistently so) test list and hand it to a dEQP instance. As the
remaining list gets shorter, so do the chunks, so hopefully the
threads all complete effectively at once. It also handles restarting
after crashes automatically. I've extended the runner a bit to do
what I was doing in the bash scripts before, like the skip list and
expected failures handling. This project should also be a good
baseline for extending to handle retesting of intermittent failures.
By switching to it, we can have the swrast tests just take up one job
slot on the shared runners and keep their allotment of CPUs busy,
instead of taking up job slots with single-threaded dEQP jobs. It
will also let us (eventually, once I reprovision) switch the freedreno
runners over to threading within the job instead of running concurrent
jobs, so that memory scribbles in one pipeline don't affect unrelated
pipelines, and I can experiment with their parallelism (particularly
on a306 where we are frequently backed up) without trashing other
people's jobs.
What we lose in this process is per-test output in the log (not a big
loss, I think, since we summarize fails at the end and reducing log
length keeps chrome from choking on our logs so badly). We also drop
the renderer sanity checking, since it's not saving qpa files for us
to go poke through. Given that all the drivers involved have fail
lists, if we got the wrong renderer somehow, we'd get a job failure
anyway.
v2: Rebase on droppong of the autoscale cluster and the arm64
build/test split. Use a script to deduplicate the cts-runner
build.
v3: Rebase on the amd64 build/test container split.
Acked-by: Daniel Stone <daniels@collabora.com> (v1)
Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> (v2)
2019-11-05 02:54:41 +08:00
|
|
|
DEQP_SKIPS: deqp-softpipe-skips.txt
|
2019-08-10 01:32:40 +08:00
|
|
|
GALLIUM_DRIVER: "softpipe"
|
|
|
|
|
2019-11-06 02:31:29 +08:00
|
|
|
test-softpipe-gles3:
|
|
|
|
parallel: 2
|
2019-08-10 01:32:40 +08:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
2019-11-06 02:31:29 +08:00
|
|
|
extends: test-softpipe-gles2
|
|
|
|
|
|
|
|
test-softpipe-gles31:
|
|
|
|
parallel: 4
|
|
|
|
variables:
|
|
|
|
DEQP_VER: gles31
|
|
|
|
extends: test-softpipe-gles2
|
2019-06-29 07:35:32 +08:00
|
|
|
|
2019-09-12 00:55:43 +08:00
|
|
|
arm64_a630_gles2:
|
2019-11-12 01:13:28 +08:00
|
|
|
extends:
|
2019-11-18 16:15:12 +08:00
|
|
|
- .deqp-test-gl
|
2019-11-12 01:13:28 +08:00
|
|
|
- .use-arm_test
|
2019-06-29 07:35:32 +08:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles2
|
|
|
|
DEQP_EXPECTED_FAILS: deqp-freedreno-a630-fails.txt
|
|
|
|
DEQP_SKIPS: deqp-freedreno-a630-skips.txt
|
|
|
|
NIR_VALIDATE: 0
|
2019-11-21 21:12:58 +08:00
|
|
|
DEQP_PARALLEL: 4
|
2019-11-18 03:33:01 +08:00
|
|
|
FLAKES_CHANNEL: "#freedreno-ci"
|
2019-06-29 07:35:32 +08:00
|
|
|
tags:
|
|
|
|
- mesa-cheza
|
|
|
|
dependencies:
|
|
|
|
- meson-arm64
|
|
|
|
|
2019-09-12 00:55:43 +08:00
|
|
|
arm64_a630_gles31:
|
|
|
|
extends: arm64_a630_gles2
|
2019-06-29 07:35:32 +08:00
|
|
|
variables:
|
2019-09-12 00:55:43 +08:00
|
|
|
DEQP_VER: gles31
|
2019-06-29 07:35:32 +08:00
|
|
|
|
|
|
|
arm64_a630_gles3:
|
2019-09-12 00:55:43 +08:00
|
|
|
extends: arm64_a630_gles2
|
2019-06-29 07:35:32 +08:00
|
|
|
variables:
|
|
|
|
DEQP_VER: gles3
|
|
|
|
|
2019-09-12 00:55:43 +08:00
|
|
|
arm64_a306_gles2:
|
|
|
|
extends: arm64_a630_gles2
|
2019-06-29 07:35:32 +08:00
|
|
|
variables:
|
2019-09-12 00:55:43 +08:00
|
|
|
DEQP_EXPECTED_FAILS: deqp-freedreno-a307-fails.txt
|
|
|
|
DEQP_SKIPS: deqp-default-skips.txt
|
|
|
|
tags:
|
|
|
|
- db410c
|
2019-11-13 18:03:52 +08:00
|
|
|
|
|
|
|
# RADV CI
|
|
|
|
.test-radv:
|
|
|
|
variables:
|
|
|
|
VK_DRIVER: radeon
|
2019-12-07 00:07:35 +08:00
|
|
|
RADV_DEBUG: checkir
|
2019-11-13 18:03:52 +08:00
|
|
|
# Can only be triggered manually on personal branches because RADV is the only
|
|
|
|
# driver that does Vulkan testing at the moment.
|
|
|
|
rules:
|
|
|
|
# Never test RADV by default in the main project.
|
|
|
|
- if: '$CI_PROJECT_PATH == "mesa/mesa"'
|
|
|
|
when: never
|
|
|
|
# Never test RADV by default for merge requests.
|
|
|
|
- if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
|
|
|
|
when: never
|
|
|
|
# Otherwise, allow testing RADV if the test image for VK has been manually
|
|
|
|
# started.
|
|
|
|
- when: on_success
|
|
|
|
|
|
|
|
radv_polaris10_vkcts:
|
|
|
|
extends:
|
|
|
|
- .deqp-test-vk
|
|
|
|
- .test-radv
|
|
|
|
variables:
|
|
|
|
DEQP_PARALLEL: 4
|
|
|
|
DEQP_SKIPS: deqp-radv-polaris10-skips.txt
|
|
|
|
tags:
|
|
|
|
- polaris10
|