# For CI-tron based testing farm jobs. .ci-tron-test: extends: - .ci-tron-b2c-job-v1 variables: GIT_STRATEGY: none B2C_VERSION: v0.9.15.1 # Linux 6.13.7 SCRIPTS_DIR: install 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 CI_TRON__B2C_ARTIFACT_EXCLUSION: "*.shader_cache,install/*,*/install/*,*/vkd3d-proton.cache*,vkd3d-proton.cache*,*.qpa" 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_CMD: "curl --silent --fail-with-body {{ job.http.url }}$CI_TRON_HTTP_ARTIFACT__INSTALL__PATH | tar --zstd --extract && $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 # 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_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;36m[$(cut -d ' ' -f1 /proc/uptime)]: Submitting 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]