Files
third_party_mesa3d/.gitlab-ci/lava-gitlab-ci.yml
Tomeu Vizoso 6c8b921572 ci: Build kernels and rootfs for x86 devices
For testing Mesa on LAVA devices with the amd64 architecture, build
kernels and rootfs in the same way as we do for arm64 and armhf.

Also add a few trivial jobs for a specific AMD Chromebook.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Reviewed-by: Rohan Garg <rohan.garg@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5903>
2020-07-29 12:41:45 +00:00

301 lines
7.9 KiB
YAML

variables:
DISTRIBUTION_TAG: "2020-07-28-x86"
.kernel+rootfs:
stage: container-2
extends:
- .ci-run-policy
variables:
GIT_STRATEGY: fetch
KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
UPLOAD_FOR_LAVA: 1
script:
- .gitlab-ci/container/lava_build.sh
kernel+rootfs_amd64:
extends:
- .use-x86_build-base
- .kernel+rootfs
image: "$CI_REGISTRY_IMAGE/debian/x86_build-base:$BASE_TAG"
variables:
DEBIAN_ARCH: "amd64"
kernel+rootfs_arm64:
extends:
- .use-arm_build
- .kernel+rootfs
tags:
- aarch64
variables:
DEBIAN_ARCH: "arm64"
kernel+rootfs_armhf:
extends:
- kernel+rootfs_arm64
variables:
DEBIAN_ARCH: "armhf"
.lava-test:
extends:
- .ci-run-policy
# Cancel job if a newer commit is pushed to the same branch
interruptible: true
variables:
GIT_STRATEGY: none # testing doesn't build anything from source
ENV_VARS: "DEQP_PARALLEL=6"
FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_JOB_ID=${CI_JOB_ID} CI_PROJECT_PATH=${CI_PROJECT_PATH} TRACIE_NO_UNIT_TESTS=1 TRACIE_UPLOAD_TO_MINIO=1"
DEQP_VERSION: gles2
ARTIFACTS_PREFIX: "https://minio-packet.freedesktop.org/mesa-lava/"
MESA_URL: "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/mesa-${ARCH}.tar.gz"
script:
# Try to use the kernel and rootfs built in mainline first, to save cycles
- >
if wget -q --method=HEAD "${ARTIFACTS_PREFIX}/mesa/mesa/${DISTRIBUTION_TAG}/${ARCH}/done"; then
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/mesa/mesa/${DISTRIBUTION_TAG}/${ARCH}"
else
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}"
fi
- >
artifacts/generate_lava.py \
--template artifacts/lava-${TEST_SUITE}.yml.jinja2 \
--pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
--base-artifacts-url ${ARTIFACTS_URL} \
--mesa-url ${MESA_URL} \
--device-type ${DEVICE_TYPE} \
--dtb ${DTB} \
--env-vars "${ENV_VARS} ${FIXED_ENV_VARS}" \
--deqp-version ${DEQP_VERSION} \
--kernel-image-name ${KERNEL_IMAGE_NAME} \
--kernel-image-type "${KERNEL_IMAGE_TYPE}" \
--gpu-version ${GPU_VERSION} \
--boot-method ${BOOT_METHOD} \
--lava-tags "${LAVA_TAGS}" \
--ci-node-index "${CI_NODE_INDEX}" \
--ci-node-total "${CI_NODE_TOTAL}"
- lava_job_id=`lavacli jobs submit lava-${TEST_SUITE}.yml` || lavacli jobs submit lava-${TEST_SUITE}.yml
- echo $lava_job_id
- rm -rf artifacts/*
- cp lava-${TEST_SUITE}.yml artifacts/.
- lavacli jobs logs $lava_job_id | tee artifacts/lava-${TEST_SUITE}-$lava_job_id.log
- lavacli jobs show $lava_job_id
- result=`lavacli results $lava_job_id 0_${TEST_SUITE} ${TEST_SUITE} | head -1`
- echo $result
- '[[ "$result" == "pass" ]]'
artifacts:
name: "mesa_${CI_JOB_NAME}"
when: always
paths:
- artifacts/
.lava-test:armhf:
variables:
ARCH: armhf
KERNEL_IMAGE_NAME: zImage
KERNEL_IMAGE_TYPE: "type:\ zimage"
BOOT_METHOD: u-boot
TEST_SUITE: "deqp"
extends:
- .lava-test
- .use-arm_build
needs:
- kernel+rootfs_armhf
- meson-armhf
.lava-test:arm64:
variables:
ARCH: arm64
KERNEL_IMAGE_NAME: Image
KERNEL_IMAGE_TYPE: "type:\ image"
BOOT_METHOD: u-boot
TEST_SUITE: "deqp"
extends:
- .lava-test
- .use-arm_build
dependencies:
- meson-arm64
needs:
- kernel+rootfs_arm64
- meson-arm64
.lava-test:amd64:
variables:
ARCH: amd64
KERNEL_IMAGE_NAME: bzImage
KERNEL_IMAGE_TYPE: "type:\ zimage"
BOOT_METHOD: u-boot
TEST_SUITE: "deqp"
extends:
- .lava-test
- .use-arm_build
needs:
- kernel+rootfs_amd64
- meson-testing
.lava-traces:amd64:
variables:
TEST_SUITE: "tracie"
extends:
- .lava-test:amd64
.lava-traces:armhf:
variables:
TEST_SUITE: "tracie"
extends:
- .lava-test:armhf
.lava-traces:arm64:
variables:
TEST_SUITE: "tracie"
extends:
- .lava-test:arm64
panfrost-t720-gles2:arm64:
extends:
- .lava-test:arm64
- .panfrost-rules
variables:
DEVICE_TYPE: sun50i-h6-pine-h64
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t720
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
tags:
- mesa-ci-aarch64-lava-collabora
panfrost-t760-gles2:armhf:
extends:
- .lava-test:armhf
- .panfrost-rules
variables:
DEVICE_TYPE: rk3288-veyron-jaq
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t760
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
tags:
- mesa-ci-aarch64-lava-collabora
.panfrost-t760-traces:armhf:
extends:
- .lava-traces:armhf
- .panfrost-rules
variables:
DEVICE_TYPE: rk3288-veyron-jaq
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t760
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330"
tags:
- mesa-ci-aarch64-lava-collabora
.lava-rk3399-gru-kevin:
extends:
- .panfrost-rules
variables:
DEVICE_TYPE: rk3399-gru-kevin
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t860
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
tags:
- mesa-ci-aarch64-lava-collabora
panfrost-t860-gles2:arm64:
extends:
- .lava-test:arm64
- .lava-rk3399-gru-kevin
variables:
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
panfrost-t860-gles3:arm64:
parallel: 2
extends:
- .lava-test:arm64
- .lava-rk3399-gru-kevin
variables:
DEQP_VERSION: gles3
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
panfrost-t860-traces:arm64:
extends:
- .lava-traces:arm64
- .lava-rk3399-gru-kevin
variables:
ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330"
.panfrost-t820-gles2:arm64:
extends:
- .lava-test:arm64
- .panfrost-rules
variables:
DEVICE_TYPE: meson-gxm-khadas-vim2
DTB: ${DEVICE_TYPE}
GPU_VERSION: panfrost-t820
LAVA_TAGS: panfrost
ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
tags:
- mesa-ci-aarch64-lava-baylibre
.lima-mali400-test:armhf:
parallel: 2
extends:
- .lava-test:armhf
- .lima-rules
variables:
DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
DTB: ${DEVICE_TYPE}
GPU_VERSION: lima
ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
tags:
- mesa-ci-aarch64-lava-baylibre
.lima-mali450-test:arm64:
extends:
- .lava-test:arm64
- .lima-rules
variables:
DEVICE_TYPE: meson-gxl-s905x-libretech-cc
DTB: ${DEVICE_TYPE}
GPU_VERSION: lima
ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
tags:
- mesa-ci-aarch64-lava-baylibre
# Commented out while waiting for more DUTs to come online
.radeonsi-stoney-gles2:amd64:
extends:
- .lava-test:amd64
- .radeonsi-rules
variables:
DEVICE_TYPE: hp-11A-G6-EE-grunt
DTB: ""
GPU_VERSION: radeonsi-stoney
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
ENV_VARS: "DEQP_PARALLEL=4 DEQP_EXPECTED_RENDERER=STONEY NIR_VALIDATE=0"
tags:
- mesa-ci-aarch64-lava-collabora
# Commented out while waiting for more DUTs to come online
.radeonsi-stoney-gles3:amd64:
extends:
- .radeonsi-stoney-gles2:amd64
variables:
DEQP_VERSION: gles3
tags:
- mesa-ci-aarch64-lava-collabora
radeonsi-stoney-traces:amd64:
extends:
- .lava-traces:amd64
- .radeonsi-rules
variables:
DEVICE_TYPE: hp-11A-G6-EE-grunt
DTB: ""
GPU_VERSION: radeonsi-stoney
BOOT_METHOD: depthcharge
KERNEL_IMAGE_TYPE: ""
tags:
- mesa-ci-aarch64-lava-collabora