mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 00:50:10 +01:00
Moving `ci-tron:priority:` out of the variable because an empty value will not be authorized, and this makes it obvious if that bug ever happens (job will not be picked up and gitlab will complain that `ci-tron:priority:` is not a tag registered by any runner), instead of getting picked up by any runner that will then reject (fail) the job. (This is caused by GitLab's API not allowing tags to be enforced when picking up jobs, resulting in jobs with missing tags being picked up by any runner, like the bug we had with the generic fd.o runners a few months ago.) v2 (Martin Roukala): * use the priority tags in all amdgpu jobs * add missing tags in etnaviv jobs * add missing tags in broadcom jobs Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37897>
277 lines
8.3 KiB
YAML
277 lines
8.3 KiB
YAML
# For CI-tron based testing farm jobs.
|
|
.ci-tron-test:
|
|
extends:
|
|
- .ci-tron-b2c-job-v1
|
|
variables:
|
|
GIT_STRATEGY: none
|
|
B2C_VERSION: v0.9.17 # Linux 6.16.3
|
|
|
|
CI_TRON_PATTERN__JOB_SUCCESS__REGEX: 'hwci: mesa: exit_code: 0\r$'
|
|
CI_TRON_PATTERN__SESSION_END__REGEX: '^.*It''s now safe to turn off your computer\r$'
|
|
|
|
CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__MINUTES: 2
|
|
CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__RETRIES: 3
|
|
CI_TRON_TIMEOUT__CONSOLE_ACTIVITY__MINUTES: 5
|
|
|
|
DEQP_RUNNER_SHADER_CACHE_DIR: /cache
|
|
VKD3D_SHADER_CACHE_PATH: /cache
|
|
PIGLIT_CACHE_DIR: /cache
|
|
|
|
CI_TRON__B2C_ARTIFACT_EXCLUSION: "install/*"
|
|
CI_TRON_HTTP_ARTIFACT__INSTALL__PATH: "/install.tar.zst"
|
|
CI_TRON_HTTP_ARTIFACT__INSTALL__URL: "https://$PIPELINE_ARTIFACTS_BASE/$S3_ARTIFACT_NAME.tar.zst"
|
|
|
|
CI_TRON__B2C_MACHINE_REGISTRATION_CMD: "setup --tags $CI_TRON_DUT_SETUP_TAGS"
|
|
|
|
CI_TRON__B2C_IMAGE_UNDER_TEST: $MESA_IMAGE
|
|
CI_TRON__B2C_EXEC_SHELL: bash
|
|
CI_TRON__B2C_EXEC_SHELL_FLAGS: "-euc -o pipefail"
|
|
CI_TRON__B2C_EXEC_CMD: "curl --silent --fail-with-body {{ job.http.url }}$CI_TRON_HTTP_ARTIFACT__INSTALL__PATH | tar --zstd --extract && export SCRIPTS_DIR=$$PWD/install && $$SCRIPTS_DIR/common/init-stage2.sh"
|
|
|
|
# Assume by default this is running deqp, as that's almost always true
|
|
HWCI_TEST_SCRIPT: install/deqp-runner.sh
|
|
|
|
# Per-job files need to be in CI_PROJECT_DIR
|
|
S3_JWT_FILE: $CI_PROJECT_DIR/s3_jwt
|
|
|
|
# Keep the job script in the artifacts
|
|
CI_TRON_JOB_SCRIPT_PATH: results/job_script.sh
|
|
needs:
|
|
- !reference [.required-for-hardware-jobs, needs]
|
|
tags:
|
|
- farm:$RUNNER_FARM_LOCATION
|
|
- ci-tron:priority:$CI_TRON_JOB_PRIORITY
|
|
- $CI_TRON_DUT_SETUP_TAGS
|
|
|
|
# Override the default before_script, as it is not compatible with the CI-tron environment. We just keep the clearing
|
|
# of the JWT token for security reasons
|
|
before_script:
|
|
- |
|
|
set -eu
|
|
|
|
eval "$S3_JWT_FILE_SCRIPT"
|
|
|
|
for var in CI_TRON_DUT_SETUP_TAGS; do
|
|
if [[ -z "$(eval echo \${$var:-})" ]]; then
|
|
echo "The required variable '$var' is missing"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
# Open a section that will be closed by b2c
|
|
echo -e "\n\e[0Ksection_start:`date +%s`:b2c_kernel_boot[collapsed=true]\r\e[0K\e[0;36mSubmitting the CI-tron job and booting the DUT\e[0m\n"
|
|
|
|
# Anything our job places in results/ will be collected by the
|
|
# Gitlab coordinator for status presentation. results/junit.xml
|
|
# will be parsed by the UI for more detailed explanations of
|
|
# test execution.
|
|
artifacts:
|
|
when: always
|
|
name: "${CI_PROJECT_NAME}_${CI_JOB_NAME_SLUG}"
|
|
paths:
|
|
- results
|
|
reports:
|
|
junit: results/**/junit.xml
|
|
|
|
.ci-tron-x86_64-test:
|
|
extends:
|
|
- .ci-tron-test
|
|
variables:
|
|
CI_TRON_INITRAMFS__B2C__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/initramfs.linux_amd64.cpio.xz'
|
|
CI_TRON_KERNEL__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-x86_64'
|
|
|
|
# Set the following variables if you need AMD, Intel, or NVIDIA support
|
|
# CI_TRON_INITRAMFS__DEPMOD__URL: "https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-x86_64.depmod.cpio.xz"
|
|
# CI_TRON_INITRAMFS__GPU__URL: "https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-x86_64.gpu.cpio"
|
|
# CI_TRON_INITRAMFS__GPU__FORMAT__0__ARCHIVE__KEEP__0__PATH: "(lib/(modules|firmware/amdgpu)/.*)"
|
|
|
|
S3_ARTIFACT_NAME: "mesa-x86_64-default-debugoptimized"
|
|
|
|
.ci-tron-x86_64-test-vk:
|
|
extends:
|
|
- .use-debian/x86_64_test-vk
|
|
- .ci-tron-x86_64-test
|
|
needs:
|
|
- job: debian/x86_64_test-vk
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-x86_64
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-x86_64-test-vk-manual:
|
|
extends:
|
|
- .use-debian/x86_64_test-vk
|
|
- .ci-tron-x86_64-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "debian-build-x86_64"
|
|
needs:
|
|
- job: debian/x86_64_test-vk
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-build-x86_64
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-x86_64-test-gl:
|
|
extends:
|
|
- .use-debian/x86_64_test-gl
|
|
- .ci-tron-x86_64-test
|
|
needs:
|
|
- job: debian/x86_64_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-x86_64
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-x86_64-test-gl-manual:
|
|
extends:
|
|
- .use-debian/x86_64_test-gl
|
|
- .ci-tron-x86_64-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "debian-build-x86_64"
|
|
needs:
|
|
- job: debian/x86_64_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-build-x86_64
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm64-test:
|
|
extends:
|
|
- .ci-tron-test
|
|
variables:
|
|
CI_TRON_INITRAMFS__B2C__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/initramfs.linux_arm64.cpio.xz'
|
|
CI_TRON_KERNEL__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-arm64'
|
|
S3_ARTIFACT_NAME: "mesa-arm64-default-debugoptimized"
|
|
|
|
.ci-tron-arm64-test-vk:
|
|
extends:
|
|
- .use-debian/arm64_test-vk
|
|
- .ci-tron-arm64-test
|
|
needs:
|
|
- job: debian/arm64_test-vk
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm64
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm64-test-asan-vk:
|
|
extends:
|
|
- .use-debian/arm64_test-vk
|
|
- .ci-tron-arm64-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "mesa-arm64-asan-debugoptimized"
|
|
DEQP_FORCE_ASAN: 1
|
|
needs:
|
|
- job: debian/arm64_test-vk
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm64-asan
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm64-test-ubsan-vk:
|
|
extends:
|
|
- .use-debian/arm64_test-vk
|
|
- .ci-tron-arm64-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "mesa-arm64-ubsan-debugoptimized"
|
|
needs:
|
|
- job: debian/arm64_test-vk
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm64-ubsan
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm64-test-gl:
|
|
extends:
|
|
- .use-debian/arm64_test-gl
|
|
- .ci-tron-arm64-test
|
|
needs:
|
|
- job: debian/arm64_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm64
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm64-test-asan-gl:
|
|
extends:
|
|
- .use-debian/arm64_test-gl
|
|
- .ci-tron-arm64-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "mesa-arm64-asan-debugoptimized"
|
|
DEQP_FORCE_ASAN: 1
|
|
needs:
|
|
- job: debian/arm64_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm64-asan
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm64-test-ubsan-gl:
|
|
extends:
|
|
- .use-debian/arm64_test-gl
|
|
- .ci-tron-arm64-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "mesa-arm64-ubsan-debugoptimized"
|
|
needs:
|
|
- job: debian/arm64_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm64-ubsan
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm32-test:
|
|
extends:
|
|
- .ci-tron-test
|
|
variables:
|
|
CI_TRON_INITRAMFS__B2C__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/initramfs.linux_arm.cpio.xz'
|
|
CI_TRON_KERNEL__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-arm'
|
|
S3_ARTIFACT_NAME: "mesa-arm32-default-debugoptimized"
|
|
|
|
.ci-tron-arm32-test-vk:
|
|
extends:
|
|
- .use-debian/arm32_test-vk
|
|
- .ci-tron-arm32-test
|
|
needs:
|
|
- job: debian/arm32_test-vk
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm32
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm32-test-gl:
|
|
extends:
|
|
- .use-debian/arm32_test-gl
|
|
- .ci-tron-arm32-test
|
|
needs:
|
|
- job: debian/arm32_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm32
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|
|
|
|
.ci-tron-arm32-test-asan-gl:
|
|
extends:
|
|
- .use-debian/arm32_test-gl
|
|
- .ci-tron-arm32-test
|
|
variables:
|
|
S3_ARTIFACT_NAME: "mesa-arm32-asan-debugoptimized"
|
|
DEQP_FORCE_ASAN: 1
|
|
needs:
|
|
- job: debian/arm32_test-gl
|
|
artifacts: false
|
|
optional: true
|
|
- job: debian-arm32-asan
|
|
artifacts: false
|
|
- !reference [.ci-tron-test, needs]
|