ci/ci-tron: switch to the upstream ci-tron template

Up until now, every project using CI-Tron had to write their own job
submission flow because CI-Tron itself was not providing any official
way of interacting with it via GitLab.

This however changed, and the solution is vastly superior to what we
have been using in Mesa:

 * Ability to pass all the environment variables of the job to the DUT,
   so no need to remember to add variables in
   `export-gitlab-job-env-for-dut.sh` anymore

 * No dependency on Mesa code, which means no need to wait on
   python-artifacts and the ability to replicate a run by just copying
   the job description outputted by the job \o/

 * Ability to have as many initrd, HTTP, and TFTP artifacts as wanted

 * Ability to expose a variable through a TFTP/HTTP endpoint or as an
   initrd

 * Ability to overwrite the platform environment (machine-specific FW)

 * Ability to have as many kernel cmdline variables, all merged when
   generating the final cmdline. This makes it easy to share some
   snippets of cmdline between jobs

Transitioning from the custom to the generic template is however pretty
involved. This commit does the minimum changes needed to switch to the
new model, often simply replacing the B2C_ prefix with CI_TRON_.

Further renaming of "b2c" prefixes into "ci-tron" is left for future
commits.

Co-authored-by: Eric Engestrom <eric@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34795>
This commit is contained in:
Martin Roukala (né Peres) 2025-03-15 14:49:11 +02:00 committed by Marge Bot
parent a062f0dd3d
commit 37ace710fa
17 changed files with 160 additions and 415 deletions

View file

@ -126,6 +126,11 @@ variables:
JOB_PRIORITY: 50 JOB_PRIORITY: 50
DATA_STORAGE_PATH: data_storage 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: default:
timeout: 1m # catch any jobs which don't specify a timeout timeout: 1m # catch any jobs which don't specify a timeout
id_tokens: id_tokens:
@ -197,6 +202,9 @@ include:
- '/templates/debian.yml' - '/templates/debian.yml'
- '/templates/fedora.yml' - '/templates/fedora.yml'
- '/templates/ci-fairy.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/image-tags.yml'
- local: '.gitlab-ci/lava/lava-gitlab-ci.yml' - local: '.gitlab-ci/lava/lava-gitlab-ci.yml'
- local: '.gitlab-ci/container/gitlab-ci.yml' - local: '.gitlab-ci/container/gitlab-ci.yml'

View file

@ -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 %}

View file

@ -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))

View file

@ -1,7 +1,6 @@
#!/bin/bash #!/bin/bash
VARS=( VARS=(
ACO_DEBUG
ANGLE_TAG ANGLE_TAG
ANGLE_TRACE_FILES_TAG ANGLE_TRACE_FILES_TAG
ANV_DEBUG ANV_DEBUG
@ -114,9 +113,6 @@ VARS=(
PIGLIT_TRACES_FILE PIGLIT_TRACES_FILE
PIPELINE_ARTIFACTS_BASE PIPELINE_ARTIFACTS_BASE
RADEON_DEBUG RADEON_DEBUG
RADV_DEBUG
radv_enable_float16_gfx8
RADV_PERFTEST
S3_HOST S3_HOST
S3_JWT_FILE S3_JWT_FILE
S3_RESULTS_UPLOAD S3_RESULTS_UPLOAD
@ -126,7 +122,6 @@ VARS=(
VIRGL_HOST_API VIRGL_HOST_API
VIRGL_RENDER_SERVER VIRGL_RENDER_SERVER
VK_DRIVER VK_DRIVER
vk_require_etc2
WAFFLE_PLATFORM WAFFLE_PLATFORM
ZINK_DEBUG ZINK_DEBUG
ZINK_DESCRIPTORS ZINK_DESCRIPTORS

View file

@ -15,7 +15,6 @@ mkdir -p artifacts/
cp -Rp .gitlab-ci/report-flakes.py artifacts/ cp -Rp .gitlab-ci/report-flakes.py artifacts/
cp -Rp .gitlab-ci/setup-test-env.sh artifacts/ cp -Rp .gitlab-ci/setup-test-env.sh artifacts/
cp -Rp .gitlab-ci/common artifacts/ci-common 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/bare-metal artifacts/
cp -Rp .gitlab-ci/lava artifacts/ cp -Rp .gitlab-ci/lava artifacts/
cp -Rp .gitlab-ci/bin/*_logger.py artifacts/ cp -Rp .gitlab-ci/bin/*_logger.py artifacts/

View file

@ -379,123 +379,53 @@ yaml-toml-shell-py-test:
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
FDO_CI_CONCURRENT: 0 # Default to number of CPUs 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: .b2c-test:
# It would be nice to use ci-templates within Mesa CI for this job's extends:
# image:, but the integration is not possible for the current - .ci-tron-b2c-job-v1
# 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
timeout: 1h 40m timeout: 1h 40m
variables: variables:
# No need to pull the whole git repo, the artifacts from python-artifacts
# contain everything we need.
GIT_STRATEGY: none GIT_STRATEGY: none
# boot2container initrd configuration parameters. # boot2container initrd configuration parameters.
B2C_VERSION: v0.9.14 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 SCRIPTS_DIR: install
# 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"
B2C_INSTALL_TARBALL_URL: "https://${PIPELINE_ARTIFACTS_BASE}/${S3_ARTIFACT_NAME}.tar.zst" CI_TRON_PATTERN__JOB_SUCCESS__REGEX: 'hwci: mesa: pass, exit_code: 0\r$'
B2C_CONTAINER_CMD: "./install/common/init-stage2.sh" CI_TRON_PATTERN__SESSION_END__REGEX: '^.*It''s now safe to turn off your computer\r$'
CI_B2C_ARTIFACTS: "./artifacts/b2c" CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 45
CI_COMMON_SCRIPTS: "./artifacts/ci-common" CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__MINUTES: 2
B2C_JOB_TEMPLATE: "${CI_B2C_ARTIFACTS}/b2c.yml.jinja2.jinja2" CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__RETRIES: 3
JOB_FOLDER: "job_folder" 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 # Assume by default this is running deqp, as that's almost always true
HWCI_TEST_SCRIPT: install/deqp-runner.sh HWCI_TEST_SCRIPT: install/deqp-runner.sh
needs: needs:
- job: python-artifacts
artifacts: true
- !reference [.required-for-hardware-jobs, needs] - !reference [.required-for-hardware-jobs, needs]
tags: tags:
- farm:$RUNNER_FARM_LOCATION - 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: 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 # Open a section that will be closed by b2c
[ -d "$CI_COMMON_SCRIPTS" ] || exit 1 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"
# 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]
# Anything our job places in results/ will be collected by the # Anything our job places in results/ will be collected by the
# Gitlab coordinator for status presentation. results/junit.xml # Gitlab coordinator for status presentation. results/junit.xml
@ -513,8 +443,14 @@ yaml-toml-shell-py-test:
extends: extends:
- .b2c-test - .b2c-test
variables: variables:
B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/gfx-ci/ci-tron/-/package_files/519/download' # Linux 6.1 CI_TRON_INITRAMFS__B2C__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/initramfs.linux_amd64.cpio.xz'
B2C_INITRAMFS_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" S3_ARTIFACT_NAME: "mesa-x86_64-default-debugoptimized"
.b2c-x86_64-test-vk: .b2c-x86_64-test-vk:
@ -569,8 +505,8 @@ yaml-toml-shell-py-test:
extends: extends:
- .b2c-test - .b2c-test
variables: variables:
B2C_INITRAMFS_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/initramfs.linux_arm64.cpio.xz' CI_TRON_INITRAMFS__B2C__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_KERNEL__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-arm64'
S3_ARTIFACT_NAME: "mesa-arm64-default-debugoptimized" S3_ARTIFACT_NAME: "mesa-arm64-default-debugoptimized"
.b2c-arm64-test-vk: .b2c-arm64-test-vk:
@ -599,8 +535,8 @@ yaml-toml-shell-py-test:
extends: extends:
- .b2c-test - .b2c-test
variables: variables:
B2C_INITRAMFS_URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/${B2C_VERSION}/downloads/initramfs.linux_arm.cpio.xz' CI_TRON_INITRAMFS__B2C__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_KERNEL__URL: 'https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/$B2C_VERSION/downloads/linux-arm'
S3_ARTIFACT_NAME: "mesa-arm32-default-debugoptimized" S3_ARTIFACT_NAME: "mesa-arm32-default-debugoptimized"
.b2c-arm32-test-vk: .b2c-arm32-test-vk:

View file

@ -299,7 +299,7 @@
MESA_VK_IGNORE_CONFORMANCE_WARNING: 1 MESA_VK_IGNORE_CONFORMANCE_WARNING: 1
# Enable ETC2 emulation on non-native platforms (RENOIR,RDNA+, GFX6-8 dGPUs) # Enable ETC2 emulation on non-native platforms (RENOIR,RDNA+, GFX6-8 dGPUs)
vk_require_etc2: 'true' vk_require_etc2: 'true'
B2C_JOB_WARN_REGEX: '\*ERROR\* ring .* timeout' CI_TRON_PATTERN__JOB_WARN__REGEX: '\*ERROR\* ring .* timeout'
.b2c-test-radv-vk: .b2c-test-radv-vk:
extends: extends:
@ -307,36 +307,38 @@
- .radv-valve-rules - .radv-valve-rules
- .test-radv - .test-radv
variables: 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: .tahiti-test-valve:
variables: variables:
FDO_CI_CONCURRENT: 24 FDO_CI_CONCURRENT: 24
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: amdgpu:codename:TAHITI CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:TAHITI
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
.hawaii-test-valve: .hawaii-test-valve:
variables: variables:
FDO_CI_CONCURRENT: 24 FDO_CI_CONCURRENT: 24
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: amdgpu:codename:HAWAII CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:HAWAII
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
.kabini-test-valve: .kabini-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: amdgpu:codename:KABINI CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:KABINI
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=8g' CI_TRON__B2C_SWAP_SIZE: '8g'
.polaris10-test-valve: .polaris10-test-valve:
variables: variables:
FDO_CI_CONCURRENT: 16 FDO_CI_CONCURRENT: 16
B2C_TIMEOUT_BOOT_RETRIES: 4 CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES: 4
B2C_MARS_SETUP_TAGS: amdgpu:codename:POLARIS10 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, # (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'. # 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: .polaris10-test-valve-mupuf:
extends: .polaris10-test-valve extends: .polaris10-test-valve
@ -351,16 +353,16 @@
.vega10-test-valve: .vega10-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: keywords RUNNER_FARM_LOCATION: keywords
B2C_MARS_SETUP_TAGS: amdgpu:codename:VEGA10 CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:VEGA10
FDO_CI_CONCURRENT: 16 FDO_CI_CONCURRENT: 16
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
.renoir-test-valve: .renoir-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: amdgpu:codename:RENOIR CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:RENOIR
FDO_CI_CONCURRENT: 16 FDO_CI_CONCURRENT: 16
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
.navi10-test-valve: .navi10-test-valve:
variables: variables:
@ -368,8 +370,9 @@
# machine is using non-MSI IRQs and is generating a lot of # machine is using non-MSI IRQs and is generating a lot of
# IRQs. This tends to confuse the interrupt controller and breaks # IRQs. This tends to confuse the interrupt controller and breaks
# MSI IRQs leading to GPU hangs on amdgpu. # MSI IRQs leading to GPU hangs on amdgpu.
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g noapic' CI_TRON_KERNEL_CMDLINE__APIC_WORKAROUND: 'noapic'
B2C_MARS_SETUP_TAGS: amdgpu:codename:NAVI10 CI_TRON__B2C_SWAP_SIZE: '16g'
CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:NAVI10
.navi10-test-valve-mupuf: .navi10-test-valve-mupuf:
extends: extends:
@ -388,34 +391,34 @@
.navi21-test-valve: .navi21-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: keywords RUNNER_FARM_LOCATION: keywords
B2C_MARS_SETUP_TAGS: amdgpu:codename:NAVI21 CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:NAVI21
FDO_CI_CONCURRENT: 32 FDO_CI_CONCURRENT: 32
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
.vangogh-test-valve: .vangogh-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: amdgpu:codename:VANGOGH CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:VANGOGH
FDO_CI_CONCURRENT: 8 FDO_CI_CONCURRENT: 8
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
tags: tags:
- farm:$RUNNER_FARM_LOCATION - farm:$RUNNER_FARM_LOCATION
- $B2C_MARS_SETUP_TAGS - $CI_TRON_DUT_SETUP_TAGS
- $CI_TRON_JOB_PRIORITY_TAG - $CI_TRON_JOB_PRIORITY_TAG
.raphael-test-valve: .raphael-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: keywords RUNNER_FARM_LOCATION: keywords
B2C_MARS_SETUP_TAGS: amdgpu:codename:RAPHAEL CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:RAPHAEL
FDO_CI_CONCURRENT: 32 FDO_CI_CONCURRENT: 32
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
.navi31-test-valve: .navi31-test-valve:
variables: variables:
RUNNER_FARM_LOCATION: keywords RUNNER_FARM_LOCATION: keywords
B2C_MARS_SETUP_TAGS: amdgpu:codename:NAVI31 CI_TRON_DUT_SETUP_TAGS: amdgpu:codename:NAVI31
FDO_CI_CONCURRENT: 32 FDO_CI_CONCURRENT: 32
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
############### Fluster tests ############### ############### Fluster tests ###############
.radeonsi-vaapi-fluster-rules: .radeonsi-vaapi-fluster-rules:

View file

@ -168,9 +168,8 @@ radeonsi-raven-vaapi-fluster:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-kabini GPU_VERSION: radv-kabini
B2C_TIMEOUT_BOOT_MINUTES: 710 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 710
B2C_TIMEOUT_OVERALL_MINUTES: 710 CI_TRON_TIMEOUT__OVERALL__MINUTES: 710
B2C_TIMEOUT_BOOT_RETRIES: 0
radv-tahiti-vkcts: radv-tahiti-vkcts:
extends: extends:
@ -181,9 +180,8 @@ radv-tahiti-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-tahiti GPU_VERSION: radv-tahiti
B2C_TIMEOUT_BOOT_MINUTES: 50 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 50
B2C_TIMEOUT_OVERALL_MINUTES: 50 CI_TRON_TIMEOUT__OVERALL__MINUTES: 50
B2C_TIMEOUT_BOOT_RETRIES: 0
RADV_PERFTEST: video_decode,video_encode RADV_PERFTEST: video_decode,video_encode
radv-hawaii-vkcts: radv-hawaii-vkcts:
@ -195,9 +193,8 @@ radv-hawaii-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-hawaii GPU_VERSION: radv-hawaii
B2C_TIMEOUT_BOOT_MINUTES: 50 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 50
B2C_TIMEOUT_OVERALL_MINUTES: 50 CI_TRON_TIMEOUT__OVERALL__MINUTES: 50
B2C_TIMEOUT_BOOT_RETRIES: 0
RADV_PERFTEST: video_decode,video_encode RADV_PERFTEST: video_decode,video_encode
radv-polaris10-vkcts: radv-polaris10-vkcts:
@ -209,8 +206,8 @@ radv-polaris10-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-polaris10 GPU_VERSION: radv-polaris10
B2C_TIMEOUT_BOOT_MINUTES: 70 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 70
B2C_TIMEOUT_OVERALL_MINUTES: 70 CI_TRON_TIMEOUT__OVERALL__MINUTES: 70
RADV_PERFTEST: video_decode,video_encode RADV_PERFTEST: video_decode,video_encode
radv_enable_float16_gfx8: true radv_enable_float16_gfx8: true
@ -223,8 +220,8 @@ radv-vega10-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-vega10 GPU_VERSION: radv-vega10
B2C_TIMEOUT_BOOT_MINUTES: 70 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 70
B2C_TIMEOUT_OVERALL_MINUTES: 70 CI_TRON_TIMEOUT__OVERALL__MINUTES: 70
RADV_PERFTEST: transfer_queue,video_decode,video_encode RADV_PERFTEST: transfer_queue,video_decode,video_encode
radv-renoir-vkcts: radv-renoir-vkcts:
@ -236,8 +233,8 @@ radv-renoir-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-renoir GPU_VERSION: radv-renoir
B2C_TIMEOUT_BOOT_MINUTES: 130 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 130
B2C_TIMEOUT_OVERALL_MINUTES: 130 CI_TRON_TIMEOUT__OVERALL__MINUTES: 130
RADV_PERFTEST: transfer_queue,video_decode,video_encode RADV_PERFTEST: transfer_queue,video_decode,video_encode
FDO_CI_CONCURRENT: 12 # HACK: Reduce the memory pressure FDO_CI_CONCURRENT: 12 # HACK: Reduce the memory pressure
@ -262,8 +259,8 @@ radv-navi21-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-navi21 GPU_VERSION: radv-navi21
B2C_TIMEOUT_BOOT_MINUTES: 30 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 30
B2C_TIMEOUT_OVERALL_MINUTES: 30 CI_TRON_TIMEOUT__OVERALL__MINUTES: 30
RADV_PERFTEST: transfer_queue RADV_PERFTEST: transfer_queue
radv-vangogh-vkcts: radv-vangogh-vkcts:
@ -277,8 +274,8 @@ radv-vangogh-vkcts:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-vangogh GPU_VERSION: radv-vangogh
RADV_PERFTEST: transfer_queue RADV_PERFTEST: transfer_queue
B2C_TIMEOUT_BOOT_MINUTES: 85 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 85
B2C_TIMEOUT_OVERALL_MINUTES: 89 CI_TRON_TIMEOUT__OVERALL__MINUTES: 89
radeonsi-vangogh-glcts-full: radeonsi-vangogh-glcts-full:
extends: extends:
@ -290,8 +287,8 @@ radeonsi-vangogh-glcts-full:
variables: variables:
GPU_VERSION: radeonsi-vangogh GPU_VERSION: radeonsi-vangogh
DEQP_SUITE: radeonsi-vangogh DEQP_SUITE: radeonsi-vangogh
B2C_TIMEOUT_BOOT_MINUTES: 85 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 85
B2C_TIMEOUT_OVERALL_MINUTES: 89 CI_TRON_TIMEOUT__OVERALL__MINUTES: 89
radeonsi-vangogh-glcts: radeonsi-vangogh-glcts:
extends: extends:
@ -300,8 +297,8 @@ radeonsi-vangogh-glcts:
timeout: 30m timeout: 30m
variables: variables:
DEQP_FRACTION: 4 DEQP_FRACTION: 4
B2C_TIMEOUT_BOOT_MINUTES: 28 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 28
B2C_TIMEOUT_OVERALL_MINUTES: 29 CI_TRON_TIMEOUT__OVERALL__MINUTES: 29
radv-raphael-vkcts: radv-raphael-vkcts:
extends: extends:
@ -312,8 +309,8 @@ radv-raphael-vkcts:
variables: variables:
DEQP_SUITE: radv-valve DEQP_SUITE: radv-valve
GPU_VERSION: radv-raphael GPU_VERSION: radv-raphael
B2C_TIMEOUT_BOOT_MINUTES: 35 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 35
B2C_TIMEOUT_OVERALL_MINUTES: 40 CI_TRON_TIMEOUT__OVERALL__MINUTES: 40
RADV_PERFTEST: transfer_queue,video_decode,video_encode RADV_PERFTEST: transfer_queue,video_decode,video_encode
radv-navi31-vkcts: radv-navi31-vkcts:
@ -328,8 +325,8 @@ radv-navi31-vkcts:
GPU_VERSION: radv-navi31 GPU_VERSION: radv-navi31
RADV_DEBUG: nomeshshader # Disable mesh shaders until task shaders stop hanging RADV_DEBUG: nomeshshader # Disable mesh shaders until task shaders stop hanging
RADV_PERFTEST: transfer_queue,video_decode,video_encode RADV_PERFTEST: transfer_queue,video_decode,video_encode
B2C_TIMEOUT_BOOT_MINUTES: 20 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 20
B2C_TIMEOUT_OVERALL_MINUTES: 20 CI_TRON_TIMEOUT__OVERALL__MINUTES: 20
############### Fossilize ############### Fossilize
radv-fossils: radv-fossils:

View file

@ -32,17 +32,19 @@
when: manual when: manual
.austriancoder-ci-tron: .austriancoder-ci-tron:
extends:
- .ci-tron-b2c-diskless-v1
variables: variables:
RUNNER_FARM_LOCATION: austriancoder RUNNER_FARM_LOCATION: austriancoder
B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30 CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__MINUTES: 0.5
B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3 CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__RETRIES: 3
B2C_MARS_SETUP_TAGS: "$VIVANTE_MODEL_TAG,$VIVANTE_REVISION_TAG" CI_TRON_DUT_SETUP_TAGS: "$VIVANTE_MODEL_TAG,$VIVANTE_REVISION_TAG"
.austriancoder-imx6q-cubox-i:arm32: .austriancoder-imx6q-cubox-i:arm32:
extends: extends:
- .austriancoder-ci-tron - .austriancoder-ci-tron
variables: variables:
B2C_IMAGESTORE_PLATFORM: linux/arm/v7 CI_TRON__B2C_DISKLESS_IMAGESTORE_PLATFORM: linux/arm/v7
VIVANTE_MODEL_TAG: "vivante:model:2000" VIVANTE_MODEL_TAG: "vivante:model:2000"
VIVANTE_REVISION_TAG: "vivante:revision:5108" VIVANTE_REVISION_TAG: "vivante:revision:5108"
GPU_VERSION: "etnaviv-gc2000-r5108" GPU_VERSION: "etnaviv-gc2000-r5108"
@ -77,7 +79,7 @@
- .austriancoder-ci-tron - .austriancoder-ci-tron
variables: variables:
FDO_CI_CONCURRENT: 4 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_MODEL_TAG: "vivante:model:3000"
VIVANTE_REVISION_TAG: "vivante:revision:5450" VIVANTE_REVISION_TAG: "vivante:revision:5450"
GPU_VERSION: "etnaviv-gc3000-r5450" GPU_VERSION: "etnaviv-gc3000-r5450"
@ -92,7 +94,7 @@
- .austriancoder-ci-tron - .austriancoder-ci-tron
variables: variables:
FDO_CI_CONCURRENT: 4 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_MODEL_TAG: "vivante:model:7000"
VIVANTE_REVISION_TAG: "vivante:revision:6214" VIVANTE_REVISION_TAG: "vivante:revision:6214"
GPU_VERSION: "etnaviv-gc7000-r6214" GPU_VERSION: "etnaviv-gc7000-r6214"
@ -123,7 +125,7 @@ gc2000-gles2:
# Disable reporting, since DUTs don't have internet access # Disable reporting, since DUTs don't have internet access
FLAKES_CHANNEL: "" FLAKES_CHANNEL: ""
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
B2C_TIMEOUT_OVERALL_MINUTES: 28 CI_TRON_TIMEOUT__OVERALL__MINUTES: 28
timeout: 30m timeout: 30m
# Disabled until the 168 fails get addressed # Disabled until the 168 fails get addressed
@ -138,7 +140,7 @@ gc2000-gles2:
DEQP_FRACTION: 100 DEQP_FRACTION: 100
FDO_CI_CONCURRENT: 1 FDO_CI_CONCURRENT: 1
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
B2C_TIMEOUT_OVERALL_MINUTES: 28 CI_TRON_TIMEOUT__OVERALL__MINUTES: 28
timeout: 30m timeout: 30m
gc2000-piglit: gc2000-piglit:
@ -147,7 +149,7 @@ gc2000-piglit:
- .test-piglit - .test-piglit
variables: variables:
DEQP_SUITE: etnaviv-gc2000-piglit DEQP_SUITE: etnaviv-gc2000-piglit
B2C_TIMEOUT_OVERALL_MINUTES: 25 CI_TRON_TIMEOUT__OVERALL__MINUTES: 25
parallel: 2 parallel: 2
timeout: 30m timeout: 30m
@ -160,7 +162,7 @@ gc3000-gles2:
DEQP_SUITE: etnaviv-gc3000 DEQP_SUITE: etnaviv-gc3000
FLAKES_CHANNEL: "" FLAKES_CHANNEL: ""
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
B2C_TIMEOUT_OVERALL_MINUTES: 28 CI_TRON_TIMEOUT__OVERALL__MINUTES: 28
timeout: 30m timeout: 30m
gc7000-imx8mq-gles2: gc7000-imx8mq-gles2:
@ -172,7 +174,7 @@ gc7000-imx8mq-gles2:
DEQP_SUITE: etnaviv-gc7000 DEQP_SUITE: etnaviv-gc7000
FLAKES_CHANNEL: "" FLAKES_CHANNEL: ""
HWCI_TEST_SCRIPT: "/install/deqp-runner.sh" HWCI_TEST_SCRIPT: "/install/deqp-runner.sh"
B2C_TIMEOUT_OVERALL_MINUTES: 28 CI_TRON_TIMEOUT__OVERALL__MINUTES: 28
timeout: 30m timeout: 30m
gc7000-imx8mp-gles2: gc7000-imx8mp-gles2:

View file

@ -357,17 +357,17 @@
variables: variables:
FDO_CI_CONCURRENT: 8 FDO_CI_CONCURRENT: 8
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: dt_gpu:codename:a750 CI_TRON_DUT_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' CI_TRON_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' CI_TRON_INITRAMFS_CATEGORY__50_PLATFORM__0__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' 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'
B2C_DTB_MATCH: 'boot/dtbs/qcom/sm8650-hdk.dtb' CI_TRON_DTB__0__FORMAT__0__ARCHIVE__MATCH: 'boot/dtbs/qcom/sm8650-hdk.dtb'
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g' CI_TRON__B2C_SWAP_SIZE: '16g'
B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30 CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__MINUTES: 0.5
B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3 CI_TRON_TIMEOUT__FIRST_CONSOLE_ACTIVITY__RETRIES: 3
B2C_TIMEOUT_BOOT_WD_SECONDS: 20 CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__MINUTES: 0.3
B2C_TIMEOUT_BOOT_WD_RETRIES: 5 CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__RETRIES: 5
B2C_BOOT_WD_START_REGEX: 'VB: RWDeviceState: Succeed using devinfo!' # A line repeated during firmware boot CI_TRON_WATCHDOG__FIRMWARE_TO_LINUX__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_WATCHDOG__FIRMWARE_TO_LINUX__STOP_REGEX: 'CPU features: detected:' # A line repeated during Linux boot
GPU_VERSION: freedreno-a750 GPU_VERSION: freedreno-a750
VK_DRIVER: freedreno VK_DRIVER: freedreno

View file

@ -448,8 +448,8 @@ a750-angle:
- .test-angle - .test-angle
timeout: 25m # base runtime 10min total, 7min of testing timeout: 25m # base runtime 10min total, 7min of testing
variables: variables:
B2C_TIMEOUT_BOOT_MINUTES: 17 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 17
B2C_TIMEOUT_OVERALL_MINUTES: 20 CI_TRON_TIMEOUT__OVERALL__MINUTES: 20
DEQP_SUITE: tu-angle DEQP_SUITE: tu-angle
HWCI_TEST_SCRIPT: ./install/deqp-runner.sh HWCI_TEST_SCRIPT: ./install/deqp-runner.sh
@ -460,8 +460,8 @@ a750-gl:
- .valve-freedreno-manual-rules - .valve-freedreno-manual-rules
timeout: 30m # base runtime 11min total, 8min of testing timeout: 30m # base runtime 11min total, 8min of testing
variables: variables:
B2C_TIMEOUT_BOOT_MINUTES: 22 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 22
B2C_TIMEOUT_OVERALL_MINUTES: 25 CI_TRON_TIMEOUT__OVERALL__MINUTES: 25
HWCI_TEST_SCRIPT: install/deqp-runner.sh HWCI_TEST_SCRIPT: install/deqp-runner.sh
DEQP_SUITE: freedreno-a750 DEQP_SUITE: freedreno-a750
@ -487,8 +487,8 @@ a750-vk:
- .valve-turnip-manual-rules - .valve-turnip-manual-rules
timeout: 75m # base runtime 54min total, 51min of testing timeout: 75m # base runtime 54min total, 51min of testing
variables: variables:
B2C_TIMEOUT_BOOT_MINUTES: 65 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 65
B2C_TIMEOUT_OVERALL_MINUTES: 70 CI_TRON_TIMEOUT__OVERALL__MINUTES: 70
DEQP_SUITE: freedreno-a750-vk DEQP_SUITE: freedreno-a750-vk
HWCI_TEST_SCRIPT: ./install/deqp-runner.sh HWCI_TEST_SCRIPT: ./install/deqp-runner.sh
@ -499,8 +499,8 @@ a750-vkd3d:
- .valve-turnip-manual-rules - .valve-turnip-manual-rules
timeout: 15m # base runtime 3min timeout: 15m # base runtime 3min
variables: variables:
B2C_TIMEOUT_OVERALL_MINUTES: 12 CI_TRON_TIMEOUT__OVERALL__MINUTES: 12
B2C_TIMEOUT_BOOT_MINUTES: 10 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 10
HWCI_TEST_SCRIPT: install/vkd3d-runner.sh HWCI_TEST_SCRIPT: install/vkd3d-runner.sh
GPU_VERSION: freedreno-a750 GPU_VERSION: freedreno-a750
FDO_CI_CONCURRENT: 1 FDO_CI_CONCURRENT: 1

View file

@ -10,8 +10,8 @@ include:
FDO_CI_CONCURRENT: 2 FDO_CI_CONCURRENT: 2
GPU_VERSION: i915-g33 GPU_VERSION: i915-g33
RUNNER_FARM_LOCATION: ondracka RUNNER_FARM_LOCATION: ondracka
B2C_KERNEL_URL: https://gitlab.freedesktop.org/gfx-ci/boot2container/-/releases/v0.9.12.3/downloads/linux-x86_64 CI_TRON_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_DUT_SETUP_TAGS: intelgpu:codename:G33
i915-g33: i915-g33:
extends: extends:

View file

@ -9,19 +9,19 @@ include:
FDO_CI_CONCURRENT: 2 FDO_CI_CONCURRENT: 2
RUNNER_FARM_LOCATION: ondracka RUNNER_FARM_LOCATION: ondracka
# 6.6.8 kernel with radeon driver. # 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: .ondracka-rv530:
extends: extends:
- .ondracka-generic - .ondracka-generic
variables: variables:
B2C_MARS_SETUP_TAGS: radeon:codename:RV530 CI_TRON_DUT_SETUP_TAGS: radeon:codename:RV530
.ondracka-rv380: .ondracka-rv380:
extends: extends:
- .ondracka-generic - .ondracka-generic
variables: variables:
B2C_MARS_SETUP_TAGS: radeon:codename:RV380 CI_TRON_DUT_SETUP_TAGS: radeon:codename:RV380
r300-rv530-deqp-gles2: r300-rv530-deqp-gles2:
extends: extends:
@ -60,7 +60,7 @@ r300-rv410-deqp-piglit:
DEQP_SUITE: r300-rv410 DEQP_SUITE: r300-rv410
GPU_VERSION: r300-rv410 GPU_VERSION: r300-rv410
PIGLIT_PLATFORM: gbm PIGLIT_PLATFORM: gbm
B2C_MARS_SETUP_TAGS: radeon:codename:RV410 CI_TRON_DUT_SETUP_TAGS: radeon:codename:RV410
r300-rv530-piglit: r300-rv530-piglit:
extends: extends:

View file

@ -257,8 +257,8 @@
variables: variables:
DEQP_SUITE: zink-radv DEQP_SUITE: zink-radv
HWCI_TEST_SCRIPT: ./install/deqp-runner.sh HWCI_TEST_SCRIPT: ./install/deqp-runner.sh
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
B2C_TIMEOUT_OVERALL_MINUTES: 20 CI_TRON_TIMEOUT__OVERALL__MINUTES: 20
# Disable reporting, since DUTs don't have internet access # Disable reporting, since DUTs don't have internet access
FLAKES_CHANNEL: "" FLAKES_CHANNEL: ""

View file

@ -192,8 +192,8 @@ zink-tu-a750:
- .test-piglit - .test-piglit
timeout: 25m # base runtime 11min total, 9min of testing timeout: 25m # base runtime 11min total, 9min of testing
variables: variables:
B2C_TIMEOUT_BOOT_MINUTES: 18 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 18
B2C_TIMEOUT_OVERALL_MINUTES: 20 CI_TRON_TIMEOUT__OVERALL__MINUTES: 20
DEQP_SUITE: zink-tu-a750 DEQP_SUITE: zink-tu-a750
GPU_VERSION: zink-tu-a750 GPU_VERSION: zink-tu-a750
HWCI_START_WESTON: 1 HWCI_START_WESTON: 1
@ -207,8 +207,8 @@ zink-nvk-ga106-valve:
- .nvk-ga106-valve - .nvk-ga106-valve
variables: variables:
GPU_VERSION: zink-nvk-ga106 GPU_VERSION: zink-nvk-ga106
B2C_TIMEOUT_BOOT_MINUTES: 50 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 50
B2C_TIMEOUT_OVERALL_MINUTES: 55 # usual run time: 35min CI_TRON_TIMEOUT__OVERALL__MINUTES: 55 # usual run time: 35min
zink-radv-polaris10-valve: zink-radv-polaris10-valve:
extends: extends:
@ -219,7 +219,7 @@ zink-radv-polaris10-valve:
variables: variables:
GPU_VERSION: zink-radv-polaris10 GPU_VERSION: zink-radv-polaris10
ZINK_DEBUG: quiet ZINK_DEBUG: quiet
B2C_TIMEOUT_OVERALL_MINUTES: 30 CI_TRON_TIMEOUT__OVERALL__MINUTES: 30
zink-radv-navi10-valve: zink-radv-navi10-valve:
extends: extends:
@ -228,7 +228,7 @@ zink-radv-navi10-valve:
- .zink-radv-manual-rules - .zink-radv-manual-rules
timeout: 40m timeout: 40m
variables: variables:
B2C_TIMEOUT_OVERALL_MINUTES: 30 CI_TRON_TIMEOUT__OVERALL__MINUTES: 30
GPU_VERSION: zink-radv-navi10 GPU_VERSION: zink-radv-navi10
zink-radv-vangogh-valve: zink-radv-vangogh-valve:
@ -240,10 +240,10 @@ zink-radv-vangogh-valve:
- .zink-radv-rules - .zink-radv-rules
variables: variables:
GPU_VERSION: zink-radv-vangogh GPU_VERSION: zink-radv-vangogh
B2C_SESSION_REBOOT_REGEX: 'BUG: kernel NULL pointer dereference, address' CI_TRON_PATTERN__SESSION_REBOOT__REGEX: 'BUG: kernel NULL pointer dereference, address'
B2C_TIMEOUT_BOOT_RETRIES: 1 CI_TRON_TIMEOUT__BOOT_CYCLE__RETRIES: 1
B2C_TIMEOUT_BOOT_MINUTES: 30 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 30
B2C_TIMEOUT_OVERALL_MINUTES: 30 CI_TRON_TIMEOUT__OVERALL__MINUTES: 30
FDO_CI_CONCURRENT: 6 FDO_CI_CONCURRENT: 6
ZINK_DEBUG: vvl ZINK_DEBUG: vvl
# Override the list of tags to drop `ci-tron:priority:low` # Override the list of tags to drop `ci-tron:priority:low`
@ -259,6 +259,6 @@ zink-radv-navi31-valve:
timeout: 1h 20m timeout: 1h 20m
variables: variables:
GPU_VERSION: zink-radv-navi31 GPU_VERSION: zink-radv-navi31
B2C_TIMEOUT_BOOT_MINUTES: 75 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 75
B2C_TIMEOUT_OVERALL_MINUTES: 75 CI_TRON_TIMEOUT__OVERALL__MINUTES: 75
ZINK_DEBUG: vvl ZINK_DEBUG: vvl

View file

@ -50,8 +50,8 @@
GPU_VERSION: nvk-ga106 GPU_VERSION: nvk-ga106
FDO_CI_CONCURRENT: 16 FDO_CI_CONCURRENT: 16
RUNNER_FARM_LOCATION: mupuf RUNNER_FARM_LOCATION: mupuf
B2C_MARS_SETUP_TAGS: nvidia:codename:GA106 CI_TRON_DUT_SETUP_TAGS: nvidia:codename:GA106
B2C_JOB_WARN_REGEX: 'nouveau .+ job timeout|NMI backtrace for cpu \d+' CI_TRON_PATTERN__JOB_WARN__REGEX: 'nouveau .+ job timeout|NMI backtrace for cpu \d+'
# Default kernel is missing the GA106 GSP # Default kernel is missing the GA106 GSP
# 1 - clone b2c # 1 - clone b2c
# 2 - apply all patches in patches/linux/* to your kernel # 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 # 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 # This is https://gitlab.freedesktop.org/gfxstrand/linux/-/commits/nvk
# at d6820f36f375ece63226b26568be3a893985dc60 nouveau: set placement to original placement on uvmm validate. # 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 # 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'

View file

@ -9,8 +9,8 @@ nvk-ga106-vkcts-valve:
- .nvk-valve-manual-rules - .nvk-valve-manual-rules
timeout: 120m # current runtime is ~70min timeout: 120m # current runtime is ~70min
variables: variables:
B2C_TIMEOUT_BOOT_MINUTES: 110 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 110
B2C_TIMEOUT_OVERALL_MINUTES: 115 CI_TRON_TIMEOUT__OVERALL__MINUTES: 115
nvk-ga106-vkd3d-valve: nvk-ga106-vkd3d-valve:
extends: extends:
@ -21,7 +21,7 @@ nvk-ga106-vkd3d-valve:
timeout: 15m # base runtime 7min timeout: 15m # base runtime 7min
variables: variables:
HWCI_TEST_SCRIPT: install/vkd3d-runner.sh HWCI_TEST_SCRIPT: install/vkd3d-runner.sh
B2C_TIMEOUT_BOOT_MINUTES: 10 CI_TRON_TIMEOUT__BOOT_CYCLE__MINUTES: 10
B2C_TIMEOUT_OVERALL_MINUTES: 12 CI_TRON_TIMEOUT__OVERALL__MINUTES: 12
# Random tests fail/crash when trying to run them in parallel # Random tests fail/crash when trying to run them in parallel
FDO_CI_CONCURRENT: 1 FDO_CI_CONCURRENT: 1