mesa/src/amd/ci/gitlab-ci.yml
Eric Engestrom b7298836c5 ci: move amd files rules to src/amd/ci/gitlab-ci.yml
Signed-off-by: Eric Engestrom <eric@igalia.com>
Acked-by: David Heidelberg <david.heidelberg@collabora.com>
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24099>
2023-07-18 23:07:52 +00:00

623 lines
16 KiB
YAML

.radeonsi-rules:
stage: amd
rules:
- !reference [.collabora-farm-rules, rules]
- !reference [.gl-rules, rules]
- changes: &radeonsi_file_list
- src/gallium/drivers/radeonsi/**/*
- src/gallium/include/winsys/**/*
- src/gallium/winsys/amdgpu/**/*
- src/amd/*
- src/amd/addrlib/**/*
- src/amd/ci/*
- src/amd/common/**/*
- src/amd/llvm/**/*
- src/amd/registers/**/*
when: on_success
.radv-rules:
stage: amd
rules:
- !reference [.vulkan-rules, rules]
- changes: &radv_file_list
- src/amd/**/*
- src/vulkan/**/*
when: on_success
.radv-collabora-rules:
stage: amd
rules:
- !reference [.collabora-farm-rules, rules]
- !reference [.radv-rules, rules]
.radv-valve-rules:
stage: amd
rules:
- !reference [.valve-farm-rules, rules]
- !reference [.radv-rules, rules]
.radv-valve-manual-rules:
stage: amd
retry: !reference [.scheduled_pipeline-rules, retry]
rules:
- !reference [.valve-farm-manual-rules, rules]
- !reference [.vulkan-manual-rules, rules]
- changes:
*radv_file_list
when: manual
.radeonsi+radv-rules:
stage: amd
rules:
- !reference [.radeonsi-rules, rules]
- !reference [.radv-rules, rules]
.radeonsi-vaapi-rules:
stage: amd
rules:
- !reference [.collabora-farm-rules, rules]
- !reference [.gl-rules, rules]
- changes:
*radeonsi_file_list
when: on_success
- changes: &radeon_vcn_file_list
- src/gallium/frontends/va/**/*
- src/gallium/targets/va/**/*
when: on_success
.radeonsi-vaapi-manual-rules:
stage: amd
rules:
- !reference [.collabora-farm-manual-rules, rules]
- !reference [.gl-manual-rules, rules]
- changes:
*radeon_vcn_file_list
when: manual
.radeonsi-valve-rules:
stage: amd
rules:
- !reference [.valve-farm-rules, rules]
- !reference [.radeonsi-rules, rules]
.radeonsi-valve-manual-rules:
stage: amd
rules:
- !reference [.valve-farm-manual-rules, rules]
- !reference [.vulkan-manual-rules, rules]
- changes:
*radeonsi_file_list
when: manual
############### LAVA
# job prefixes: radeonsi (OpenGL), radv (Vulkan), amd (radeonsi+radv)
.stoney-test:x86_64:
variables:
BOOT_METHOD: depthcharge
DEQP_EXPECTED_RENDERER: STONEY
DTB: ""
FDO_CI_CONCURRENT: 3
HWCI_FREQ_MAX: "true"
HWCI_KERNEL_MODULES: amdgpu
KERNEL_IMAGE_TYPE: ""
FLAKES_CHANNEL: "#amd-ci"
.radeonsi-stoney-test:x86_64:
extends:
- .stoney-test:x86_64
- .radeonsi-rules
variables:
GPU_VERSION: radeonsi-stoney
DRIVER_NAME: radeonsi
# 12 devices (2023-01-10)
RUNNER_TAG: mesa-ci-x86-64-lava-acer-R721T-grunt
DEVICE_TYPE: acer-R721T-grunt
PIGLIT_PLATFORM: mixed_glx_egl
.radv-stoney-test:x86_64:
extends:
- .stoney-test:x86_64
- .radv-collabora-rules
variables:
DEQP_VER: vk
DRIVER_NAME: radv
GPU_VERSION: radv-stoney-aco
VK_DRIVER: radeon
# 6 devices (2022-11-30)
DEVICE_TYPE: hp-14-db0003na-grunt
RUNNER_TAG: mesa-ci-x86-64-lava-hp-14-db0003na-grunt
# Run five jobs in parallel each running 1/55th of the test suite
radv-stoney-vkcts:x86_64:
extends:
- .lava-test-deqp:x86_64
- .radv-stoney-test:x86_64
parallel: 5
variables:
DEQP_FRACTION: 11
radv-stoney-angle:
extends:
- .lava-test-deqp:x86_64
- .radv-stoney-test:x86_64
- .radeonsi+radv-rules # Note: Xorg uses radeonsi, so depend on both gl and vulkan
variables:
DEQP_SUITE: radv-stoney-angle
USE_ANGLE: 1
HWCI_START_XORG: 1
GPU_VERSION: angle-radv-stoney-aco
radv-stoney-angle-full:
extends:
- radv-stoney-angle
- .radv-valve-manual-rules
parallel: 2
variables:
DEQP_SUITE: radv-stoney-angle-full
JOB_TIMEOUT: 60
radeonsi-stoney-gl:x86_64:
extends:
- .lava-test-deqp:x86_64
- .radeonsi-stoney-test:x86_64
parallel: 11
variables:
DEQP_SUITE: radeonsi-stoney
HWCI_START_WESTON: 1
radeonsi-stoney-traces:x86_64:
extends:
- .lava-piglit-traces:x86_64
- .radeonsi-stoney-test:x86_64
variables:
EGL_PLATFORM: surfaceless
PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/traces-amd.yml"
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image
# 10 devices (2023-01-17)
.lava-asus-CM1400CXA-dalboz:x86_64:
variables:
BOOT_METHOD: depthcharge
DEVICE_TYPE: asus-CM1400CXA-dalboz
DTB: ""
HWCI_FREQ_MAX: "true"
HWCI_KERNEL_MODULES: amdgpu
KERNEL_IMAGE_TYPE: ""
RUNNER_TAG: mesa-ci-x86-64-lava-asus-CM1400CXA-dalboz
# 5 devices (2023-05-03)
.lava-lenovo-TPad-C13-Yoga-zork:x86_64:
variables:
BOOT_METHOD: depthcharge
DEVICE_TYPE: lenovo-TPad-C13-Yoga-zork
DTB: ""
HWCI_FREQ_MAX: "true"
HWCI_KERNEL_MODULES: amdgpu
KERNEL_IMAGE_TYPE: ""
RUNNER_TAG: mesa-ci-x86-64-lava-lenovo-TPad-C13-Yoga-zork
.radeonsi-raven-test:x86_64:
extends:
- .radeonsi-rules
variables:
GPU_VERSION: radeonsi-raven
DRIVER_NAME: radeonsi
.radv-raven-test:x86_64:
extends:
- .radv-collabora-rules
variables:
DRIVER_NAME: radv
GPU_VERSION: radv-raven
VK_DRIVER: radeon
.amd-raven-test:x86_64:
extends:
- .radeonsi+radv-rules
variables:
DRIVER_NAME: radeonsi
GPU_VERSION: amd-raven
VK_DRIVER: radeon
radv-raven-vkcts:x86_64:
extends:
- .lava-test-deqp:x86_64
- .radv-raven-test:x86_64
- .lava-asus-CM1400CXA-dalboz:x86_64
parallel: 9
variables:
DEQP_VER: vk
DEQP_FRACTION: 6
amd-raven-skqp:x86_64:
extends:
- .lava-test-deqp:x86_64
- .amd-raven-test:x86_64
- .lava-lenovo-TPad-C13-Yoga-zork:x86_64
variables:
HWCI_START_WESTON: 1
DEQP_SUITE: amd-raven-skqp
.radv-traces:
extends:
- .lava-piglit-traces:x86_64
variables:
PIGLIT_PLATFORM: mixed_glx_egl # TODO, take wine/VK in account
PIGLIT_REPLAY_DESCRIPTION_FILE: "/install/traces-amd.yml"
PIGLIT_REPLAY_EXTRA_ARGS: --keep-image
radv-raven-traces:x86_64:
extends:
- .radv-traces
- .radv-raven-test:x86_64
- .lava-lenovo-TPad-C13-Yoga-zork:x86_64
variables:
HWCI_START_XORG: 1
PIGLIT_REPLAY_DEVICE_NAME: "vk-${GPU_VERSION}"
radeonsi-raven-piglit-quick_gl:x86_64:
extends:
- .lava-piglit:x86_64
- .radeonsi-raven-test:x86_64
- .lava-lenovo-TPad-C13-Yoga-zork:x86_64
variables:
PIGLIT_PLATFORM: mixed_glx_egl
PIGLIT_PROFILES: quick_gl
HWCI_START_WESTON: 1
radeonsi-raven-piglit-quick_shader:x86_64:
extends:
- radeonsi-raven-piglit-quick_gl:x86_64
variables:
PIGLIT_PROFILES: quick_shader
PIGLIT_FRACTION: 2
radeonsi-raven-va:x86_64:
extends:
- .lava-test-deqp:x86_64
- .radeonsi-raven-test:x86_64
- .radeonsi-vaapi-rules
- .lava-asus-CM1400CXA-dalboz:x86_64
variables:
HWCI_TEST_SCRIPT: "/install/gtest-runner.sh"
# While the tests don't need Xorg, it's an easy way to keep DRM open so we don't
# spend all our time in drm_lastclose()'s modesetting.
HWCI_START_WESTON: 1
GTEST: test_va_api
# The big 10-surface 10k allocations oomkill us at around 2.5G of GPU memory
# allocated if we run at the normal 4 threads.
# https://github.com/intel/libva-utils/issues/248
FDO_CI_CONCURRENT: 1
# A whole run would be about 25 minutes currently. Fixing
# https://github.com/intel/libva-utils/issues/247 and
# https://github.com/google/googletest/issues/3614 would probably help.
GTEST_FRACTION: 2
radeonsi-raven-va-full:x86_64:
extends:
- radeonsi-raven-va:x86_64
- .radeonsi-vaapi-manual-rules
variables:
GTEST_FRACTION: null
############### Valve Infra
.test-radv:
variables:
VK_DRIVER: radeon
DRIVER_NAME: radv
# The SPIRV -> NIR code generator generates so many harmless
# warnings on the shaders in VK-CTS that jobs fail due to the log
# size getting too big. Since it's not feasible right now
# to fix these shaders in the CTS, instead, ignore warnings from
# the code generator.
ACO_DEBUG: validateir,validatera
MESA_VK_IGNORE_CONFORMANCE_WARNING: 1
B2C_JOB_VOLUME_EXCLUSIONS: "*.shader_cache,install/*,*/install/*,*/vkd3d-proton.cache*,vkd3d-proton.cache*,*.qpa"
# Enable ETC2 emulation on non-native platforms (RENOIR,RDNA+, GFX6-8 dGPUs)
radv_require_etc2: 'true'
.b2c-test-radv-vk:
extends:
- .radv-valve-rules
- .test-radv
- .b2c-test-vk
.deqp-test-valve:
variables:
B2C_JOB_SUCCESS_REGEX: '^\+ DEQP_EXITCODE=0\r$'
HWCI_TEST_SCRIPT: ./install/deqp-runner.sh
.kabini-test-valve:
variables:
RUNNER_FARM_LOCATION: mupuf
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=8g'
tags:
- amdgpu:codename:KABINI
.polaris10-test-valve:
variables:
RUNNER_FARM_LOCATION: keywords
FDO_CI_CONCURRENT: 16
B2C_TIMEOUT_BOOT_RETRIES: 4
# (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'
tags:
- amdgpu:codename:POLARIS10
.vega10-test-valve:
variables:
RUNNER_FARM_LOCATION: keywords
FDO_CI_CONCURRENT: 16
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g'
tags:
- amdgpu:codename:VEGA10
.renoir-test-valve:
variables:
RUNNER_FARM_LOCATION: mupuf
FDO_CI_CONCURRENT: 24
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g'
B2C_TIMEOUT_BOOT_MINUTES: 60
B2C_TIMEOUT_OVERALL_MINUTES: 120
tags:
- amdgpu:codename:RENOIR
.navi10-test-valve:
variables:
RUNNER_FARM_LOCATION: mupuf
FDO_CI_CONCURRENT: 24
# (2022-01) noapic is set because the serial adapter on this
# 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'
tags:
- amdgpu:codename:NAVI10
.navi21-test-valve:
variables:
RUNNER_FARM_LOCATION: keywords
FDO_CI_CONCURRENT: 32
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g'
tags:
- amdgpu:codename:NAVI21
.vangogh-test-valve:
variables:
RUNNER_FARM_LOCATION: mupuf
FDO_CI_CONCURRENT: 8
B2C_TIMEOUT_BOOT_MINUTES: 85
B2C_TIMEOUT_OVERALL_MINUTES: 120
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g'
tags:
- amdgpu:codename:VANGOGH
- $VALVE_INFRA_VANGOGH_JOB_PRIORITY
############### VKCTS tests ###############
# A note on the variables to control fractional VKCTS runs
# parallel: N means to split the test list into chunks of 1/N lines, and
# DEQP_FRACTION: M means to run every Mth test from the resulting lines.
# So parallel: 2 and DEQP_FRACTION: 5 would imply running 1/10th of the suite.
.vkcts-test-valve:
extends:
- .b2c-test-radv-vk
- .deqp-test-valve
variables:
DEQP_VER: vk
# VKCTS never finishes on gfx7 due to all the GPU resets and hangs.
# Hence, disable it for now.
.vkcts-kabini-valve:
extends:
- .vkcts-test-valve
- .kabini-test-valve
- .radv-valve-manual-rules # Make sure this job is *always* run manually
timeout: 12h
variables:
GPU_VERSION: radv-kabini-aco
B2C_TIMEOUT_BOOT_MINUTES: 710
B2C_TIMEOUT_OVERALL_MINUTES: 710
B2C_TIMEOUT_BOOT_RETRIES: 0
# Disabled for now due to Igalia farm issues.
.vkcts-stoney-valve:
extends:
- .vkcts-test-valve
- .radv-valve-manual-rules
parallel: 2
# The thin clients can't manage a full run in less than an hour
# currently. Interpolation suggests four more thin clients (6
# total) would get the runtime under 15 minutes.
timeout: 4h 10m
variables:
GPU_VERSION: radv-stoney-aco
# Note, it only has a wee 32g disk!
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=8g'
B2C_TIMEOUT_BOOT_MINUTES: 240
B2C_TIMEOUT_OVERALL_MINUTES: 240
B2C_TIMEOUT_BOOT_RETRIES: 0
tags:
- amdgpu:codename:STONEY
.vkcts-polaris10-valve:
extends:
- .vkcts-test-valve
- .polaris10-test-valve
- .radv-valve-manual-rules
variables:
GPU_VERSION: radv-polaris10-aco
vkcts-vega10-valve:
extends:
- .vkcts-test-valve
- .vega10-test-valve
- .radv-valve-manual-rules
timeout: 1h 15m
variables:
GPU_VERSION: radv-vega10-aco
B2C_TIMEOUT_BOOT_MINUTES: 70
B2C_TIMEOUT_OVERALL_MINUTES: 70
vkcts-renoir-valve:
extends:
- .vkcts-test-valve
- .renoir-test-valve
- .radv-valve-manual-rules
timeout: 2h 15m
variables:
GPU_VERSION: radv-renoir-aco
B2C_TIMEOUT_BOOT_MINUTES: 130
B2C_TIMEOUT_OVERALL_MINUTES: 130
vkcts-navi10-valve:
extends:
- .vkcts-test-valve
- .navi10-test-valve
- .radv-valve-manual-rules
variables:
GPU_VERSION: radv-navi10-aco
# Use Linux 5.17 to work around hitting __vm_enough_memory then hanging on Linux 6.1
# See https://gitlab.freedesktop.org/mesa/mesa/-/issues/7888 for details
B2C_KERNEL_URL: 'https://gitlab.freedesktop.org/mupuf/valve-infra/-/package_files/144/download' # 5.17.1
# NAVI10 hangs quite often while running vkcts. This is being investigated,
# but in the mean time, retry up to 2 times.
B2C_SESSION_REBOOT_REGEX: '(GPU hang detected!|\*ERROR\* ring [^\s]+ timeout(?!, but soft recovered)|The CS has been cancelled because the context is lost)'
B2C_TIMEOUT_BOOT_RETRIES: 2
vkcts-navi21-valve:
parallel: 3
extends:
- .vkcts-test-valve
- .navi21-test-valve
variables:
GPU_VERSION: radv-navi21-aco
# Disabled due to its extremelly-broken nature
.vkcts-navi21-llvm-valve:
extends:
- .vkcts-test-valve
- .navi21-test-valve
- .radv-valve-manual-rules
variables:
GPU_VERSION: radv-navi21-llvm
RADV_DEBUG: llvm,checkir
vkcts-vangogh-valve:
parallel: 2
extends:
- .vkcts-test-valve
- .vangogh-test-valve
- .radv-valve-manual-rules
timeout: 2h 10m
variables:
GPU_VERSION: radv-vangogh-aco
glcts-vangogh-valve:
extends:
- .b2c-test-gl
- .deqp-test-valve
- .vangogh-test-valve
- .radeonsi-valve-manual-rules
timeout: 40m
variables:
GPU_VERSION: radeonsi-vangogh
DEQP_SUITE: radeonsi-vangogh
############### Fossilize
radv-fossils:
extends:
- .radv-valve-rules
- .test-vk
- .test-radv
- .fossilize-test
script:
- export LD_PRELOAD=$PWD/install/lib/libamdgpu_noop_drm_shim.so
# Pitcairn (GFX6)
- AMDGPU_GPU_ID="PITCAIRN"
./install/fossilize-runner.sh
# Bonaire (GFX7)
- AMDGPU_GPU_ID="BONAIRE"
./install/fossilize-runner.sh
# Polaris10 (GFX8)
- AMDGPU_GPU_ID="POLARIS10"
./install/fossilize-runner.sh
# Vega10 (GFX9)
- AMDGPU_GPU_ID="VEGA10"
./install/fossilize-runner.sh
# Navi10 (GFX10)
- AMDGPU_GPU_ID="NAVI10"
./install/fossilize-runner.sh
# Navi21 (GFX10_3)
- AMDGPU_GPU_ID="NAVI21"
./install/fossilize-runner.sh
# RDNA3 (GFX11)
- AMDGPU_GPU_ID="GFX1100"
./install/fossilize-runner.sh
############### vkd3d-proton
.vkd3d-test-valve:
extends:
- .b2c-test-radv-vk
variables:
B2C_JOB_SUCCESS_REGEX: 'vkd3d-proton execution: SUCCESS\r$'
HWCI_TEST_SCRIPT: ./install/vkd3d-proton/run.sh
.vkd3d-kabini-valve:
extends:
- .vkd3d-test-valve
- .kabini-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-kabini-vkd3d
.vkd3d-polaris10-valve:
extends:
- .vkd3d-test-valve
- .polaris10-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-polaris10-vkd3d
vkd3d-vega10-valve:
extends:
- .vkd3d-test-valve
- .vega10-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-vega10-vkd3d
vkd3d-renoir-valve:
extends:
- .vkd3d-test-valve
- .renoir-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-renoir-vkd3d
vkd3d-navi10-valve:
extends:
- .vkd3d-test-valve
- .navi10-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-navi10-vkd3d
vkd3d-navi21-valve:
extends:
- .vkd3d-test-valve
- .navi21-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-navi21-vkd3d
VKD3D_CONFIG: dxr11
vkd3d-vangogh-valve:
extends:
- .vkd3d-test-valve
- .vangogh-test-valve
- .radv-valve-manual-rules
variables:
VKD3D_PROTON_RESULTS: radv-vangogh-vkd3d