ci: Test with more traces
[mesa.git] / .gitlab-ci / lava-gitlab-ci.yml
1 variables:
2 DISTRIBUTION_TAG: "2020-07-18"
3
4 .kernel+rootfs:
5 stage: container-2
6 extends:
7 - .ci-run-policy
8 variables:
9 GIT_STRATEGY: fetch
10 KERNEL_URL: "https://gitlab.freedesktop.org/tomeu/linux/-/archive/v5.5-panfrost-fixes/linux-v5.5-panfrost-fixes.tar.gz"
11 UPLOAD_FOR_LAVA: 1
12 script:
13 - .gitlab-ci/container/lava_arm.sh
14
15 kernel+rootfs_arm64:
16 extends:
17 - .use-arm_build
18 - .kernel+rootfs
19 tags:
20 - aarch64
21 variables:
22 DEBIAN_ARCH: "arm64"
23
24 kernel+rootfs_armhf:
25 extends:
26 - kernel+rootfs_arm64
27 variables:
28 DEBIAN_ARCH: "armhf"
29
30 .lava-test:
31 extends:
32 - .ci-run-policy
33 variables:
34 GIT_STRATEGY: none # testing doesn't build anything from source
35 ENV_VARS: "DEQP_PARALLEL=6"
36 FIXED_ENV_VARS: "CI_PIPELINE_ID=${CI_PIPELINE_ID} CI_PROJECT_PATH=${CI_PROJECT_PATH} TRACIE_NO_UNIT_TESTS=1 TRACIE_UPLOAD_TO_MINIO=1"
37 DEQP_VERSION: gles2
38 ARTIFACTS_PREFIX: "https://minio-packet.freedesktop.org/mesa-lava/"
39 MESA_URL: "https://minio-packet.freedesktop.org/artifacts/${CI_PROJECT_PATH}/${CI_PIPELINE_ID}/mesa-${ARCH}.tar.gz"
40 script:
41 # Try to use the kernel and rootfs built in mainline first, to save cycles
42 - >
43 if wget -q --method=HEAD "${ARTIFACTS_PREFIX}/mesa/mesa/${DISTRIBUTION_TAG}/${ARCH}/done"; then
44 ARTIFACTS_URL="${ARTIFACTS_PREFIX}/mesa/mesa/${DISTRIBUTION_TAG}/${ARCH}"
45 else
46 ARTIFACTS_URL="${ARTIFACTS_PREFIX}/${CI_PROJECT_PATH}/${DISTRIBUTION_TAG}/${ARCH}"
47 fi
48 - >
49 artifacts/generate_lava.py \
50 --template artifacts/lava-${TEST_SUITE}.yml.jinja2 \
51 --pipeline-info "$CI_PIPELINE_URL on $CI_COMMIT_REF_NAME ${CI_NODE_INDEX}/${CI_NODE_TOTAL}" \
52 --base-artifacts-url ${ARTIFACTS_URL} \
53 --mesa-url ${MESA_URL} \
54 --device-type ${DEVICE_TYPE} \
55 --env-vars "${ENV_VARS} ${FIXED_ENV_VARS}" \
56 --deqp-version ${DEQP_VERSION} \
57 --kernel-image-name ${KERNEL_IMAGE_NAME} \
58 --kernel-image-type "${KERNEL_IMAGE_TYPE}" \
59 --gpu-version ${GPU_VERSION} \
60 --boot-method ${BOOT_METHOD} \
61 --lava-tags "${LAVA_TAGS}" \
62 --ci-node-index "${CI_NODE_INDEX}" \
63 --ci-node-total "${CI_NODE_TOTAL}"
64 - lava_job_id=`lavacli jobs submit lava-${TEST_SUITE}.yml` || lavacli jobs submit lava-${TEST_SUITE}.yml
65 - echo $lava_job_id
66 - rm -rf artifacts/*
67 - cp lava-${TEST_SUITE}.yml artifacts/.
68 - lavacli jobs logs $lava_job_id | tee artifacts/lava-${TEST_SUITE}-$lava_job_id.log
69 - lavacli jobs show $lava_job_id
70 - result=`lavacli results $lava_job_id 0_${TEST_SUITE} ${TEST_SUITE} | head -1`
71 - echo $result
72 - '[[ "$result" == "pass" ]]'
73 artifacts:
74 name: "mesa_${CI_JOB_NAME}"
75 when: always
76 paths:
77 - artifacts/
78
79 .lava-test:armhf:
80 variables:
81 ARCH: armhf
82 KERNEL_IMAGE_NAME: zImage
83 KERNEL_IMAGE_TYPE: "type:\ zimage"
84 BOOT_METHOD: u-boot
85 TEST_SUITE: "deqp"
86 extends:
87 - .lava-test
88 - .use-arm_build
89 needs:
90 - kernel+rootfs_armhf
91 - meson-armhf
92
93 .lava-test:arm64:
94 variables:
95 ARCH: arm64
96 KERNEL_IMAGE_NAME: Image
97 KERNEL_IMAGE_TYPE: "type:\ image"
98 BOOT_METHOD: u-boot
99 TEST_SUITE: "deqp"
100 extends:
101 - .lava-test
102 - .use-arm_build
103 dependencies:
104 - meson-arm64
105 needs:
106 - kernel+rootfs_arm64
107 - meson-arm64
108
109 .lava-traces:armhf:
110 variables:
111 TEST_SUITE: "tracie"
112 extends:
113 - .lava-test:armhf
114
115 .lava-traces:arm64:
116 variables:
117 TEST_SUITE: "tracie"
118 extends:
119 - .lava-test:arm64
120
121 panfrost-t720-gles2:arm64:
122 extends:
123 - .lava-test:arm64
124 - .panfrost-rules
125 variables:
126 DEVICE_TYPE: sun50i-h6-pine-h64
127 GPU_VERSION: panfrost-t720
128 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
129 tags:
130 - mesa-ci-aarch64-lava-collabora
131
132 panfrost-t760-gles2:armhf:
133 extends:
134 - .lava-test:armhf
135 - .panfrost-rules
136 variables:
137 DEVICE_TYPE: rk3288-veyron-jaq
138 GPU_VERSION: panfrost-t760
139 BOOT_METHOD: depthcharge
140 KERNEL_IMAGE_TYPE: ""
141 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
142 tags:
143 - mesa-ci-aarch64-lava-collabora
144
145 panfrost-t760-traces:armhf:
146 extends:
147 - .lava-traces:armhf
148 - .panfrost-rules
149 variables:
150 DEVICE_TYPE: rk3288-veyron-jaq
151 GPU_VERSION: panfrost-t760
152 BOOT_METHOD: depthcharge
153 KERNEL_IMAGE_TYPE: ""
154 ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330"
155 tags:
156 - mesa-ci-aarch64-lava-collabora
157
158 .lava-rk3399-gru-kevin:
159 extends:
160 - .panfrost-rules
161 variables:
162 DEVICE_TYPE: rk3399-gru-kevin
163 GPU_VERSION: panfrost-t860
164 BOOT_METHOD: depthcharge
165 KERNEL_IMAGE_TYPE: ""
166 tags:
167 - mesa-ci-aarch64-lava-collabora
168
169 panfrost-t860-gles2:arm64:
170 extends:
171 - .lava-test:arm64
172 - .lava-rk3399-gru-kevin
173 variables:
174 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
175
176 panfrost-t860-gles3:arm64:
177 parallel: 2
178 extends:
179 - .lava-test:arm64
180 - .lava-rk3399-gru-kevin
181 variables:
182 DEQP_VERSION: gles3
183 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
184
185 panfrost-t860-traces:arm64:
186 extends:
187 - .lava-traces:arm64
188 - .lava-rk3399-gru-kevin
189 variables:
190 ENV_VARS: "PAN_MESA_DEBUG=deqp MESA_GLES_VERSION_OVERRIDE=3.1 MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330"
191
192 .panfrost-t820-gles2:arm64:
193 extends:
194 - .lava-test:arm64
195 - .panfrost-rules
196 variables:
197 DEVICE_TYPE: meson-gxm-khadas-vim2
198 GPU_VERSION: panfrost-t820
199 LAVA_TAGS: panfrost
200 ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
201 tags:
202 - mesa-ci-aarch64-lava-baylibre
203
204 .lima-mali400-test:armhf:
205 parallel: 2
206 extends:
207 - .lava-test:armhf
208 - .lima-rules
209 variables:
210 DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
211 GPU_VERSION: lima
212 ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
213 tags:
214 - mesa-ci-aarch64-lava-baylibre
215
216 .lima-mali450-test:arm64:
217 extends:
218 - .lava-test:arm64
219 - .lima-rules
220 variables:
221 DEVICE_TYPE: meson-gxl-s905x-libretech-cc
222 GPU_VERSION: lima
223 ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
224 tags:
225 - mesa-ci-aarch64-lava-baylibre