nir: Support load/store of temps as scratch in nir_lower_explicit_io
[mesa.git] / .gitlab-ci / lava-gitlab-ci.yml
index 2eea316deebd606322ee111d84525e70d7212855..6ff4ed84d824acf2274d8a009bcfbab04bfb6f1b 100644 (file)
@@ -1,3 +1,30 @@
+variables:
+  DISTRIBUTION_TAG: "2020-07-06"
+
+.kernel+rootfs:
+  stage: container-2
+  extends:
+    - .ci-run-policy
+  variables:
+    GIT_STRATEGY: fetch
+  script:
+    - DEBIAN_ARCH=${DEBIAN_ARCH} .gitlab-ci/container/lava_arm.sh
+
+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
     GIT_STRATEGY: none # testing doesn't build anything from source
     ENV_VARS: "DEQP_PARALLEL=6"
     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:
-    - mkdir -p /srv/${FILES_HOST_NAME}/$CI_JOB_ID/
-    - cp /lava-files/${KERNEL_IMAGE_NAME} /srv/${FILES_HOST_NAME}/$CI_JOB_ID/.
-    - cp /lava-files/${DEVICE_TYPE}.dtb /srv/${FILES_HOST_NAME}/$CI_JOB_ID/.
-    - tar -C /lava-files/rootfs-${ARCH} -xf artifacts/install.tar
-    - pushd /lava-files/rootfs-${ARCH}
-    - find -H  |  cpio -H newc -o | gzip -c - > /srv/${FILES_HOST_NAME}/$CI_JOB_ID/lava-rootfs-${ARCH}.cpio.gz
-    - popd
+    # 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 \
         --pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
-        --base-artifacts-url ${FILES_HOST_URL}/$CI_JOB_ID \
+        --base-artifacts-url ${ARTIFACTS_URL} \
+        --mesa-url ${MESA_URL} \
         --device-type ${DEVICE_TYPE} \
         --env-vars "${ENV_VARS}" \
-        --arch ${ARCH} \
         --deqp-version ${DEQP_VERSION} \
         --kernel-image-name ${KERNEL_IMAGE_NAME} \
         --kernel-image-type "${KERNEL_IMAGE_TYPE}" \
@@ -38,8 +67,6 @@
     - result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
     - echo $result
     - '[[ "$result" == "pass" ]]'
-  after_script:
-    - rm -rf /srv/${FILES_HOST_NAME}/$CI_JOB_ID/
   artifacts:
     name: "mesa_${CI_JOB_NAME}"
     when: always
@@ -55,9 +82,8 @@
   extends:
     - .lava-test
     - .use-arm_build
-  dependencies:
-    - meson-armhf
   needs:
+    - kernel+rootfs_armhf
     - meson-armhf
 
 .lava-test:arm64:
@@ -69,9 +95,8 @@
   extends:
     - .lava-test
     - .use-arm_build
-  dependencies:
-    - meson-arm64
   needs:
+    - kernel+rootfs_arm64
     - meson-arm64
 
 panfrost-t720-gles2:arm64:
@@ -81,9 +106,7 @@ panfrost-t720-gles2:arm64:
   variables:
     DEVICE_TYPE: sun50i-h6-pine-h64
     GPU_VERSION: panfrost-t720
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
-    FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
-    FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
   tags:
     - mesa-ci-aarch64-lava-collabora
 
@@ -96,9 +119,7 @@ panfrost-t760-gles2:armhf:
     GPU_VERSION: panfrost-t760
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
-    FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
-    FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
   tags:
     - mesa-ci-aarch64-lava-collabora
 
@@ -111,9 +132,7 @@ panfrost-t860-gles2:arm64:
     GPU_VERSION: panfrost-t860
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
-    FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
-    FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
   tags:
     - mesa-ci-aarch64-lava-collabora
 
@@ -127,15 +146,13 @@ panfrost-t860-gles3:arm64:
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
     DEQP_VERSION: gles3
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
     CI_NODE_INDEX: 1
     CI_NODE_TOTAL: 5
-    FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
-    FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
     - mesa-ci-aarch64-lava-collabora
 
-panfrost-t820-gles2:arm64:
+.panfrost-t820-gles2:arm64:
   extends:
     - .lava-test:arm64
     - .panfrost-rules
@@ -143,11 +160,11 @@ panfrost-t820-gles2:arm64:
     DEVICE_TYPE: meson-gxm-khadas-vim2
     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:
     - mesa-ci-aarch64-lava-baylibre
 
-lima-mali400-test:armhf:
+.lima-mali400-test:armhf:
   parallel: 2
   extends:
     - .lava-test:armhf
@@ -155,17 +172,17 @@ lima-mali400-test:armhf:
   variables:
     DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
     GPU_VERSION: lima
-    ENV_VARS: "DEQP_PARALLEL=3"
+    ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
   tags:
     - mesa-ci-aarch64-lava-baylibre
 
-lima-mali450-test:arm64:
+.lima-mali450-test:arm64:
   extends:
     - .lava-test:arm64
     - .lima-rules
   variables:
     DEVICE_TYPE: meson-gxl-s905x-libretech-cc
     GPU_VERSION: lima
-    ENV_VARS: "DEQP_PARALLEL=6"
+    ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
   tags:
     - mesa-ci-aarch64-lava-baylibre