mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-12-26 10:34:17 +08:00
a47e4016c1
Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Acked-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10139>
144 lines
4.6 KiB
YAML
144 lines
4.6 KiB
YAML
.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_PAGES_DOMAIN=${CI_PAGES_DOMAIN} CI_PROJECT_NAME=${CI_PROJECT_NAME} CI_PROJECT_PATH=${CI_PROJECT_PATH} CI_PROJECT_ROOT_NAMESPACE=${CI_PROJECT_ROOT_NAMESPACE} CI_JOB_JWT=${CI_JOB_JWT} CI_SERVER_URL=${CI_SERVER_URL} DRIVER_NAME=${DRIVER_NAME} FDO_UPSTREAM_REPO=${FDO_UPSTREAM_REPO} PIGLIT_NO_WINDOW=1 PIGLIT_REPLAY_UPLOAD_TO_MINIO=1 MINIO_HOST=${MINIO_HOST} LAVA_TEST_SCRIPT=${LAVA_TEST_SCRIPT} TEST_SUITE=${TEST_SUITE}"
|
|
DEQP_VERSION: gles2
|
|
ARTIFACTS_PREFIX: "https://${MINIO_HOST}/mesa-lava"
|
|
MESA_URL: "https://${MINIO_HOST}/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}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${ARCH}/done"; then
|
|
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${FDO_UPSTREAM_REPO}/${DISTRIBUTION_TAG}/${ARCH}"
|
|
else
|
|
ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}"
|
|
fi
|
|
- rm -rf results
|
|
- mkdir -p results
|
|
- >
|
|
artifacts/generate_lava.py \
|
|
--template artifacts/lava.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.yml` || lavacli jobs submit lava.yml
|
|
- echo $lava_job_id
|
|
- cp lava.yml results/.
|
|
- lavacli jobs logs $lava_job_id | tee results/lava-$lava_job_id.log
|
|
- lavacli jobs show $lava_job_id
|
|
- result=`lavacli results $lava_job_id 0_mesa mesa | head -1`
|
|
- echo $result
|
|
- '[[ "$result" == "pass" ]]'
|
|
artifacts:
|
|
name: "mesa_${CI_JOB_NAME}"
|
|
when: always
|
|
paths:
|
|
- results/
|
|
exclude:
|
|
- results/*.shader_cache
|
|
after_script:
|
|
- wget -q "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/${CI_JOB_ID}/results.tar.gz" -O- | tar -xz
|
|
|
|
.lava-test:armhf:
|
|
variables:
|
|
ARCH: armhf
|
|
KERNEL_IMAGE_NAME: zImage
|
|
KERNEL_IMAGE_TYPE: "type:\ zimage"
|
|
BOOT_METHOD: u-boot
|
|
TEST_SUITE: "deqp"
|
|
LAVA_TEST_SCRIPT: "/install/deqp-runner.sh"
|
|
extends:
|
|
- .lava-test
|
|
- .use-arm_build
|
|
- .use-kernel+rootfs-arm
|
|
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"
|
|
LAVA_TEST_SCRIPT: "/install/deqp-runner.sh"
|
|
extends:
|
|
- .lava-test
|
|
- .use-arm_build
|
|
- .use-kernel+rootfs-arm
|
|
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"
|
|
LAVA_TEST_SCRIPT: "/install/deqp-runner.sh"
|
|
extends:
|
|
- .use-x86_build-base # for same $MESA_BASE_TAG as in kernel+rootfs_amd64
|
|
- .use-arm_build # ARM because it must match the architecture of the runner
|
|
- .lava-test
|
|
- .use-kernel+rootfs-amd64
|
|
needs:
|
|
- kernel+rootfs_amd64
|
|
- arm_build # ARM because it must match the architecture of the runner
|
|
- meson-testing
|
|
|
|
.lava-traces-base:
|
|
variables:
|
|
LAVA_TEST_SCRIPT: "/install/piglit/run.sh"
|
|
artifacts:
|
|
reports:
|
|
junit: results/junit.xml
|
|
|
|
.lava-piglit:
|
|
variables:
|
|
TEST_SUITE: "piglit"
|
|
LAVA_TEST_SCRIPT: "/install/piglit/piglit-runner.sh"
|
|
|
|
.lava-piglit-traces:amd64:
|
|
extends:
|
|
- .lava-test:amd64
|
|
- .lava-piglit
|
|
- .lava-traces-base
|
|
|
|
.lava-piglit-traces:armhf:
|
|
extends:
|
|
- .lava-test:armhf
|
|
- .lava-piglit
|
|
- .lava-traces-base
|
|
|
|
.lava-piglit-traces:arm64:
|
|
extends:
|
|
- .lava-test:arm64
|
|
- .lava-piglit
|
|
- .lava-traces-base
|
|
|
|
.lava-piglit:amd64:
|
|
extends:
|
|
- .lava-test:amd64
|
|
- .lava-piglit
|