1bf215546Sopenharmony_ci.test:
2bf215546Sopenharmony_ci  # Cancel job if a newer commit is pushed to the same branch
3bf215546Sopenharmony_ci  interruptible: true
4bf215546Sopenharmony_ci  variables:
5bf215546Sopenharmony_ci    GIT_STRATEGY: none # testing doesn't build anything from source
6bf215546Sopenharmony_ci  before_script:
7bf215546Sopenharmony_ci    - !reference [default, before_script]
8bf215546Sopenharmony_ci    # Note: Build dir (and thus install) may be dirty due to GIT_STRATEGY
9bf215546Sopenharmony_ci    - rm -rf install
10bf215546Sopenharmony_ci    - tar -xf artifacts/install.tar
11bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_start:$(date +%s):ldd_section[collapsed=true]\r\e[0KChecking ldd on driver build"
12bf215546Sopenharmony_ci    - LD_LIBRARY_PATH=install/lib find install/lib -name "*.so" -print -exec ldd {} \;
13bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_end:$(date +%s):ldd_section\r\e[0K"
14bf215546Sopenharmony_ci  artifacts:
15bf215546Sopenharmony_ci    when: always
16bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
17bf215546Sopenharmony_ci    paths:
18bf215546Sopenharmony_ci      - results/
19bf215546Sopenharmony_ci
20bf215546Sopenharmony_ci.test-gl:
21bf215546Sopenharmony_ci  extends:
22bf215546Sopenharmony_ci    - .test
23bf215546Sopenharmony_ci    - .use-debian/x86_test-gl
24bf215546Sopenharmony_ci  needs:
25bf215546Sopenharmony_ci    - debian/x86_test-gl
26bf215546Sopenharmony_ci    - debian-testing
27bf215546Sopenharmony_ci
28bf215546Sopenharmony_ci.test-vk:
29bf215546Sopenharmony_ci  extends:
30bf215546Sopenharmony_ci    - .test
31bf215546Sopenharmony_ci    - .use-debian/x86_test-vk
32bf215546Sopenharmony_ci  needs:
33bf215546Sopenharmony_ci    - debian-testing
34bf215546Sopenharmony_ci    - debian/x86_test-vk
35bf215546Sopenharmony_ci
36bf215546Sopenharmony_ci.test-cl:
37bf215546Sopenharmony_ci  extends:
38bf215546Sopenharmony_ci    - .test
39bf215546Sopenharmony_ci    - .use-debian/x86_test-gl
40bf215546Sopenharmony_ci  needs:
41bf215546Sopenharmony_ci    - debian/x86_test-gl
42bf215546Sopenharmony_ci    - debian-clover-testing
43bf215546Sopenharmony_ci
44bf215546Sopenharmony_ci.vkd3d-proton-test:
45bf215546Sopenharmony_ci  artifacts:
46bf215546Sopenharmony_ci    when: on_failure
47bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
48bf215546Sopenharmony_ci    paths:
49bf215546Sopenharmony_ci      - results/vkd3d-proton.log
50bf215546Sopenharmony_ci  script:
51bf215546Sopenharmony_ci    - ./install/vkd3d-proton/run.sh
52bf215546Sopenharmony_ci
53bf215546Sopenharmony_ci.piglit-test:
54bf215546Sopenharmony_ci  artifacts:
55bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
56bf215546Sopenharmony_ci    paths:
57bf215546Sopenharmony_ci      - results
58bf215546Sopenharmony_ci    reports:
59bf215546Sopenharmony_ci      junit: results/junit.xml
60bf215546Sopenharmony_ci  variables:
61bf215546Sopenharmony_ci    PIGLIT_NO_WINDOW: 1
62bf215546Sopenharmony_ci    HWCI_TEST_SCRIPT: "/install/piglit/piglit-runner.sh"
63bf215546Sopenharmony_ci  script:
64bf215546Sopenharmony_ci    - install/piglit/piglit-runner.sh
65bf215546Sopenharmony_ci
66bf215546Sopenharmony_ci.piglit-traces-test:
67bf215546Sopenharmony_ci  extends:
68bf215546Sopenharmony_ci    - .piglit-test
69bf215546Sopenharmony_ci  cache:
70bf215546Sopenharmony_ci    key: ${CI_JOB_NAME}
71bf215546Sopenharmony_ci    paths:
72bf215546Sopenharmony_ci      - replayer-db/
73bf215546Sopenharmony_ci  artifacts:
74bf215546Sopenharmony_ci    when: on_failure
75bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
76bf215546Sopenharmony_ci    reports:
77bf215546Sopenharmony_ci      junit: results/junit.xml
78bf215546Sopenharmony_ci    paths:
79bf215546Sopenharmony_ci      - results/summary/
80bf215546Sopenharmony_ci      - results/*.txt
81bf215546Sopenharmony_ci  variables:
82bf215546Sopenharmony_ci    PIGLIT_REPLAY_EXTRA_ARGS: --keep-image --db-path ${CI_PROJECT_DIR}/replayer-db/ --minio_bucket=mesa-tracie-public --jwt-file=${CI_JOB_JWT_FILE}
83bf215546Sopenharmony_ci  script:
84bf215546Sopenharmony_ci    - install/piglit/piglit-traces.sh
85bf215546Sopenharmony_ci
86bf215546Sopenharmony_ci.deqp-test:
87bf215546Sopenharmony_ci  script:
88bf215546Sopenharmony_ci    - ./install/deqp-runner.sh
89bf215546Sopenharmony_ci  artifacts:
90bf215546Sopenharmony_ci    exclude:
91bf215546Sopenharmony_ci      - results/*.shader_cache
92bf215546Sopenharmony_ci    reports:
93bf215546Sopenharmony_ci      junit: results/junit.xml
94bf215546Sopenharmony_ci
95bf215546Sopenharmony_ci.deqp-test-vk:
96bf215546Sopenharmony_ci  extends:
97bf215546Sopenharmony_ci    - .deqp-test
98bf215546Sopenharmony_ci  variables:
99bf215546Sopenharmony_ci    DEQP_VER: vk
100bf215546Sopenharmony_ci
101bf215546Sopenharmony_ci.skqp-test:
102bf215546Sopenharmony_ci  variables:
103bf215546Sopenharmony_ci    HWCI_START_XORG: 1
104bf215546Sopenharmony_ci    HWCI_TEST_SCRIPT: "/install/skqp-runner.sh"
105bf215546Sopenharmony_ci
106bf215546Sopenharmony_ci.fossilize-test:
107bf215546Sopenharmony_ci  script:
108bf215546Sopenharmony_ci    - ./install/fossilize-runner.sh
109bf215546Sopenharmony_ci  artifacts:
110bf215546Sopenharmony_ci    when: on_failure
111bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
112bf215546Sopenharmony_ci    paths:
113bf215546Sopenharmony_ci      - results/
114bf215546Sopenharmony_ci
115bf215546Sopenharmony_ci.baremetal-test:
116bf215546Sopenharmony_ci  extends:
117bf215546Sopenharmony_ci    - .test
118bf215546Sopenharmony_ci  # Cancel job if a newer commit is pushed to the same branch
119bf215546Sopenharmony_ci  interruptible: true
120bf215546Sopenharmony_ci  before_script:
121bf215546Sopenharmony_ci    - !reference [default, before_script]
122bf215546Sopenharmony_ci    # Use this instead of gitlab's artifacts download because it hits packet.net
123bf215546Sopenharmony_ci    # instead of fd.o.  Set FDO_HTTP_CACHE_URI to an http cache for your test lab to
124bf215546Sopenharmony_ci    # improve it even more (see https://docs.mesa3d.org/ci/bare-metal.html for
125bf215546Sopenharmony_ci    # setup).
126bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_start:$(date +%s):artifacts_download[collapsed=true]\r\e[0KDownloading artifacts from minio"
127bf215546Sopenharmony_ci    - wget ${FDO_HTTP_CACHE_URI:-}https://${PIPELINE_ARTIFACTS_BASE}/${MINIO_ARTIFACT_NAME}.tar.gz -S --progress=dot:giga -O- | tar -xz
128bf215546Sopenharmony_ci    - echo -e "\e[0Ksection_end:$(date +%s):artifacts_download\r\e[0K"
129bf215546Sopenharmony_ci  artifacts:
130bf215546Sopenharmony_ci    when: always
131bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
132bf215546Sopenharmony_ci    paths:
133bf215546Sopenharmony_ci      - results/
134bf215546Sopenharmony_ci      - serial*.txt
135bf215546Sopenharmony_ci    exclude:
136bf215546Sopenharmony_ci      - results/*.shader_cache
137bf215546Sopenharmony_ci    reports:
138bf215546Sopenharmony_ci      junit: results/junit.xml
139bf215546Sopenharmony_ci
140bf215546Sopenharmony_ci# ARM testing of bare-metal boards attached to an x86 gitlab-runner system
141bf215546Sopenharmony_ci.baremetal-test-armhf:
142bf215546Sopenharmony_ci  extends:
143bf215546Sopenharmony_ci    - .baremetal-test
144bf215546Sopenharmony_ci    - .use-debian/arm_test
145bf215546Sopenharmony_ci  variables:
146bf215546Sopenharmony_ci    BM_ROOTFS: /rootfs-armhf
147bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-armhf
148bf215546Sopenharmony_ci  needs:
149bf215546Sopenharmony_ci    - debian/arm_test
150bf215546Sopenharmony_ci    - job: debian-armhf
151bf215546Sopenharmony_ci      artifacts: false
152bf215546Sopenharmony_ci
153bf215546Sopenharmony_ci# ARM64 testing of bare-metal boards attached to an x86 gitlab-runner system
154bf215546Sopenharmony_ci.baremetal-test-arm64:
155bf215546Sopenharmony_ci  extends:
156bf215546Sopenharmony_ci    - .baremetal-test
157bf215546Sopenharmony_ci    - .use-debian/arm_test
158bf215546Sopenharmony_ci  variables:
159bf215546Sopenharmony_ci    BM_ROOTFS: /rootfs-arm64
160bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-arm64
161bf215546Sopenharmony_ci  needs:
162bf215546Sopenharmony_ci    - debian/arm_test
163bf215546Sopenharmony_ci    - job: debian-arm64
164bf215546Sopenharmony_ci      artifacts: false
165bf215546Sopenharmony_ci
166bf215546Sopenharmony_ci# ARM64 testing of bare-metal boards attached to an x86 gitlab-runner system, using an asan mesa build
167bf215546Sopenharmony_ci.baremetal-arm64-asan-test:
168bf215546Sopenharmony_ci  extends:
169bf215546Sopenharmony_ci    - .baremetal-test
170bf215546Sopenharmony_ci    - .use-debian/arm_test
171bf215546Sopenharmony_ci  variables:
172bf215546Sopenharmony_ci    DEQP_RUNNER_OPTIONS: "--env LD_PRELOAD=libasan.so.6:/install/lib/libdlclose-skip.so"
173bf215546Sopenharmony_ci    MINIO_ARTIFACT_NAME: mesa-arm64-asan
174bf215546Sopenharmony_ci  needs:
175bf215546Sopenharmony_ci    - debian/arm_test
176bf215546Sopenharmony_ci    - job: debian-arm64-asan
177bf215546Sopenharmony_ci      artifacts: false
178bf215546Sopenharmony_ci
179bf215546Sopenharmony_ci.baremetal-deqp-test:
180bf215546Sopenharmony_ci  variables:
181bf215546Sopenharmony_ci    HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
182bf215546Sopenharmony_ci    FDO_CI_CONCURRENT: 0 # Default to number of CPUs
183bf215546Sopenharmony_ci
184bf215546Sopenharmony_ci.baremetal-skqp-test:
185bf215546Sopenharmony_ci  variables:
186bf215546Sopenharmony_ci    HWCI_START_XORG: 1
187bf215546Sopenharmony_ci    HWCI_TEST_SCRIPT: "/install/skqp-runner.sh"
188bf215546Sopenharmony_ci
189bf215546Sopenharmony_ci# For Valve's bare-metal testing farm jobs.
190bf215546Sopenharmony_ci.b2c-test:
191bf215546Sopenharmony_ci  # It would be nice to use ci-templates within Mesa CI for this job's
192bf215546Sopenharmony_ci  # image:, but the integration is not possible for the current
193bf215546Sopenharmony_ci  # use-case. Within this job, two containers are managed. 1) the
194bf215546Sopenharmony_ci  # gitlab runner container from which the job is submitted to the
195bf215546Sopenharmony_ci  # DUT, and 2) the test container (e.g. debian/x86_test-vk) within
196bf215546Sopenharmony_ci  # which the test cases will run on the DUT. Since ci-templates and
197bf215546Sopenharmony_ci  # the associated image setting macros in this file rely on variables
198bf215546Sopenharmony_ci  # like FDO_DISTRIBUTION_TAG for *the* image, there is no way to
199bf215546Sopenharmony_ci  # depend on more than one image per job. So, the job container is
200bf215546Sopenharmony_ci  # built as part of the CI in the boot2container project.
201bf215546Sopenharmony_ci  image: registry.freedesktop.org/mupuf/valve-infra/mesa-trigger:2022-03-03.2
202bf215546Sopenharmony_ci  timeout: 1h 40m
203bf215546Sopenharmony_ci  variables:
204bf215546Sopenharmony_ci    # No need by default to pull the whole repo
205bf215546Sopenharmony_ci    GIT_STRATEGY: none
206bf215546Sopenharmony_ci    # boot2container initrd configuration parameters.
207bf215546Sopenharmony_ci    B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/mupuf/valve-infra/-/package_files/144/download'  # 5.17.1
208bf215546Sopenharmony_ci    B2C_INITRAMFS_URL: 'https://gitlab.freedesktop.org/mupuf/boot2container/-/releases/v0.9.6/downloads/initramfs.linux_amd64.cpio.xz'
209bf215546Sopenharmony_ci    B2C_JOB_SUCCESS_REGEX: '\[.*\]: Execution is over, pipeline status: 0\r$'
210bf215546Sopenharmony_ci    B2C_JOB_WARN_REGEX: '\*ERROR\* ring .* timeout, but soft recovered'
211bf215546Sopenharmony_ci    B2C_LOG_LEVEL: 6
212bf215546Sopenharmony_ci    B2C_POWEROFF_DELAY: 15
213bf215546Sopenharmony_ci    B2C_SESSION_END_REGEX: '^.*It''s now safe to turn off your computer\r$'
214bf215546Sopenharmony_ci    B2C_SESSION_REBOOT_REGEX: '(GPU hang detected!|\*ERROR\* ring [^\s]+ timeout(?!, but soft recovered)|The CS has been cancelled because the context is lost)'
215bf215546Sopenharmony_ci    B2C_TIMEOUT_BOOT_MINUTES: 45
216bf215546Sopenharmony_ci    B2C_TIMEOUT_BOOT_RETRIES: 1
217bf215546Sopenharmony_ci    B2C_TIMEOUT_FIRST_MINUTES: 5
218bf215546Sopenharmony_ci    B2C_TIMEOUT_FIRST_RETRIES: 3
219bf215546Sopenharmony_ci    B2C_TIMEOUT_MINUTES: 2
220bf215546Sopenharmony_ci    B2C_TIMEOUT_OVERALL_MINUTES: 90
221bf215546Sopenharmony_ci    B2C_TIMEOUT_RETRIES: 0
222bf215546Sopenharmony_ci
223bf215546Sopenharmony_ci    # As noted in the top description, we make a distinction between the
224bf215546Sopenharmony_ci    # container used by gitlab-runner to queue the work, and the container
225bf215546Sopenharmony_ci    # used by the DUTs/test machines. To make this distinction quite clear,
226bf215546Sopenharmony_ci    # we rename the MESA_IMAGE variable into IMAGE_UNDER_TEST.
227bf215546Sopenharmony_ci    IMAGE_UNDER_TEST: "$MESA_IMAGE"
228bf215546Sopenharmony_ci
229bf215546Sopenharmony_ci    INSTALL_TARBALL_NAME: "install.tar"
230bf215546Sopenharmony_ci    INSTALL_TARBALL: "./artifacts/${INSTALL_TARBALL_NAME}"
231bf215546Sopenharmony_ci    CI_B2C_ARTIFACTS: "./artifacts/b2c"
232bf215546Sopenharmony_ci    CI_COMMON_SCRIPTS: "./artifacts/ci-common"
233bf215546Sopenharmony_ci    GENERATE_ENV_SCRIPT: "${CI_COMMON_SCRIPTS}/generate-env.sh"
234bf215546Sopenharmony_ci    B2C_JOB_TEMPLATE: "${CI_B2C_ARTIFACTS}/b2c.yml.jinja2.jinja2"
235bf215546Sopenharmony_ci    JOB_FOLDER: "job_folder"
236bf215546Sopenharmony_ci  before_script:
237bf215546Sopenharmony_ci    # We don't want the tarball unpacking of .test, but will take the JWT bits.
238bf215546Sopenharmony_ci    - !reference [default, before_script]
239bf215546Sopenharmony_ci    - |
240bf215546Sopenharmony_ci      set -x
241bf215546Sopenharmony_ci
242bf215546Sopenharmony_ci      # Useful as a hook point for runner admins. You may edit the
243bf215546Sopenharmony_ci      # config.toml for the Gitlab runner and use a bind-mount to
244bf215546Sopenharmony_ci      # populate the hook script with some executable commands. This
245bf215546Sopenharmony_ci      # allows quicker feedback than resubmitting pipelines and
246bf215546Sopenharmony_ci      # potentially having to wait for a debug build of Mesa to
247bf215546Sopenharmony_ci      # complete.
248bf215546Sopenharmony_ci      if [ -x /runner-before-script.sh ]; then
249bf215546Sopenharmony_ci         echo "Executing runner before-script hook..."
250bf215546Sopenharmony_ci         sh /runner-before-script.sh
251bf215546Sopenharmony_ci         if [ $? -ne 0 ]; then
252bf215546Sopenharmony_ci            echo "Runner hook failed, goodbye"
253bf215546Sopenharmony_ci            exit $?
254bf215546Sopenharmony_ci         fi
255bf215546Sopenharmony_ci      fi
256bf215546Sopenharmony_ci
257bf215546Sopenharmony_ci      [ -s "$INSTALL_TARBALL" ] || exit 1
258bf215546Sopenharmony_ci      [ -d "$CI_B2C_ARTIFACTS" ] || exit 1
259bf215546Sopenharmony_ci      [ -d "$CI_COMMON_SCRIPTS" ] || exit 1
260bf215546Sopenharmony_ci
261bf215546Sopenharmony_ci
262bf215546Sopenharmony_ci      B2C_TEST_SCRIPT="bash -c 'source ./set-job-env-vars.sh; tar xf ${INSTALL_TARBALL_NAME}; ${B2C_TEST_SCRIPT}'"
263bf215546Sopenharmony_ci
264bf215546Sopenharmony_ci      # The Valve CI gateway receives jobs in a YAML format. Create a
265bf215546Sopenharmony_ci      # job description from the CI environment.
266bf215546Sopenharmony_ci      python3 "$CI_B2C_ARTIFACTS"/generate_b2c.py \
267bf215546Sopenharmony_ci        --ci-job-id "${CI_JOB_ID}" \
268bf215546Sopenharmony_ci        --container-cmd "${B2C_TEST_SCRIPT}" \
269bf215546Sopenharmony_ci        --initramfs-url "${B2C_INITRAMFS_URL}" \
270bf215546Sopenharmony_ci        --job-success-regex "${B2C_JOB_SUCCESS_REGEX}" \
271bf215546Sopenharmony_ci        --job-warn-regex "${B2C_JOB_WARN_REGEX}" \
272bf215546Sopenharmony_ci        --kernel-url "${B2C_KERNEL_URL}" \
273bf215546Sopenharmony_ci        --log-level "${B2C_LOG_LEVEL}" \
274bf215546Sopenharmony_ci        --poweroff-delay "${B2C_POWEROFF_DELAY}" \
275bf215546Sopenharmony_ci        --session-end-regex "${B2C_SESSION_END_REGEX}" \
276bf215546Sopenharmony_ci        --session-reboot-regex "${B2C_SESSION_REBOOT_REGEX}" \
277bf215546Sopenharmony_ci        --tags "${CI_RUNNER_TAGS}" \
278bf215546Sopenharmony_ci        --template "${B2C_JOB_TEMPLATE}" \
279bf215546Sopenharmony_ci        --timeout-boot-minutes "${B2C_TIMEOUT_BOOT_MINUTES}" \
280bf215546Sopenharmony_ci        --timeout-boot-retries "${B2C_TIMEOUT_BOOT_RETRIES}" \
281bf215546Sopenharmony_ci        --timeout-first-minutes "${B2C_TIMEOUT_FIRST_MINUTES}" \
282bf215546Sopenharmony_ci        --timeout-first-retries "${B2C_TIMEOUT_FIRST_RETRIES}" \
283bf215546Sopenharmony_ci        --timeout-minutes "${B2C_TIMEOUT_MINUTES}" \
284bf215546Sopenharmony_ci        --timeout-overall-minutes "${B2C_TIMEOUT_OVERALL_MINUTES}" \
285bf215546Sopenharmony_ci        --timeout-retries "${B2C_TIMEOUT_RETRIES}" \
286bf215546Sopenharmony_ci        --job-volume-exclusions "${B2C_JOB_VOLUME_EXCLUSIONS}" \
287bf215546Sopenharmony_ci        --local-container "${IMAGE_UNDER_TEST}" \
288bf215546Sopenharmony_ci        ${B2C_EXTRA_VOLUME_ARGS} \
289bf215546Sopenharmony_ci        --working-dir "$CI_PROJECT_DIR"
290bf215546Sopenharmony_ci
291bf215546Sopenharmony_ci      cat b2c.yml.jinja2
292bf215546Sopenharmony_ci
293bf215546Sopenharmony_ci      rm -rf ${JOB_FOLDER} || true
294bf215546Sopenharmony_ci      mkdir -v ${JOB_FOLDER}
295bf215546Sopenharmony_ci      # Create a script to regenerate the CI environment when this job
296bf215546Sopenharmony_ci      # begins running on the remote DUT.
297bf215546Sopenharmony_ci      set +x
298bf215546Sopenharmony_ci      "$CI_COMMON_SCRIPTS"/generate-env.sh > ${JOB_FOLDER}/set-job-env-vars.sh
299bf215546Sopenharmony_ci      chmod +x ${JOB_FOLDER}/set-job-env-vars.sh
300bf215546Sopenharmony_ci      echo "Variables passed through:"
301bf215546Sopenharmony_ci      cat ${JOB_FOLDER}/set-job-env-vars.sh
302bf215546Sopenharmony_ci      echo "export CI_JOB_JWT=${CI_JOB_JWT}" >> ${JOB_FOLDER}/set-job-env-vars.sh
303bf215546Sopenharmony_ci      set -x
304bf215546Sopenharmony_ci
305bf215546Sopenharmony_ci      # Copy the mesa install tarball to the job folder, for later extraction
306bf215546Sopenharmony_ci      mv "${INSTALL_TARBALL}" "${JOB_FOLDER}"
307bf215546Sopenharmony_ci
308bf215546Sopenharmony_ci  script: |
309bf215546Sopenharmony_ci      slugify () {
310bf215546Sopenharmony_ci          echo "$1" | sed -r s/[~\^]+//g | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | tr A-Z a-z
311bf215546Sopenharmony_ci      }
312bf215546Sopenharmony_ci
313bf215546Sopenharmony_ci      # Submit the job to Valve's CI gateway service with the CI
314bf215546Sopenharmony_ci      # provisioned job_folder.
315bf215546Sopenharmony_ci      env PYTHONUNBUFFERED=1 executorctl \
316bf215546Sopenharmony_ci          run -w b2c.yml.jinja2 -j $(slugify "$CI_JOB_NAME") -s ${JOB_FOLDER}
317bf215546Sopenharmony_ci
318bf215546Sopenharmony_ci      ls -l
319bf215546Sopenharmony_ci      # Anything our job places in results/ will be collected by the
320bf215546Sopenharmony_ci      # Gitlab coordinator for status presentation. results/junit.xml
321bf215546Sopenharmony_ci      # will be parsed by the UI for more detailed explanations of
322bf215546Sopenharmony_ci      # test execution.
323bf215546Sopenharmony_ci  artifacts:
324bf215546Sopenharmony_ci    when: always
325bf215546Sopenharmony_ci    name: "mesa_${CI_JOB_NAME}"
326bf215546Sopenharmony_ci    paths:
327bf215546Sopenharmony_ci      - ${JOB_FOLDER}/results
328bf215546Sopenharmony_ci    reports:
329bf215546Sopenharmony_ci      junit: ${JOB_FOLDER}/results/junit.xml
330bf215546Sopenharmony_ci
331bf215546Sopenharmony_ci.b2c-test-vk:
332bf215546Sopenharmony_ci  extends:
333bf215546Sopenharmony_ci    - .use-debian/x86_test-vk
334bf215546Sopenharmony_ci    - .b2c-test
335bf215546Sopenharmony_ci  needs:
336bf215546Sopenharmony_ci    - debian/x86_test-vk
337bf215546Sopenharmony_ci    - debian-testing
338bf215546Sopenharmony_ci
339bf215546Sopenharmony_ci.b2c-test-gl:
340bf215546Sopenharmony_ci  extends:
341bf215546Sopenharmony_ci    - .use-debian/x86_test-gl
342bf215546Sopenharmony_ci    - .b2c-test
343bf215546Sopenharmony_ci  needs:
344bf215546Sopenharmony_ci    - debian/x86_test-gl
345bf215546Sopenharmony_ci    - debian-testing
346