2e15e923b680a8472d72f36ecd3d69e0ef22e624
[mesa.git] / .gitlab-ci / lava-gitlab-ci.yml
1 .lava-test:
2 extends:
3 - .ci-run-policy
4 variables:
5 GIT_STRATEGY: none # testing doesn't build anything from source
6 ENV_VARS: "DEQP_PARALLEL=6"
7 DEQP_VERSION: gles2
8 script:
9 - mkdir -p /srv/${FILES_HOST_NAME}/$CI_JOB_ID/
10 - cp /lava-files/${KERNEL_IMAGE_NAME} /srv/${FILES_HOST_NAME}/$CI_JOB_ID/.
11 - cp /lava-files/${DEVICE_TYPE}.dtb /srv/${FILES_HOST_NAME}/$CI_JOB_ID/.
12 - tar -C /lava-files/rootfs-${ARCH} -xf artifacts/install.tar
13 - pushd /lava-files/rootfs-${ARCH}
14 - find -H | cpio -H newc -o | gzip -c - > /srv/${FILES_HOST_NAME}/$CI_JOB_ID/lava-rootfs-${ARCH}.cpio.gz
15 - popd
16 - >
17 artifacts/generate_lava.py \
18 --template artifacts/lava-deqp.yml.jinja2 \
19 --pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
20 --base-artifacts-url ${FILES_HOST_URL}/$CI_JOB_ID \
21 --device-type ${DEVICE_TYPE} \
22 --env-vars "${ENV_VARS}" \
23 --arch ${ARCH} \
24 --deqp-version ${DEQP_VERSION} \
25 --kernel-image-name ${KERNEL_IMAGE_NAME} \
26 --kernel-image-type "${KERNEL_IMAGE_TYPE}" \
27 --gpu-version ${GPU_VERSION} \
28 --boot-method ${BOOT_METHOD} \
29 --lava-tags "${LAVA_TAGS}" \
30 --ci-node-index "${CI_NODE_INDEX}" \
31 --ci-node-total "${CI_NODE_TOTAL}"
32 - lava_job_id=`lavacli jobs submit lava-deqp.yml` || lavacli jobs submit lava-deqp.yml
33 - echo $lava_job_id
34 - rm -rf artifacts/*
35 - cp lava-deqp.yml artifacts/.
36 - lavacli jobs logs $lava_job_id | tee artifacts/lava-deqp-$lava_job_id.log
37 - lavacli jobs show $lava_job_id
38 - result=`lavacli results $lava_job_id 0_deqp deqp | head -1`
39 - echo $result
40 - '[[ "$result" == "pass" ]]'
41 after_script:
42 - rm -rf /srv/${FILES_HOST_NAME}/$CI_JOB_ID/
43 artifacts:
44 name: "mesa_${CI_JOB_NAME}"
45 when: always
46 paths:
47 - artifacts/
48
49 .lava-test:armhf:
50 variables:
51 ARCH: armhf
52 KERNEL_IMAGE_NAME: zImage
53 KERNEL_IMAGE_TYPE: "type:\ zimage"
54 BOOT_METHOD: u-boot
55 extends:
56 - .lava-test
57 - .use-arm_build
58 dependencies:
59 - meson-armhf
60 needs:
61 - arm_build
62 - meson-armhf
63
64 .lava-test:arm64:
65 variables:
66 ARCH: arm64
67 KERNEL_IMAGE_NAME: Image
68 KERNEL_IMAGE_TYPE: "type:\ image"
69 BOOT_METHOD: u-boot
70 extends:
71 - .lava-test
72 - .use-arm_build
73 dependencies:
74 - meson-arm64
75 needs:
76 - arm_build
77 - meson-arm64
78
79 panfrost-t720-gles2:arm64:
80 extends:
81 - .lava-test:arm64
82 - .panfrost-rules
83 variables:
84 DEVICE_TYPE: sun50i-h6-pine-h64
85 GPU_VERSION: panfrost-t720
86 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
87 FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
88 FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
89 tags:
90 - mesa-ci-aarch64-lava-collabora
91
92 panfrost-t760-gles2:armhf:
93 extends:
94 - .lava-test:armhf
95 - .panfrost-rules
96 variables:
97 DEVICE_TYPE: rk3288-veyron-jaq
98 GPU_VERSION: panfrost-t760
99 BOOT_METHOD: depthcharge
100 KERNEL_IMAGE_TYPE: ""
101 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
102 FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
103 FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
104 tags:
105 - mesa-ci-aarch64-lava-collabora
106
107 panfrost-t860-gles2:arm64:
108 extends:
109 - .lava-test:arm64
110 - .panfrost-rules
111 variables:
112 DEVICE_TYPE: rk3399-gru-kevin
113 GPU_VERSION: panfrost-t860
114 BOOT_METHOD: depthcharge
115 KERNEL_IMAGE_TYPE: ""
116 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
117 FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
118 FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
119 tags:
120 - mesa-ci-aarch64-lava-collabora
121
122 panfrost-t860-gles3:arm64:
123 extends:
124 - .lava-test:arm64
125 - .panfrost-rules
126 variables:
127 DEVICE_TYPE: rk3399-gru-kevin
128 GPU_VERSION: panfrost-t860
129 BOOT_METHOD: depthcharge
130 KERNEL_IMAGE_TYPE: ""
131 DEQP_VERSION: gles3
132 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
133 CI_NODE_INDEX: 1
134 CI_NODE_TOTAL: 5
135 FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
136 FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
137 tags:
138 - mesa-ci-aarch64-lava-collabora
139
140 .panfrost-t820-gles2:arm64:
141 extends:
142 - .lava-test:arm64
143 - .panfrost-rules
144 variables:
145 DEVICE_TYPE: meson-gxm-khadas-vim2
146 GPU_VERSION: panfrost-t820
147 LAVA_TAGS: panfrost
148 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
149 tags:
150 - mesa-ci-aarch64-lava-baylibre
151
152 .lima-mali400-test:armhf:
153 parallel: 2
154 extends:
155 - .lava-test:armhf
156 - .lima-rules
157 variables:
158 DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
159 GPU_VERSION: lima
160 ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
161 tags:
162 - mesa-ci-aarch64-lava-baylibre
163
164 .lima-mali450-test:arm64:
165 extends:
166 - .lava-test:arm64
167 - .lima-rules
168 variables:
169 DEVICE_TYPE: meson-gxl-s905x-libretech-cc
170 GPU_VERSION: lima
171 ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
172 tags:
173 - mesa-ci-aarch64-lava-baylibre