.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_DIR=${CI_PROJECT_DIR} 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} VK_DRIVER=${VK_DRIVER} FLAKES_CHANNEL=${FLAKES_CHANNEL}" DEQP_VERSION: gles2 ARTIFACTS_PREFIX: "https://${MINIO_HOST}/mesa-lava" MESA_URL: "http://caching-proxy/cache/?uri=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/lava_job_submitter.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}" | tee results/lava.log - cp lava.yml results/. 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: - .use-arm_build # for same $MESA_ARTIFACTS_TAG as in kernel+rootfs_armhf - .use-x86_build - .lava-test - .use-kernel+rootfs-arm needs: - kernel+rootfs_armhf - x86_build - 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: - .use-arm_build # for same $MESA_ARTIFACTS_TAG as in kernel+rootfs_arm64 - .use-x86_build - .lava-test - .use-kernel+rootfs-arm dependencies: - meson-arm64 needs: - kernel+rootfs_arm64 - x86_build - 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_ARTIFACTS_BASE_TAG as in kernel+rootfs_amd64 - .use-x86_build - .lava-test - .use-kernel+rootfs-amd64 needs: - kernel+rootfs_amd64 - 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