ci: Set date in LAVA DUTs from NTP servers
[mesa.git] / .gitlab-ci / lava-deqp.yml.jinja2
index 3c63921ca11221050f33735b4a8002c254b3c4cb..5ec39337b7324d2dd41d48e0c960b4951a9e478d 100644 (file)
@@ -1,5 +1,5 @@
-job_name: mesa-deqp-{{ gpu_version }}
-device_type: {{ lava_device_type }}
+job_name: mesa-deqp-{{ deqp_version }}-{{ gpu_version }} {{ pipeline_info }}
+device_type: {{ device_type }}
 timeouts:
   job:
     minutes: 40
@@ -10,6 +10,13 @@ timeouts:
       seconds: 30
 priority: 75
 visibility: public
+{% if tags %}
+{% set lavatags = tags.split(',') %}
+tags:
+{% for tag in lavatags %}
+  - {{ tag }}
+{% endfor %}
+{% endif %}
 actions:
 - deploy:
     timeout:
@@ -17,20 +24,34 @@ actions:
     to: tftp
     kernel:
       url: {{ base_artifacts_url }}/{{ kernel_image_name }}
+{% if kernel_image_type %}
       {{ kernel_image_type }}
+{% endif %}
     ramdisk:
-      url: {{ base_artifacts_url }}/lava-rootfs-{{ arch }}.cpio.gz
+      url: {{ base_artifacts_url }}/lava-rootfs.cpio.gz
       compression: gz
+{% if dtb %}
     dtb:
-      url: {{ base_artifacts_url }}/{{ device_type }}.dtb
+      url: {{ base_artifacts_url }}/{{ dtb }}.dtb
+{% endif %}
     os: oe
 - boot:
     timeout:
       minutes: 5
     method: {{ boot_method }}
+{% if boot_method == "fastboot" %}
+{#
+   For fastboot, LAVA doesn't know how to unpack the rootfs/apply overlay/repack,
+   so we transfer the overlay over the network after boot.
+#}
+    transfer_overlay:
+      download_command: wget -S --progress=dot:giga
+      unpack_command: tar -C / -xzf
+{% else %}
     commands: ramdisk
+{% endif %}
     prompts:
-      - '#' 
+      - 'lava-shell:'
 - test:
     timeout:
       minutes: 60
@@ -48,11 +69,34 @@ actions:
           steps:
           - mount -t proc none /proc
           - mount -t sysfs none /sys 
-          - mount -t devtmpfs none /dev
+          - mount -t devtmpfs none /dev || echo possibly already mounted
           - mkdir -p /dev/pts
           - mount -t devpts devpts /dev/pts
-          - sh /deqp/lava-deqp-runner.sh {{ gpu_version }}
-          - cat /proc/loadavg
+          - echo "nameserver 8.8.8.8" > /etc/resolv.conf
+          - for i in 1 2 3; do sntp -sS pool.ntp.org && break || sleep 2; done
+
+
+{% if env_vars %}
+          - export {{ env_vars }}
+{% endif %}
+
+          # deqp-runner.sh assumes some stuff is in pwd
+          - cd /
+
+          - wget -S --progress=dot:giga -O- {{ mesa_url }} | tar -xz
+
+          - export DEQP_NO_SAVE_RESULTS=1
+          - 'export DEQP_RUNNER_OPTIONS="--shuffle false"'
+          - export DEQP_EXPECTED_FAILS=deqp-{{ gpu_version }}-fails.txt
+          - export DEQP_SKIPS=deqp-{{ gpu_version }}-skips.txt
+          - export DEQP_VER={{ deqp_version }}
+          - export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri
+
+          - "if sh /install/deqp-runner.sh; then
+                  echo 'deqp: pass';
+             else
+                  echo 'deqp: fail';
+             fi"
         parse:
           pattern: '(?P<test_case_id>\S*):\s+(?P<result>(pass|fail))'
       from: inline