
There's some files from the .gitlab-ci directory that are needed in the test stage and that, because the Mesa repository isn't checked out in that stage, need to be made available through other means. Because those files are going to be needed in LAVA devices, place them ino the tarball containing the built files so it's available to both gitlab-ci runners and LAVA devices. Before those files were passed in the artifacts of the Gitlab CI job, but this commit places them into the built tarball so scripts later in the pipeline don't need to account for this discrepancy. Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4295>
106 lines
2.7 KiB
Django/Jinja
106 lines
2.7 KiB
Django/Jinja
job_name: mesa-deqp-{{ deqp_version }}-{{ gpu_version }} {{ pipeline_info }}
|
|
device_type: {{ device_type }}
|
|
timeouts:
|
|
job:
|
|
minutes: 40
|
|
action:
|
|
minutes: 10
|
|
actions:
|
|
power-off:
|
|
seconds: 30
|
|
priority: 75
|
|
visibility: public
|
|
{% if tags %}
|
|
{% set lavatags = tags.split(',') %}
|
|
tags:
|
|
{% for tag in lavatags %}
|
|
- {{ tag }}
|
|
{% endfor %}
|
|
{% endif %}
|
|
actions:
|
|
- deploy:
|
|
timeout:
|
|
minutes: 10
|
|
{% if boot_method == "fastboot" %}
|
|
{# fastboot has just one boot image with the dtb and rootfs packed in #}
|
|
to: fastboot
|
|
images:
|
|
boot:
|
|
url: {{ base_artifacts_url }}/{{ kernel_image_name }}
|
|
{% else %}
|
|
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
|
|
compression: gz
|
|
dtb:
|
|
url: {{ base_artifacts_url }}/{{ device_type }}.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
|
|
definitions:
|
|
- repository:
|
|
metadata:
|
|
format: Lava-Test Test Definition 1.0
|
|
name: deqp
|
|
description: "Mesa dEQP test plan"
|
|
os:
|
|
- oe
|
|
scope:
|
|
- functional
|
|
run:
|
|
steps:
|
|
- mount -t proc none /proc
|
|
- mount -t sysfs none /sys
|
|
- mount -t devtmpfs none /dev || echo possibly already mounted
|
|
- mkdir -p /dev/pts
|
|
- mount -t devpts devpts /dev/pts
|
|
|
|
{% if env_vars %}
|
|
- export {{ env_vars }}
|
|
{% endif %}
|
|
|
|
# deqp-runner.sh assumes some stuff is in pwd
|
|
- cd /
|
|
|
|
- export DEQP_NO_SAVE_RESULTS=1
|
|
- 'export DEQP_RUNNER_OPTIONS="--compact-display false --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
|
|
name: deqp
|
|
path: inline/mesa-deqp.yaml
|