gitlab-ci: add a job that runs Vulkan CTS with RADV conditionally
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Wed, 13 Nov 2019 10:03:52 +0000 (11:03 +0100)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Fri, 6 Dec 2019 09:58:03 +0000 (10:58 +0100)
Only Polaris10 is tested at the moment, and I disabled a TON of
tests to keep a CTS run within 5 minutes because my local runner
is a bit slow. A full CTS run takes more than 1h, which means it
will hit the timeout.

RADV CI can only be triggered manually on personal branches to
avoid breaking the world because one runner is definitely not
enough. This will allow us to test it until it's stable enough
to be enabled by default.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Acked-by: Michel Dänzer <mdaenzer@redhat.com>
.gitlab-ci.yml
.gitlab-ci/deqp-radv-polaris10-skips.txt [new file with mode: 0644]

index 4db40a34a490515e67e6e0506cac1e22379c0bc5..079af449c8f68df85cada6b51e79a22b8bddf320 100644 (file)
@@ -116,6 +116,18 @@ x86_test-vk:
   extends: x86_build
   variables:
     DEBIAN_TAG: &x86_test-vk "2019-11-22"
+  # 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
+
 
 # Debian 9 based x86 build image (old LLVM)
 x86_build_old:
@@ -626,3 +638,30 @@ arm64_a306_gles2:
     DEQP_SKIPS: deqp-default-skips.txt
   tags:
     - db410c
+
+# RADV CI
+.test-radv:
+  variables:
+    VK_DRIVER: radeon
+  # 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
diff --git a/.gitlab-ci/deqp-radv-polaris10-skips.txt b/.gitlab-ci/deqp-radv-polaris10-skips.txt
new file mode 100644 (file)
index 0000000..d44343f
--- /dev/null
@@ -0,0 +1,31 @@
+# Disable a TON of tests to keep the run around 5-10 minutes because my runner is
+# slow.
+dEQP-VK.api.*
+dEQP-VK.binding_model.*
+dEQP-VK.clipping.*
+dEQP-VK.compute.*
+dEQP-VK.conditional_rendering.*
+dEQP-VK.descriptor_indexing.*
+dEQP-VK.device_group.*
+dEQP-VK.fragment_operations.*
+dEQP-VK.fragment_shader_interlock.*
+dEQP-VK.graphicsfuzz.*
+dEQP-VK.image.*
+dEQP-VK.imageless_framebuffer.*
+dEQP-VK.info.*
+dEQP-VK.memory.*
+dEQP-VK.memory_model.*
+dEQP-VK.multiview.*
+dEQP-VK.pipeline.*
+dEQP-VK.protected_memory.*
+dEQP-VK.query_pool.*
+dEQP-VK.robustness.*
+dEQP-VK.sparse_resources.*
+dEQP-VK.spirv_assembly.*
+dEQP-VK.subgroups.*
+dEQP-VK.synchronization.*
+dEQP-VK.texture.*
+dEQP-VK.transform_feedback.*
+dEQP-VK.ubo.*
+dEQP-VK.wsi.*
+dEQP-VK.ycbcr.*