variables:
- UPSTREAM_REPO: mesa/mesa
+ FDO_UPSTREAM_REPO: mesa/mesa
include:
- - project: 'wayland/ci-templates'
- ref: b7030c2cd0d6ccc5f6d4f8299bafa4daa9240d71
+ - project: 'freedesktop/ci-templates'
+ ref: a1699326519fd28526485ce93464e33423bac564
file: '/templates/debian.yml'
- local: '.gitlab-ci/lava-gitlab-ci.yml'
- local: '.gitlab-ci/test-source-dep.yml'
- softpipe
- freedreno
- panfrost
- - misc-tests
+ - radv
+ - lima
- success
# Build the CI docker images.
#
-# DEBIAN_TAG is the tag of the docker image used by later stage jobs. If the
+# FDO_DISTRIBUTION_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.
extends:
- .ci-run-policy
variables:
- DEBIAN_VERSION: buster-slim
- REPO_SUFFIX: $CI_JOB_NAME
- DEBIAN_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
+ FDO_DISTRIBUTION_VERSION: buster-slim
+ FDO_REPO_SUFFIX: $CI_JOB_NAME
+ FDO_DISTRIBUTION_EXEC: 'bash .gitlab-ci/container/${CI_JOB_NAME}.sh'
# no need to pull the whole repo to build the container image
GIT_STRATEGY: none
# Debian 10 based x86 build image
x86_build:
extends:
- - .debian@container-ifnot-exists
+ - .fdo.container-ifnot-exists@debian
- .container
variables:
- DEBIAN_TAG: &x86_build "2020-03-13"
+ FDO_DISTRIBUTION_TAG: &x86_build "2020-03-13"
.use-x86_build:
variables:
x86_test-gl:
extends: x86_build
variables:
- DEBIAN_TAG: &x86_test-gl "2020-03-13"
+ FDO_DISTRIBUTION_TAG: &x86_test-gl "2020-03-13"
# Debian 10 based x86 test image for VK
x86_test-vk:
extends: x86_build
variables:
- DEBIAN_TAG: &x86_test-vk "2020-03-16"
+ FDO_DISTRIBUTION_TAG: &x86_test-vk "2020-03-23"
# Debian 9 based x86 build image (old LLVM)
x86_build_old:
extends: x86_build
variables:
- DEBIAN_TAG: &x86_build_old "2019-09-18"
- DEBIAN_VERSION: stretch-slim
+ FDO_DISTRIBUTION_TAG: &x86_build_old "2019-09-18"
+ FDO_DISTRIBUTION_VERSION: stretch-slim
.use-x86_build_old:
variables:
# Debian 10 based ARM build image
arm_build:
extends:
- - .debian@container-ifnot-exists@arm64v8
+ - .fdo.container-ifnot-exists@debian@arm64v8
- .container
variables:
- DEBIAN_TAG: &arm_build "2020-03-13"
+ FDO_DISTRIBUTION_TAG: &arm_build "2020-03-17-db820c"
.use-arm_build:
variables:
arm_test:
extends: arm_build
variables:
- DEBIAN_TAG: &arm_test "2020-01-30"
+ FDO_DISTRIBUTION_TAG: &arm_test "2020-01-30"
.use-arm_test:
variables:
variables:
CROSS: i386
VULKAN_DRIVERS: intel,amd
- GALLIUM_DRIVERS: "iris"
+ GALLIUM_DRIVERS: "iris,r300,radeonsi,swrast,virgl"
EXTRA_OPTION: >
-D vulkan-overlay-layer=true
-D werror=true
meson-s390x:
extends:
- .meson-cross
+ tags:
+ - kvm
variables:
CROSS: s390x
GALLIUM_DRIVERS: "swrast"
DEQP_VER: gles31
extends: softpipe-gles2
+# Rules for tests that should not be present in MRs or the main
+# project's pipeline (don't block marge or report red on
+# mesa/mesamaster) but should be present on pipelines in personal
+# branches (so you can opt in to running the flaky test when you want
+# to).
+.test-manual:
+ rules:
+ # Never test in the main project.
+ - if: '$CI_PROJECT_PATH == "mesa/mesa"'
+ when: never
+ # Never test in merge requests.
+ - if: '$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $CI_COMMIT_REF_NAME'
+ when: never
+ # Otherwise, allow testing manually for personal branches.
+ - when: manual
+
arm64_a630_gles2:
extends:
- .deqp-test-gl
extends:
- .baremetal-test
- .use-arm_build
- stage: freedreno
+ - .freedreno-rules
variables:
- BM_KERNEL: /lava-files/Image
+ BM_KERNEL: /lava-files/Image.gz
BM_DTB: /lava-files/apq8016-sbc.dtb
BM_ROOTFS: /lava-files/rootfs-arm64
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
- google-freedreno-db410c
# Disabled due to flaky results
-.arm64_a306_gles3:
+arm64_a306_gles3:
extends:
- arm64_a306_gles2
+ - .test-manual
parallel: 8
variables:
DEQP_VER: gles3
+arm64_a530_gles2:
+ extends:
+ - arm64_a306_gles2
+ stage: freedreno
+ variables:
+ BM_KERNEL: /lava-files/db820c-kernel
+ BM_DTB: /lava-files/db820c.dtb
+ BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
+ DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
+ DEQP_SKIPS: deqp-freedreno-a530-skips.txt
+ tags:
+ - google-freedreno-db820c
+
+arm64_a530_gles3:
+ extends:
+ - arm64_a530_gles2
+ - .test-manual
+ parallel: 6
+ variables:
+ DEQP_VER: gles3
+
# RADV CI
.test-radv:
extends: .radv-rules
- stage: misc-tests
+ stage: radv
variables:
VK_DRIVER: radeon
RADV_DEBUG: checkir
-.test-radv-unsafe:
- extends: .test-radv
- # 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 manually for personal branches.
- - when: manual
-
.test-radv-fossilize:
extends:
- .fossilize-test
- .test-radv
+ script:
+ - ./artifacts/fossilize-runner.sh
+ - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./artifacts/fossilize-runner.sh
+# Can only be triggered manually on personal branches because RADV is the only
+# driver that does Vulkan testing at the moment.
radv_polaris10_vkcts:
extends:
- .deqp-test-vk
- - .test-radv-unsafe
+ - .test-radv
+ - .test-manual
variables:
DEQP_SKIPS: deqp-radv-polaris10-skips.txt
tags:
- polaris10
-radv-polaris10-fossils:
- extends: .test-radv-fossilize
- variables:
- RADV_FORCE_FAMILY: "polaris10" # Force creating a null device
+radv-fossils:
+ extends:
+ - .fossilize-test
+ - .test-radv
+ script:
+ # Polaris10
+ - export RADV_FORCE_FAMILY="polaris10"
+ - ./artifacts/fossilize-runner.sh
+ - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./artifacts/fossilize-runner.sh
+ # Vega10
+ - export RADV_FORCE_FAMILY="gfx900"
+ - ./artifacts/fossilize-runner.sh
+ - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./artifacts/fossilize-runner.sh
+ # Navi10
+ - export RADV_FORCE_FAMILY="gfx1010"
+ - ./artifacts/fossilize-runner.sh
+ - ACO_DEBUG=validateir,validatera RADV_PERFTEST=aco ./artifacts/fossilize-runner.sh
# Traces CI
.traces-test:
- stage: misc-tests
cache:
key: ${CI_JOB_NAME}
paths:
radv-polaris10-traces:
extends:
- .traces-test-vk
- - .test-radv-unsafe
+ - .test-radv
+ - .test-manual
variables:
DEVICE_NAME: "vk-amd-polaris10"
tags: