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
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'

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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: ""

View file

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

View file

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

View file

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