X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci%2Flava-gitlab-ci.yml;h=4916904d8f8975df556256ccbfb5d98ec9397d99;hb=347840cf43624bdb2a5ce820e1001842e3f75ded;hp=64d84ada31d2d23e2eda3deb34649ccbc8147b62;hpb=aea8c9c7b1fb329a7f7d43182c054bf3b67232f3;p=mesa.git diff --git a/.gitlab-ci/lava-gitlab-ci.yml b/.gitlab-ci/lava-gitlab-ci.yml index 64d84ada31d..4916904d8f8 100644 --- a/.gitlab-ci/lava-gitlab-ci.yml +++ b/.gitlab-ci/lava-gitlab-ci.yml @@ -1,21 +1,69 @@ +variables: + DISTRIBUTION_TAG: "2020-08-03-nfs-2" + +.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 - stage: test + # 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} CI_JOB_JWT=${CI_JOB_JWT} 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: - - BUILD_JOB_ID=`cat artifacts/build_job_id.txt` + # 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-deqp.yml.jinja2 \ + --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 $CI_PROJECT_URL/-/jobs/$BUILD_JOB_ID/artifacts/raw/artifacts \ + --base-artifacts-url ${ARTIFACTS_URL} \ + --mesa-url ${MESA_URL} \ --device-type ${DEVICE_TYPE} \ - --env-vars "${ENV_VARS}" \ - --arch ${ARCH} \ + --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}" \ @@ -24,16 +72,17 @@ --lava-tags "${LAVA_TAGS}" \ --ci-node-index "${CI_NODE_INDEX}" \ --ci-node-total "${CI_NODE_TOTAL}" - - lava_job_id=`lavacli jobs submit lava-deqp.yml` + - 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-deqp.yml artifacts/. - - lavacli jobs logs $lava_job_id | tee artifacts/lava-deqp-$lava_job_id.log + - 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_deqp deqp | head -1` + - 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/ @@ -44,12 +93,12 @@ KERNEL_IMAGE_NAME: zImage KERNEL_IMAGE_TYPE: "type:\ zimage" BOOT_METHOD: u-boot + TEST_SUITE: "deqp" extends: - .lava-test - .use-arm_build - dependencies: - - meson-armhf needs: + - kernel+rootfs_armhf - meson-armhf .lava-test:arm64: @@ -58,101 +107,194 @@ 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 -panfrost-t720-gles2:arm64: - extends: .lava-test: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" + ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720" tags: - - lava-sun50i-h6-pine-h64 + - mesa-ci-aarch64-lava-collabora -panfrost-t760-gles2:armhf: - extends: .lava-test:armhf +.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" + ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760" tags: - - lava-rk3288-veyron-jaq + - mesa-ci-aarch64-lava-collabora -panfrost-t860-gles2:arm64: - extends: .lava-test:arm64 +.panfrost-t760-traces:armhf: + extends: + - .lava-traces:armhf + - .panfrost-rules variables: - DEVICE_TYPE: rk3399-gru-kevin - GPU_VERSION: panfrost-t860 + 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" + ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330" tags: - - lava-rk3399-gru-kevin + - mesa-ci-aarch64-lava-collabora -panfrost-t860-gles3:arm64: - extends: .lava-test:arm64 +.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: "" - DEQP_VERSION: gles3 - ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6" - CI_NODE_INDEX: 1 - CI_NODE_TOTAL: 5 tags: - - lava-rk3399-gru-kevin + - 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 + 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" + ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820" tags: - - lava-meson-gxm-khadas-vim2 + - mesa-ci-aarch64-lava-baylibre .lima-mali400-test:armhf: parallel: 2 - extends: .lava-test:armhf + 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" + ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400" tags: - - lava-sun8i-h3-libretech-all-h3-cc + - mesa-ci-aarch64-lava-baylibre -lima-mali450-test:arm64: - extends: .lava-test:arm64 +.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" + ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450" tags: - - lava-meson-gxl-s905x-libretech-cc + - mesa-ci-aarch64-lava-baylibre -.freedreno-a307-gles2: - extends: .lava-test:arm64 +# Commented out while waiting for more DUTs to come online +.radeonsi-stoney-gles2:amd64: + extends: + - .lava-test:amd64 + - .radeonsi-rules variables: - DEVICE_TYPE: apq8016-sbc - GPU_VERSION: freedreno-a307 - ENV_VARS: "DEQP_PARALLEL=4" - KERNEL_IMAGE_NAME: db410c.img - BOOT_METHOD: fastboot + 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: - - lava-mesa-db410c + - mesa-ci-aarch64-lava-collabora -.freedreno-a307-gles3: - parallel: 6 - extends: .freedreno-a307-gles2 +# 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