summaryrefslogtreecommitdiffstats
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2019-06-28 16:35:32 -0700
committerEric Anholt <[email protected]>2019-08-13 10:30:01 -0700
commit46daaca55e0dd230fc27922f473982130207a549 (patch)
treea44118ab130d97b1defb13c6eabd483c3fb00bee /.gitlab-ci.yml
parentab49873b4422eb087b6257265e30799ce8d4728d (diff)
gitlab-ci: Run the GLES2 CTS on llvmpipe.
This is the start of doing CTS tests on merges to Mesa master. We use the surfaceless platform so that we don't need to bother bringing up weston or X11. The surface size is kept low to reduce runtime, but this comes at the cost of many rendering tests skipping due to too-small render targets (as we see the impact of Mesa on the shared runner pool, we can reevaluate this and what set of CTS tests we want to run). We split the job up across 4 runners (each at 4 llvmpipe threads), so that the job can load-balance across our shared runners and finish sooner (since dEQP is very single-thread-performance bound). Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r--.gitlab-ci.yml46
1 files changed, 46 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index aca5d7624d0..22aa424b7ae 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -26,6 +26,7 @@ include:
stages:
- containers-build
- build+test
+ - test
# When to automatically run the CI
@@ -39,6 +40,14 @@ stages:
when:
- runner_system_failure
+.ci-deqp-artifacts: &ci-deqp-artifacts
+ 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
# CONTAINERS
@@ -77,6 +86,12 @@ debian:
- ccache --zero-stats || true
- ccache --show-stats || true
after_script:
+ # In case the install dir is being saved as artifacts, tar it up
+ # so that symlinks and hardlinks aren't each packed separately in
+ # the zip file.
+ - if [ -d install ]; then
+ tar -cf artifacts/install.tar install;
+ fi
- export CCACHE_DIR="$PWD/ccache"
- ccache --show-stats
@@ -176,6 +191,7 @@ meson-main:
-D tools=all
MESON_SHADERDB: "true"
BUILDTYPE: "debugoptimized"
+ <<: *ci-deqp-artifacts
meson-clover:
extends: .meson-build
@@ -247,6 +263,7 @@ meson-vulkan:
-D gallium-xa=false
-D gallium-nine=false
-D llvm=false
+ <<: *ci-deqp-artifacts
script:
- .gitlab-ci/meson-build.sh
@@ -306,3 +323,32 @@ scons-llvm:
LLVM_VERSION: "3.4"
# LLVM 3.4 packages were built with an old libstdc++ ABI
CXX: "g++ -D_GLIBCXX_USE_CXX11_ABI=0"
+
+.deqp-test:
+ <<: *ci-run-policy
+ stage: test
+ image: $DEBIAN_IMAGE
+ variables:
+ GIT_STRATEGY: none # testing doesn't build anything from source
+ DEQP_SKIPS: deqp-default-skips.txt
+ script:
+ # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
+ - rm -rf install
+ - tar -xf artifacts/install.tar
+ - ./artifacts/deqp-runner.sh
+ artifacts:
+ when: on_failure
+ name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME"
+ paths:
+ - results/
+
+test-llvmpipe-gles2:
+ parallel: 4
+ variables:
+ DEQP_VER: gles2
+ DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
+ LIBGL_ALWAYS_SOFTWARE: "true"
+ DEQP_RENDERER_MATCH: "llvmpipe"
+ extends: .deqp-test
+ dependencies:
+ - meson-main