diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 558144d765d..00a99fb10f0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -126,6 +126,11 @@ variables: JOB_PRIORITY: 50 DATA_STORAGE_PATH: data_storage + CI_TRON_JOB_TEMPLATE_PROJECT: &ci-tron-template-project gfx-ci/ci-tron + CI_TRON_JOB_TEMPLATE_COMMIT: &ci-tron-template-commit e4ab9c5ecc941c7893d991cf723cde877b5dca8d + CI_TRON_JOB_TEMPLATE_PROJECT_URL: "https://gitlab.freedesktop.org/$CI_TRON_JOB_TEMPLATE_PROJECT" + + default: timeout: 1m # catch any jobs which don't specify a timeout id_tokens: @@ -197,6 +202,9 @@ include: - '/templates/debian.yml' - '/templates/fedora.yml' - '/templates/ci-fairy.yml' + - project: *ci-tron-template-project + ref: *ci-tron-template-commit + file: '/.gitlab-ci/dut.yml' - local: '.gitlab-ci/image-tags.yml' - local: '.gitlab-ci/lava/lava-gitlab-ci.yml' - local: '.gitlab-ci/container/gitlab-ci.yml' diff --git a/.gitlab-ci/b2c/b2c.yml.jinja2.jinja2 b/.gitlab-ci/b2c/b2c.yml.jinja2.jinja2 deleted file mode 100644 index f8a6e6cb721..00000000000 --- a/.gitlab-ci/b2c/b2c.yml.jinja2.jinja2 +++ /dev/null @@ -1,155 +0,0 @@ -version: 1 - -# Rules to match for a machine to qualify -target: - id: '{{ CI_RUNNER_DESCRIPTION }}' - -timeouts: - - first_console_activity: # This limits the time it can take to receive the first console log - minutes: {{ B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_MINUTES | default(0, true) }} - seconds: {{ B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS | default(0, true) }} - retries: {{ B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES }} - - console_activity: # Reset every time we receive a message from the logs - minutes: {{ B2C_TIMEOUT_CONSOLE_ACTIVITY_MINUTES | default(0, true) }} - seconds: {{ B2C_TIMEOUT_CONSOLE_ACTIVITY_SECONDS | default(0, true) }} - retries: {{ B2C_TIMEOUT_CONSOLE_ACTIVITY_RETRIES }} - - boot_cycle: - minutes: {{ B2C_TIMEOUT_BOOT_MINUTES | default(0, true) }} - seconds: {{ B2C_TIMEOUT_BOOT_SECONDS | default(0, true) }} - retries: {{ B2C_TIMEOUT_BOOT_RETRIES }} - - overall: # Maximum time the job can take, not overrideable by the "continue" deployment - minutes: {{ B2C_TIMEOUT_OVERALL_MINUTES | default(0, true) }} - seconds: {{ B2C_TIMEOUT_OVERALL_SECONDS | default(0, true) }} - retries: 0 - # no retries possible here - - watchdogs: - boot: - minutes: {{ B2C_TIMEOUT_BOOT_WD_MINUTES | default(0, true) }} - seconds: {{ B2C_TIMEOUT_BOOT_WD_SECONDS | default(0, true) }} - retries: {{ B2C_TIMEOUT_BOOT_WD_RETRIES | default(0, true) }} - -console_patterns: - session_end: - regex: >- - {{ B2C_SESSION_END_REGEX }} -{% if B2C_SESSION_REBOOT_REGEX %} - session_reboot: - regex: >- - {{ B2C_SESSION_REBOOT_REGEX }} -{% endif %} - job_success: - regex: >- - {{ B2C_JOB_SUCCESS_REGEX }} -{% if B2C_JOB_WARN_REGEX %} - job_warn: - regex: >- - {{ B2C_JOB_WARN_REGEX }} -{% endif %} - -{% if B2C_BOOT_WD_START_REGEX and B2C_BOOT_WD_STOP_REGEX %} - watchdogs: - boot: - start: - regex: >- - {{ B2C_BOOT_WD_START_REGEX }} - reset: - regex: >- - {{ B2C_BOOT_WD_RESET_REGEX | default(B2C_BOOT_WD_START_REGEX, true) }} - stop: - regex: >- - {{ B2C_BOOT_WD_STOP_REGEX }} -{% endif %} - -# Environment to deploy -deployment: - # Initial boot - start: - storage: -{% if B2C_IMAGESTORE_PLATFORM %} - imagestore: - public: - # List of images that should be pulled into the image store ahead of execution - images: - mars: - name: "{{ B2C_MACHINE_REGISTRATION_IMAGE }}" - platform: "{{ B2C_IMAGESTORE_PLATFORM }}" - tls_verify: false - {% set machine_registration_image="{% raw %}{{ job.imagestore.public.mars.image_id }}{% endraw %}" %} - telegraf: - name: "{{ B2C_TELEGRAF_IMAGE }}" - platform: "{{ B2C_IMAGESTORE_PLATFORM }}" - tls_verify: false - {% set telegraf_image="{% raw %}{{ job.imagestore.public.telegraf.image_id }}{% endraw %}" %} - image_under_test: - name: "{{ B2C_IMAGE_UNDER_TEST }}" - platform: "{{ B2C_IMAGESTORE_PLATFORM }}" - tls_verify: false - {% set image_under_test="{% raw %}{{ job.imagestore.public.image_under_test.image_id }}{% endraw %}" %} - nbd: - storage: - max_connections: 5 - size: 10G -{% endif %} - - http: - - path: "/install.tar.zst" - url: "{{ B2C_INSTALL_TARBALL_URL }}" - - path: "/b2c-extra-args" - data: > - b2c.pipefail b2c.poweroff_delay={{ B2C_POWEROFF_DELAY }} - b2c.minio="gateway,{{ '{{' }} minio_url }},{{ '{{' }} job_bucket_access_key }},{{ '{{' }} job_bucket_secret_key }}" - b2c.volume="{{ '{{' }} job_bucket }}-results,mirror=gateway/{{ '{{' }} job_bucket }},pull_on=pipeline_start,push_on=changes,overwrite{% for excl in B2C_JOB_VOLUME_EXCLUSIONS.split(',') %},exclude={{ excl }}{% endfor %},remove,expiration=pipeline_end,preserve" - {% for volume in B2C_VOLUMES %} - b2c.volume={{ volume }} - {% endfor %} - b2c.run_service="--privileged --tls-verify=false --pid=host {{ B2C_TELEGRAF_IMAGE }}" b2c.hostname=dut-{{ '{{' }} machine.full_name }} - b2c.run="-ti --tls-verify=false {{ B2C_MACHINE_REGISTRATION_IMAGE }} {% if B2C_MARS_SETUP_TAGS %}setup --tags {{ B2C_MARS_SETUP_TAGS }}{% else %}check{% endif %}" - b2c.run="-v {{ '{{' }} job_bucket }}-results:{{ CI_PROJECT_DIR }} -w {{ CI_PROJECT_DIR }} {% for mount_volume in B2C_MOUNT_VOLUMES %} -v {{ mount_volume }}{% endfor %} --tls-verify=false --entrypoint bash {{ B2C_IMAGE_UNDER_TEST }} -euc 'curl --fail -q {{ '{{' }} job.http.url }}/install.tar.zst | tar --zstd -x; {{ B2C_CONTAINER_CMD }}'" - kernel: -{% if B2C_KERNEL_URL %} - url: '{{ B2C_KERNEL_URL }}' -{% endif %} - - # NOTE: b2c.cache_device should not be here, but this works around - # a limitation of b2c which will be removed in the next release - cmdline: > - SALAD.machine_id={{ '{{' }} machine_id }} - console={{ '{{' }} local_tty_device }},115200 - b2c.ntp_peer=10.42.0.1 - b2c.extra_args_url={{ '{{' }} job.http.url }}/b2c-extra-args - {% if B2C_IMAGESTORE_PLATFORM is defined %} - {{ '{{' }} imagestore.mount("public").nfs.to_b2c_filesystem("publicimgstore") }} - b2c.storage="additionalimagestores=publicimgstore" - b2c.nbd=/dev/nbd0,host=ci-gateway,port={% raw %}{{ '{{' }} job.nbd.storage.tcp_port }}{% endraw %},connections=5 - b2c.cache_device=/dev/nbd0 - {% else %} - b2c.cache_device=auto - {% endif %} - {% if B2C_KERNEL_CMDLINE_EXTRAS is defined %} - {{ B2C_KERNEL_CMDLINE_EXTRAS }} - {% endif %} - -{% if B2C_INITRAMFS_URL or B2C_FIRMWARE_URL %} - initramfs: -{% if B2C_FIRMWARE_URL %} - - url: '{{ B2C_FIRMWARE_URL }}' -{% endif %} -{% if B2C_INITRAMFS_URL %} - - url: '{{ B2C_INITRAMFS_URL }}' -{% endif %} -{% endif %} - -{% if B2C_DTB_URL %} - dtb: - url: '{{ B2C_DTB_URL }}' -{% if B2C_DTB_MATCH %} - format: - archive: - match: "{{ B2C_DTB_MATCH }}" -{% endif %} -{% endif %} diff --git a/.gitlab-ci/b2c/generate_b2c.py b/.gitlab-ci/b2c/generate_b2c.py deleted file mode 100755 index 001720ad266..00000000000 --- a/.gitlab-ci/b2c/generate_b2c.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python3 - -# Copyright © 2022 Valve Corporation -# -# Permission is hereby granted, free of charge, to any person obtaining a -# copy of this software and associated documentation files (the "Software"), -# to deal in the Software without restriction, including without limitation -# the rights to use, copy, modify, merge, publish, distribute, sublicense, -# and/or sell copies of the Software, and to permit persons to whom the -# Software is furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice (including the next -# paragraph) shall be included in all copies or substantial portions of the -# Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS -# IN THE SOFTWARE. - -from jinja2 import Environment, FileSystemLoader -from os import environ, path - - -# Pass through all the CI and B2C environment variables -values = { - key: environ[key] - for key in environ if key.startswith("B2C_") or key.startswith("CI_") -} - -env = Environment(loader=FileSystemLoader(path.dirname(environ['B2C_JOB_TEMPLATE'])), - trim_blocks=True, lstrip_blocks=True) - -template = env.get_template(path.basename(environ['B2C_JOB_TEMPLATE'])) - -with open(path.splitext(path.basename(environ['B2C_JOB_TEMPLATE']))[0], "w") as f: - f.write(template.render(values)) diff --git a/.gitlab-ci/common/export-gitlab-job-env-for-dut.sh b/.gitlab-ci/common/export-gitlab-job-env-for-dut.sh index 82fe8096075..735588fedb0 100755 --- a/.gitlab-ci/common/export-gitlab-job-env-for-dut.sh +++ b/.gitlab-ci/common/export-gitlab-job-env-for-dut.sh @@ -1,7 +1,6 @@ #!/bin/bash VARS=( - ACO_DEBUG ANGLE_TAG ANGLE_TRACE_FILES_TAG ANV_DEBUG @@ -114,9 +113,6 @@ VARS=( PIGLIT_TRACES_FILE PIPELINE_ARTIFACTS_BASE RADEON_DEBUG - RADV_DEBUG - radv_enable_float16_gfx8 - RADV_PERFTEST S3_HOST S3_JWT_FILE S3_RESULTS_UPLOAD @@ -126,7 +122,6 @@ VARS=( VIRGL_HOST_API VIRGL_RENDER_SERVER VK_DRIVER - vk_require_etc2 WAFFLE_PLATFORM ZINK_DEBUG ZINK_DESCRIPTORS diff --git a/.gitlab-ci/prepare-artifacts-python.sh b/.gitlab-ci/prepare-artifacts-python.sh index 8b0e6d6a718..58b6add96ba 100755 --- a/.gitlab-ci/prepare-artifacts-python.sh +++ b/.gitlab-ci/prepare-artifacts-python.sh @@ -15,7 +15,6 @@ mkdir -p artifacts/ cp -Rp .gitlab-ci/report-flakes.py artifacts/ cp -Rp .gitlab-ci/setup-test-env.sh artifacts/ cp -Rp .gitlab-ci/common artifacts/ci-common -cp -Rp .gitlab-ci/b2c artifacts/ cp -Rp .gitlab-ci/bare-metal artifacts/ cp -Rp .gitlab-ci/lava artifacts/ cp -Rp .gitlab-ci/bin/*_logger.py artifacts/ diff --git a/.gitlab-ci/test/gitlab-ci.yml b/.gitlab-ci/test/gitlab-ci.yml index 46fc19989a5..481be545993 100644 --- a/.gitlab-ci/test/gitlab-ci.yml +++ b/.gitlab-ci/test/gitlab-ci.yml @@ -379,123 +379,53 @@ yaml-toml-shell-py-test: HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" FDO_CI_CONCURRENT: 0 # Default to number of CPUs -# For Valve's bare-metal testing farm jobs. +# For CI-tron based testing farm jobs. .b2c-test: - # It would be nice to use ci-templates within Mesa CI for this job's - # image:, but the integration is not possible for the current - # use-case. Within this job, two containers are managed. 1) the - # gitlab runner container from which the job is submitted to the - # DUT, and 2) the test container (e.g. debian/x86_64_test-vk) within - # which the test cases will run on the DUT. Since ci-templates and - # the associated image setting macros in this file rely on variables - # like FDO_DISTRIBUTION_TAG for *the* image, there is no way to - # depend on more than one image per job. So, the job container is - # built as part of the CI in the boot2container project. - image: registry.freedesktop.org/gfx-ci/ci-tron/mesa-trigger:2024-01-05.1 + extends: + - .ci-tron-b2c-job-v1 timeout: 1h 40m variables: - # No need to pull the whole git repo, the artifacts from python-artifacts - # contain everything we need. GIT_STRATEGY: none # boot2container initrd configuration parameters. B2C_VERSION: v0.9.14 - B2C_JOB_SUCCESS_REGEX: 'hwci: mesa: pass, exit_code: 0\r$' - B2C_LOG_LEVEL: 6 - B2C_POWEROFF_DELAY: 15 - B2C_SESSION_END_REGEX: '^.*It''s now safe to turn off your computer\r$' - B2C_SESSION_REBOOT_REGEX: '' - B2C_TIMEOUT_BOOT_MINUTES: 45 - B2C_TIMEOUT_BOOT_RETRIES: 0 - B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_MINUTES: 2 - B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3 - B2C_TIMEOUT_CONSOLE_ACTIVITY_MINUTES: 5 - B2C_TIMEOUT_OVERALL_MINUTES: 90 - B2C_TIMEOUT_CONSOLE_ACTIVITY_RETRIES: 0 - B2C_JOB_VOLUME_EXCLUSIONS: "*.shader_cache,install/*,*/install/*,*/vkd3d-proton.cache*,vkd3d-proton.cache*,*.qpa" - B2C_MACHINE_REGISTRATION_IMAGE: "registry.freedesktop.org/gfx-ci/ci-tron/machine-registration:latest" - B2C_TELEGRAF_IMAGE: "registry.freedesktop.org/gfx-ci/ci-tron/telegraf:latest" - B2C_KERNEL_CMDLINE_EXTRAS: "" - # As noted in the top description, we make a distinction between the - # container used by gitlab-runner to queue the work, and the container - # used by the DUTs/test machines. To make this distinction quite clear, - # we rename the variable. - B2C_IMAGE_UNDER_TEST: "$MESA_IMAGE" + SCRIPTS_DIR: install - B2C_INSTALL_TARBALL_URL: "https://${PIPELINE_ARTIFACTS_BASE}/${S3_ARTIFACT_NAME}.tar.zst" - B2C_CONTAINER_CMD: "./install/common/init-stage2.sh" + CI_TRON_PATTERN__JOB_SUCCESS__REGEX: 'hwci: mesa: pass, exit_code: 0\r$' + CI_TRON_PATTERN__SESSION_END__REGEX: '^.*It''s now safe to turn off your computer\r$' - CI_B2C_ARTIFACTS: "./artifacts/b2c" - CI_COMMON_SCRIPTS: "./artifacts/ci-common" - B2C_JOB_TEMPLATE: "${CI_B2C_ARTIFACTS}/b2c.yml.jinja2.jinja2" - JOB_FOLDER: "job_folder" + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 45 + 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_TIMEOUT__OVERALL__MINUTES: 90 + + 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 - needs: - - job: python-artifacts - artifacts: true - !reference [.required-for-hardware-jobs, needs] tags: - farm:$RUNNER_FARM_LOCATION - - $B2C_MARS_SETUP_TAGS + - $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: - # We don't want the tarball unpacking of .test, but will take the JWT bits. - - !reference [default, before_script] - - | - set -eux + set -eu - section_start b2c_kernel_boot "Booting hardware device" + eval "$S3_JWT_FILE_SCRIPT" - [ -d "$CI_B2C_ARTIFACTS" ] || exit 1 - [ -d "$CI_COMMON_SCRIPTS" ] || exit 1 - - # Pull all our images through our proxy registry - B2C_IMAGE_UNDER_TEST=${B2C_IMAGE_UNDER_TEST//registry.freedesktop.org/{{ fdo_proxy_registry \}\}} - B2C_MACHINE_REGISTRATION_IMAGE=${B2C_MACHINE_REGISTRATION_IMAGE//registry.freedesktop.org/{{ fdo_proxy_registry \}\}} - B2C_TELEGRAF_IMAGE=${B2C_TELEGRAF_IMAGE//registry.freedesktop.org/{{ fdo_proxy_registry \}\}} - - # The Valve CI gateway receives jobs in a YAML format. Create a - # job description from the CI environment. - python3 "$CI_B2C_ARTIFACTS"/generate_b2c.py - - cat b2c.yml.jinja2 - - rm -rf ${JOB_FOLDER} || true - mkdir -v ${JOB_FOLDER} - - # Create a script to regenerate the CI environment when this job - # begins running on the remote DUT. - set +x - "$CI_COMMON_SCRIPTS"/export-gitlab-job-env-for-dut.sh > ${JOB_FOLDER}/set-job-env-vars.sh - echo "export SCRIPTS_DIR=./install" >> ${JOB_FOLDER}/set-job-env-vars.sh - echo "Variables passed through:" - cat ${JOB_FOLDER}/set-job-env-vars.sh - set -x - - script: | - slugify () { - echo "$1" | sed -r s/[~\^]+//g | sed -r s/[^a-zA-Z0-9]+/-/g | sed -r s/^-+\|-+$//g | tr A-Z a-z - } - - # Submit the job to Valve's CI gateway service with the CI - # provisioned job_folder. - PYTHONUNBUFFERED=1 \ - executorctl run \ - --machine-id "$CI_RUNNER_DESCRIPTION" \ - --job-id $(slugify "$CI_JOB_NAME") \ - --share-directory "$JOB_FOLDER" \ - --wait \ - b2c.yml.jinja2 - - after_script: - # Keep the results path the same as baremetal and LAVA - - mkdir -p "${JOB_FOLDER}"/results - - mv "${JOB_FOLDER}"/results ./ - - !reference [default, after_script] + # 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 @@ -513,8 +443,14 @@ yaml-toml-shell-py-test: extends: - .b2c-test variables: - B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/package_files/519/download' # Linux 6.1 - B2C_INITRAMFS_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/initramfs.linux_amd64.cpio.xz' + 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/ci-tron/-/package_files/519/download' # Linux 6.1 + + # 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" .b2c-x86_64-test-vk: @@ -569,8 +505,8 @@ yaml-toml-shell-py-test: extends: - .b2c-test variables: - B2C_INITRAMFS_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/initramfs.linux_arm64.cpio.xz' - B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/linux-arm64' + 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" .b2c-arm64-test-vk: @@ -599,8 +535,8 @@ yaml-toml-shell-py-test: extends: - .b2c-test variables: - B2C_INITRAMFS_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/initramfs.linux_arm.cpio.xz' - B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/linux-arm' + 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" .b2c-arm32-test-vk: diff --git a/src/amd/ci/gitlab-ci-inc.yml b/src/amd/ci/gitlab-ci-inc.yml index f8766b719c8..e76f158f3c0 100644 --- a/src/amd/ci/gitlab-ci-inc.yml +++ b/src/amd/ci/gitlab-ci-inc.yml @@ -299,7 +299,7 @@ MESA_VK_IGNORE_CONFORMANCE_WARNING: 1 # Enable ETC2 emulation on non-native platforms (RENOIR,RDNA+, GFX6-8 dGPUs) vk_require_etc2: 'true' - B2C_JOB_WARN_REGEX: '\*ERROR\* ring .* timeout' + CI_TRON_PATTERN__JOB_WARN__REGEX: '\*ERROR\* ring .* timeout' .b2c-test-radv-vk: extends: @@ -307,36 +307,38 @@ - .radv-valve-rules - .test-radv variables: - B2C_KERNEL_URL: https://fs.mupuf.org/linux-6.6-b2c-radv-ci # 6.6 + CI_TRON_KERNEL__URL: https://fs.mupuf.org/linux-6.6-b2c-radv-ci # 6.6 + .tahiti-test-valve: variables: FDO_CI_CONCURRENT: 24 RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: amdgpu:codename:TAHITI - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:TAHITI + CI_TRON__B2C_SWAP_SIZE: '16g' .hawaii-test-valve: variables: FDO_CI_CONCURRENT: 24 RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: amdgpu:codename:HAWAII - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:HAWAII + CI_TRON__B2C_SWAP_SIZE: '16g' .kabini-test-valve: variables: RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: amdgpu:codename:KABINI - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=8g' + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:KABINI + CI_TRON__B2C_SWAP_SIZE: '8g' .polaris10-test-valve: variables: FDO_CI_CONCURRENT: 16 - B2C_TIMEOUT_BOOT_RETRIES: 4 - B2C_MARS_SETUP_TAGS: amdgpu:codename:POLARIS10 + CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES: 4 + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:POLARIS10 + CI_TRON__B2C_SWAP_SIZE: '16g' # (2022-01) tsc=unstable was added in response to this message in kmsg, # TSC found unstable after boot, most likely due to broken BIOS. Use 'tsc=unstable'. - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g tsc=unstable' + CI_TRON_KERNEL_CMDLINE__TSC_WORKAROUND: 'tsc=unstable' .polaris10-test-valve-mupuf: extends: .polaris10-test-valve @@ -351,16 +353,16 @@ .vega10-test-valve: variables: RUNNER_FARM_LOCATION: keywords - B2C_MARS_SETUP_TAGS: amdgpu:codename:VEGA10 + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:VEGA10 FDO_CI_CONCURRENT: 16 - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON__B2C_SWAP_SIZE: '16g' .renoir-test-valve: variables: RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: amdgpu:codename:RENOIR + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:RENOIR FDO_CI_CONCURRENT: 16 - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON__B2C_SWAP_SIZE: '16g' .navi10-test-valve: variables: @@ -368,8 +370,9 @@ # machine is using non-MSI IRQs and is generating a lot of # IRQs. This tends to confuse the interrupt controller and breaks # MSI IRQs leading to GPU hangs on amdgpu. - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g noapic' - B2C_MARS_SETUP_TAGS: amdgpu:codename:NAVI10 + CI_TRON_KERNEL_CMDLINE__APIC_WORKAROUND: 'noapic' + CI_TRON__B2C_SWAP_SIZE: '16g' + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:NAVI10 .navi10-test-valve-mupuf: extends: @@ -388,34 +391,34 @@ .navi21-test-valve: variables: RUNNER_FARM_LOCATION: keywords - B2C_MARS_SETUP_TAGS: amdgpu:codename:NAVI21 + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:NAVI21 FDO_CI_CONCURRENT: 32 - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON__B2C_SWAP_SIZE: '16g' .vangogh-test-valve: variables: RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: amdgpu:codename:VANGOGH + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:VANGOGH FDO_CI_CONCURRENT: 8 - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON__B2C_SWAP_SIZE: '16g' tags: - farm:$RUNNER_FARM_LOCATION - - $B2C_MARS_SETUP_TAGS + - $CI_TRON_DUT_SETUP_TAGS - $CI_TRON_JOB_PRIORITY_TAG .raphael-test-valve: variables: RUNNER_FARM_LOCATION: keywords - B2C_MARS_SETUP_TAGS: amdgpu:codename:RAPHAEL + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:RAPHAEL FDO_CI_CONCURRENT: 32 - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON__B2C_SWAP_SIZE: '16g' .navi31-test-valve: variables: RUNNER_FARM_LOCATION: keywords - B2C_MARS_SETUP_TAGS: amdgpu:codename:NAVI31 + CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:NAVI31 FDO_CI_CONCURRENT: 32 - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' + CI_TRON__B2C_SWAP_SIZE: '16g' ############### Fluster tests ############### .radeonsi-vaapi-fluster-rules: diff --git a/src/amd/ci/gitlab-ci.yml b/src/amd/ci/gitlab-ci.yml index 58b0e7c5f95..2a392057c7e 100644 --- a/src/amd/ci/gitlab-ci.yml +++ b/src/amd/ci/gitlab-ci.yml @@ -168,9 +168,8 @@ radeonsi-raven-vaapi-fluster: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-kabini - B2C_TIMEOUT_BOOT_MINUTES: 710 - B2C_TIMEOUT_OVERALL_MINUTES: 710 - B2C_TIMEOUT_BOOT_RETRIES: 0 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 710 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 710 radv-tahiti-vkcts: extends: @@ -181,9 +180,8 @@ radv-tahiti-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-tahiti - B2C_TIMEOUT_BOOT_MINUTES: 50 - B2C_TIMEOUT_OVERALL_MINUTES: 50 - B2C_TIMEOUT_BOOT_RETRIES: 0 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 50 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 50 RADV_PERFTEST: video_decode,video_encode radv-hawaii-vkcts: @@ -195,9 +193,8 @@ radv-hawaii-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-hawaii - B2C_TIMEOUT_BOOT_MINUTES: 50 - B2C_TIMEOUT_OVERALL_MINUTES: 50 - B2C_TIMEOUT_BOOT_RETRIES: 0 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 50 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 50 RADV_PERFTEST: video_decode,video_encode radv-polaris10-vkcts: @@ -209,8 +206,8 @@ radv-polaris10-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-polaris10 - B2C_TIMEOUT_BOOT_MINUTES: 70 - B2C_TIMEOUT_OVERALL_MINUTES: 70 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 70 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 70 RADV_PERFTEST: video_decode,video_encode radv_enable_float16_gfx8: true @@ -223,8 +220,8 @@ radv-vega10-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-vega10 - B2C_TIMEOUT_BOOT_MINUTES: 70 - B2C_TIMEOUT_OVERALL_MINUTES: 70 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 70 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 70 RADV_PERFTEST: transfer_queue,video_decode,video_encode radv-renoir-vkcts: @@ -236,8 +233,8 @@ radv-renoir-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-renoir - B2C_TIMEOUT_BOOT_MINUTES: 130 - B2C_TIMEOUT_OVERALL_MINUTES: 130 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 130 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 130 RADV_PERFTEST: transfer_queue,video_decode,video_encode FDO_CI_CONCURRENT: 12 # HACK: Reduce the memory pressure @@ -262,8 +259,8 @@ radv-navi21-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-navi21 - B2C_TIMEOUT_BOOT_MINUTES: 30 - B2C_TIMEOUT_OVERALL_MINUTES: 30 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 30 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 30 RADV_PERFTEST: transfer_queue radv-vangogh-vkcts: @@ -277,8 +274,8 @@ radv-vangogh-vkcts: DEQP_SUITE: radv-valve GPU_VERSION: radv-vangogh RADV_PERFTEST: transfer_queue - B2C_TIMEOUT_BOOT_MINUTES: 85 - B2C_TIMEOUT_OVERALL_MINUTES: 89 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 85 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 89 radeonsi-vangogh-glcts-full: extends: @@ -290,8 +287,8 @@ radeonsi-vangogh-glcts-full: variables: GPU_VERSION: radeonsi-vangogh DEQP_SUITE: radeonsi-vangogh - B2C_TIMEOUT_BOOT_MINUTES: 85 - B2C_TIMEOUT_OVERALL_MINUTES: 89 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 85 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 89 radeonsi-vangogh-glcts: extends: @@ -300,8 +297,8 @@ radeonsi-vangogh-glcts: timeout: 30m variables: DEQP_FRACTION: 4 - B2C_TIMEOUT_BOOT_MINUTES: 28 - B2C_TIMEOUT_OVERALL_MINUTES: 29 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 28 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 29 radv-raphael-vkcts: extends: @@ -312,8 +309,8 @@ radv-raphael-vkcts: variables: DEQP_SUITE: radv-valve GPU_VERSION: radv-raphael - B2C_TIMEOUT_BOOT_MINUTES: 35 - B2C_TIMEOUT_OVERALL_MINUTES: 40 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 35 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 40 RADV_PERFTEST: transfer_queue,video_decode,video_encode radv-navi31-vkcts: @@ -328,8 +325,8 @@ radv-navi31-vkcts: GPU_VERSION: radv-navi31 RADV_DEBUG: nomeshshader # Disable mesh shaders until task shaders stop hanging RADV_PERFTEST: transfer_queue,video_decode,video_encode - B2C_TIMEOUT_BOOT_MINUTES: 20 - B2C_TIMEOUT_OVERALL_MINUTES: 20 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 20 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 20 ############### Fossilize radv-fossils: diff --git a/src/etnaviv/ci/gitlab-ci.yml b/src/etnaviv/ci/gitlab-ci.yml index 016abac6978..189ac4c2ace 100644 --- a/src/etnaviv/ci/gitlab-ci.yml +++ b/src/etnaviv/ci/gitlab-ci.yml @@ -32,17 +32,19 @@ when: manual .austriancoder-ci-tron: + extends: + - .ci-tron-b2c-diskless-v1 variables: RUNNER_FARM_LOCATION: austriancoder - B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30 - B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3 - B2C_MARS_SETUP_TAGS: "$VIVANTE_MODEL_TAG,$VIVANTE_REVISION_TAG" + CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__MINUTES: 0.5 + CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__RETRIES: 3 + CI_TRON_DUT_SETUP_TAGS: "$VIVANTE_MODEL_TAG,$VIVANTE_REVISION_TAG" .austriancoder-imx6q-cubox-i:arm32: extends: - .austriancoder-ci-tron variables: - B2C_IMAGESTORE_PLATFORM: linux/arm/v7 + CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm/v7 VIVANTE_MODEL_TAG: "vivante:model:2000" VIVANTE_REVISION_TAG: "vivante:revision:5108" GPU_VERSION: "etnaviv-gc2000-r5108" @@ -77,7 +79,7 @@ - .austriancoder-ci-tron variables: FDO_CI_CONCURRENT: 4 - B2C_IMAGESTORE_PLATFORM: linux/arm/v7 + CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm/v7 VIVANTE_MODEL_TAG: "vivante:model:3000" VIVANTE_REVISION_TAG: "vivante:revision:5450" GPU_VERSION: "etnaviv-gc3000-r5450" @@ -92,7 +94,7 @@ - .austriancoder-ci-tron variables: FDO_CI_CONCURRENT: 4 - B2C_IMAGESTORE_PLATFORM: linux/arm64/v8 + CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm64/v8 VIVANTE_MODEL_TAG: "vivante:model:7000" VIVANTE_REVISION_TAG: "vivante:revision:6214" GPU_VERSION: "etnaviv-gc7000-r6214" @@ -123,7 +125,7 @@ gc2000-gles2: # Disable reporting, since DUTs don't have internet access FLAKES_CHANNEL: "" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" - B2C_TIMEOUT_OVERALL_MINUTES: 28 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 28 timeout: 30m # Disabled until the 168 fails get addressed @@ -138,7 +140,7 @@ gc2000-gles2: DEQP_FRACTION: 100 FDO_CI_CONCURRENT: 1 HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" - B2C_TIMEOUT_OVERALL_MINUTES: 28 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 28 timeout: 30m gc2000-piglit: @@ -147,7 +149,7 @@ gc2000-piglit: - .test-piglit variables: DEQP_SUITE: etnaviv-gc2000-piglit - B2C_TIMEOUT_OVERALL_MINUTES: 25 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 25 parallel: 2 timeout: 30m @@ -160,7 +162,7 @@ gc3000-gles2: DEQP_SUITE: etnaviv-gc3000 FLAKES_CHANNEL: "" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" - B2C_TIMEOUT_OVERALL_MINUTES: 28 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 28 timeout: 30m gc7000-imx8mq-gles2: @@ -172,7 +174,7 @@ gc7000-imx8mq-gles2: DEQP_SUITE: etnaviv-gc7000 FLAKES_CHANNEL: "" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" - B2C_TIMEOUT_OVERALL_MINUTES: 28 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 28 timeout: 30m gc7000-imx8mp-gles2: diff --git a/src/freedreno/ci/gitlab-ci-inc.yml b/src/freedreno/ci/gitlab-ci-inc.yml index e3385ae9075..2694caf08b9 100644 --- a/src/freedreno/ci/gitlab-ci-inc.yml +++ b/src/freedreno/ci/gitlab-ci-inc.yml @@ -357,17 +357,17 @@ variables: FDO_CI_CONCURRENT: 8 RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: dt_gpu:codename:a750 - B2C_KERNEL_URL: 'https://fs.mupuf.org/hdk8650/2025-01-23-msm-gpu-fault-fixes-msm-next-6dbabc6/linux-arm64' - B2C_FIRMWARE_URL: 'https://fs.mupuf.org/hdk8650/sm8650-hdk-firmware.cpio.xz' - B2C_DTB_URL: 'https://fs.mupuf.org/hdk8650/2025-01-23-msm-gpu-fault-fixes-msm-next-6dbabc6/linux-arm64.dtbs.cpio.xz' - B2C_DTB_MATCH: 'boot/dtbs/qcom/sm8650-hdk.dtb' - B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' - B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30 - B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3 - B2C_TIMEOUT_BOOT_WD_SECONDS: 20 - B2C_TIMEOUT_BOOT_WD_RETRIES: 5 - B2C_BOOT_WD_START_REGEX: 'VB: RWDeviceState: Succeed using devinfo!' # A line repeated during firmware boot - B2C_BOOT_WD_STOP_REGEX: 'CPU features: detected:' # A line repeated during Linux boot + CI_TRON_DUT_SETUP_TAGS: dt_gpu:codename:a750 + CI_TRON_KERNEL__URL: 'https://fs.mupuf.org/hdk8650/2025-01-23-msm-gpu-fault-fixes-msm-next-6dbabc6/linux-arm64' + CI_TRON_INITRAMFS_CATEGORY__50_PLATFORM__0__URL: 'https://fs.mupuf.org/hdk8650/sm8650-hdk-firmware.cpio.xz' + CI_TRON_DTB__0__URL: 'https://fs.mupuf.org/hdk8650/2025-01-23-msm-gpu-fault-fixes-msm-next-6dbabc6/linux-arm64.dtbs.cpio.xz' + CI_TRON_DTB__0__FORMAT__0__ARCHIVE__MATCH: 'boot/dtbs/qcom/sm8650-hdk.dtb' + CI_TRON__B2C_SWAP_SIZE: '16g' + CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__MINUTES: 0.5 + CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__RETRIES: 3 + CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__MINUTES: 0.3 + CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__RETRIES: 5 + CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__START_REGEX: 'VB: RWDeviceState: Succeed using devinfo!' # A line repeated during firmware boot + CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__STOP_REGEX: 'CPU features: detected:' # A line repeated during Linux boot GPU_VERSION: freedreno-a750 VK_DRIVER: freedreno diff --git a/src/freedreno/ci/gitlab-ci.yml b/src/freedreno/ci/gitlab-ci.yml index 2a6ac312103..920e74bf9fd 100644 --- a/src/freedreno/ci/gitlab-ci.yml +++ b/src/freedreno/ci/gitlab-ci.yml @@ -448,8 +448,8 @@ a750-angle: - .test-angle timeout: 25m # base runtime 10min total, 7min of testing variables: - B2C_TIMEOUT_BOOT_MINUTES: 17 - B2C_TIMEOUT_OVERALL_MINUTES: 20 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 17 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 20 DEQP_SUITE: tu-angle HWCI_TEST_SCRIPT: ./install/deqp-runner.sh @@ -460,8 +460,8 @@ a750-gl: - .valve-freedreno-manual-rules timeout: 30m # base runtime 11min total, 8min of testing variables: - B2C_TIMEOUT_BOOT_MINUTES: 22 - B2C_TIMEOUT_OVERALL_MINUTES: 25 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 22 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 25 HWCI_TEST_SCRIPT: install/deqp-runner.sh DEQP_SUITE: freedreno-a750 @@ -487,8 +487,8 @@ a750-vk: - .valve-turnip-manual-rules timeout: 75m # base runtime 54min total, 51min of testing variables: - B2C_TIMEOUT_BOOT_MINUTES: 65 - B2C_TIMEOUT_OVERALL_MINUTES: 70 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 65 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 70 DEQP_SUITE: freedreno-a750-vk HWCI_TEST_SCRIPT: ./install/deqp-runner.sh @@ -499,8 +499,8 @@ a750-vkd3d: - .valve-turnip-manual-rules timeout: 15m # base runtime 3min variables: - B2C_TIMEOUT_OVERALL_MINUTES: 12 - B2C_TIMEOUT_BOOT_MINUTES: 10 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 12 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 10 HWCI_TEST_SCRIPT: install/vkd3d-runner.sh GPU_VERSION: freedreno-a750 FDO_CI_CONCURRENT: 1 diff --git a/src/gallium/drivers/i915/ci/gitlab-ci.yml b/src/gallium/drivers/i915/ci/gitlab-ci.yml index e4757508a15..242a8c115f2 100644 --- a/src/gallium/drivers/i915/ci/gitlab-ci.yml +++ b/src/gallium/drivers/i915/ci/gitlab-ci.yml @@ -10,8 +10,8 @@ include: FDO_CI_CONCURRENT: 2 GPU_VERSION: i915-g33 RUNNER_FARM_LOCATION: ondracka - B2C_KERNEL_URL: https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/v0.9.12.3/downloads/linux-x86_64 - B2C_MARS_SETUP_TAGS: intelgpu:codename:G33 + CI_TRON_KERNEL__URL: https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/v0.9.12.3/downloads/linux-x86_64 + CI_TRON_DUT_SETUP_TAGS: intelgpu:codename:G33 i915-g33: extends: diff --git a/src/gallium/drivers/r300/ci/gitlab-ci.yml b/src/gallium/drivers/r300/ci/gitlab-ci.yml index d11aa0ecb45..2bb6f5ec1d4 100644 --- a/src/gallium/drivers/r300/ci/gitlab-ci.yml +++ b/src/gallium/drivers/r300/ci/gitlab-ci.yml @@ -9,19 +9,19 @@ include: FDO_CI_CONCURRENT: 2 RUNNER_FARM_LOCATION: ondracka # 6.6.8 kernel with radeon driver. - B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/ondracka/boot2container/-/wikis/uploads/1733cfc7cc114d08ec785044b24314f3/linux-x86_64' + CI_TRON_KERNEL__URL: 'https://gitlab.freedesktop.org/ondracka/boot2container/-/wikis/uploads/1733cfc7cc114d08ec785044b24314f3/linux-x86_64' .ondracka-rv530: extends: - .ondracka-generic variables: - B2C_MARS_SETUP_TAGS: radeon:codename:RV530 + CI_TRON_DUT_SETUP_TAGS: radeon:codename:RV530 .ondracka-rv380: extends: - .ondracka-generic variables: - B2C_MARS_SETUP_TAGS: radeon:codename:RV380 + CI_TRON_DUT_SETUP_TAGS: radeon:codename:RV380 r300-rv530-deqp-gles2: extends: @@ -60,7 +60,7 @@ r300-rv410-deqp-piglit: DEQP_SUITE: r300-rv410 GPU_VERSION: r300-rv410 PIGLIT_PLATFORM: gbm - B2C_MARS_SETUP_TAGS: radeon:codename:RV410 + CI_TRON_DUT_SETUP_TAGS: radeon:codename:RV410 r300-rv530-piglit: extends: diff --git a/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml b/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml index 004b9b55fc1..4c1d93f6a4f 100644 --- a/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml +++ b/src/gallium/drivers/zink/ci/gitlab-ci-inc.yml @@ -257,8 +257,8 @@ variables: DEQP_SUITE: zink-radv HWCI_TEST_SCRIPT: ./install/deqp-runner.sh - B2C_KERNEL_URL: https://fs.mupuf.org/linux-6.6-b2c-radv-ci # 6.6 - B2C_TIMEOUT_OVERALL_MINUTES: 20 + CI_TRON_KERNEL__URL: https://fs.mupuf.org/linux-6.6-b2c-radv-ci # 6.6 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 20 # Disable reporting, since DUTs don't have internet access FLAKES_CHANNEL: "" diff --git a/src/gallium/drivers/zink/ci/gitlab-ci.yml b/src/gallium/drivers/zink/ci/gitlab-ci.yml index 05785b22dc6..2e0cade3716 100644 --- a/src/gallium/drivers/zink/ci/gitlab-ci.yml +++ b/src/gallium/drivers/zink/ci/gitlab-ci.yml @@ -192,8 +192,8 @@ zink-tu-a750: - .test-piglit timeout: 25m # base runtime 11min total, 9min of testing variables: - B2C_TIMEOUT_BOOT_MINUTES: 18 - B2C_TIMEOUT_OVERALL_MINUTES: 20 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 18 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 20 DEQP_SUITE: zink-tu-a750 GPU_VERSION: zink-tu-a750 HWCI_START_WESTON: 1 @@ -207,8 +207,8 @@ zink-nvk-ga106-valve: - .nvk-ga106-valve variables: GPU_VERSION: zink-nvk-ga106 - B2C_TIMEOUT_BOOT_MINUTES: 50 - B2C_TIMEOUT_OVERALL_MINUTES: 55 # usual run time: 35min + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 50 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 55 # usual run time: 35min zink-radv-polaris10-valve: extends: @@ -219,7 +219,7 @@ zink-radv-polaris10-valve: variables: GPU_VERSION: zink-radv-polaris10 ZINK_DEBUG: quiet - B2C_TIMEOUT_OVERALL_MINUTES: 30 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 30 zink-radv-navi10-valve: extends: @@ -228,7 +228,7 @@ zink-radv-navi10-valve: - .zink-radv-manual-rules timeout: 40m variables: - B2C_TIMEOUT_OVERALL_MINUTES: 30 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 30 GPU_VERSION: zink-radv-navi10 zink-radv-vangogh-valve: @@ -240,10 +240,10 @@ zink-radv-vangogh-valve: - .zink-radv-rules variables: GPU_VERSION: zink-radv-vangogh - B2C_SESSION_REBOOT_REGEX: 'BUG: kernel NULL pointer dereference, address' - B2C_TIMEOUT_BOOT_RETRIES: 1 - B2C_TIMEOUT_BOOT_MINUTES: 30 - B2C_TIMEOUT_OVERALL_MINUTES: 30 + CI_TRON_PATTERN__SESSION_REBOOT__REGEX: 'BUG: kernel NULL pointer dereference, address' + CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES: 1 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 30 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 30 FDO_CI_CONCURRENT: 6 ZINK_DEBUG: vvl # Override the list of tags to drop `ci-tron:priority:low` @@ -259,6 +259,6 @@ zink-radv-navi31-valve: timeout: 1h 20m variables: GPU_VERSION: zink-radv-navi31 - B2C_TIMEOUT_BOOT_MINUTES: 75 - B2C_TIMEOUT_OVERALL_MINUTES: 75 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 75 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 75 ZINK_DEBUG: vvl diff --git a/src/nouveau/ci/gitlab-ci-inc.yml b/src/nouveau/ci/gitlab-ci-inc.yml index b1a6fcf4312..b368f7145d7 100644 --- a/src/nouveau/ci/gitlab-ci-inc.yml +++ b/src/nouveau/ci/gitlab-ci-inc.yml @@ -50,8 +50,8 @@ GPU_VERSION: nvk-ga106 FDO_CI_CONCURRENT: 16 RUNNER_FARM_LOCATION: mupuf - B2C_MARS_SETUP_TAGS: nvidia:codename:GA106 - B2C_JOB_WARN_REGEX: 'nouveau .+ job timeout|NMI backtrace for cpu \d+' + CI_TRON_DUT_SETUP_TAGS: nvidia:codename:GA106 + CI_TRON_PATTERN__JOB_WARN__REGEX: 'nouveau .+ job timeout|NMI backtrace for cpu \d+' # Default kernel is missing the GA106 GSP # 1 - clone b2c # 2 - apply all patches in patches/linux/* to your kernel @@ -59,6 +59,6 @@ # 4 - make linux LINUX_SRC=~/linux-nvk GOARCH=amd64 FEATURES=common,network,sensors,serial_adapters,ucode,nouveau # This is https://gitlab.freedesktop.org/gfxstrand/linux/-/commits/nvk # at d6820f36f375ece63226b26568be3a893985dc60 nouveau: set placement to original placement on uvmm validate. - B2C_KERNEL_URL: 'https://static.engestrom.ch/linux-6.8-nvk-ga106' + CI_TRON_KERNEL__URL: 'https://static.engestrom.ch/linux-6.8-nvk-ga106' # GSP is not loaded by default - B2C_KERNEL_CMDLINE_EXTRAS: 'nouveau.config=NvGspRm=1' + CI_TRON_KERNEL_CMDLINE__NOUVEAU_LOAD_GSP: 'nouveau.config=NvGspRm=1' diff --git a/src/nouveau/ci/gitlab-ci.yml b/src/nouveau/ci/gitlab-ci.yml index 5bad5bcebbc..afd8ce8b7bc 100644 --- a/src/nouveau/ci/gitlab-ci.yml +++ b/src/nouveau/ci/gitlab-ci.yml @@ -9,8 +9,8 @@ nvk-ga106-vkcts-valve: - .nvk-valve-manual-rules timeout: 120m # current runtime is ~70min variables: - B2C_TIMEOUT_BOOT_MINUTES: 110 - B2C_TIMEOUT_OVERALL_MINUTES: 115 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 110 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 115 nvk-ga106-vkd3d-valve: extends: @@ -21,7 +21,7 @@ nvk-ga106-vkd3d-valve: timeout: 15m # base runtime 7min variables: HWCI_TEST_SCRIPT: install/vkd3d-runner.sh - B2C_TIMEOUT_BOOT_MINUTES: 10 - B2C_TIMEOUT_OVERALL_MINUTES: 12 + CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 10 + CI_TRON_TIMEOUT__OVERALL__MINUTES: 12 # Random tests fail/crash when trying to run them in parallel FDO_CI_CONCURRENT: 1