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