Files
third_party_mesa3d/src/freedreno/ci/gitlab-ci-inc.yml

390 lines
11 KiB
YAML

# Rules for changes that impact either freedreno or turnip.
.freedreno-common-rules:
rules:
- !reference [.test, rules]
- !reference [.no_scheduled_pipelines-rules, rules]
- changes: &freedreno_core_file_list
- src/freedreno/ci/gitlab-ci.yml
- src/freedreno/ci/gitlab-ci-inc.yml
- src/freedreno/ci/deqp-$DEQP_SUITE.toml
- src/freedreno/ci/$GPU_VERSION-fails.txt
- src/freedreno/ci/$GPU_VERSION-flakes.txt
- src/freedreno/ci/$GPU_VERSION-skips.txt
- src/freedreno/ci/$PIGLIT_TRACES_FILE
- src/freedreno/common/**/*
- src/freedreno/drm/**/*
- src/freedreno/fdl/**/*
- src/freedreno/ir3/**/*
- src/freedreno/isa/**/*
- src/freedreno/registers/**/*
when: on_success
.freedreno-common-manual-rules:
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.core-manual-rules, rules]
- changes:
*freedreno_core_file_list
when: manual
# Two different farms (Google Freedreno and Collabora farm)
.google-freedreno-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.freedreno-farm-rules, rules]
- !reference [.freedreno-common-rules, rules]
- !reference [.gl-rules, rules]
- changes: &freedreno_gl_file_list
- src/freedreno/ir2/**/*
- src/gallium/drivers/freedreno/**/*
- src/gallium/winsys/freedreno/**/*
when: on_success
.collabora-freedreno-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.collabora-farm-rules, rules]
- !reference [.freedreno-common-rules, rules]
- !reference [.gl-rules, rules]
- changes:
*freedreno_gl_file_list
when: on_success
.google-freedreno-manual-rules:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.freedreno-farm-manual-rules, rules]
- !reference [.freedreno-common-manual-rules, rules]
- !reference [.gl-manual-rules, rules]
- changes:
*freedreno_gl_file_list
when: manual
.collabora-freedreno-manual-rules:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.collabora-farm-manual-rules, rules]
- !reference [.freedreno-common-manual-rules, rules]
- !reference [.gl-manual-rules, rules]
- changes:
*freedreno_gl_file_list
when: manual
.google-turnip-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.freedreno-farm-rules, rules]
- !reference [.freedreno-common-rules, rules]
- !reference [.vulkan-rules, rules]
- changes: &freedreno_vulkan_file_list
- src/freedreno/vulkan/**/*
when: on_success
.collabora-turnip-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.collabora-farm-rules, rules]
- !reference [.freedreno-common-rules, rules]
- !reference [.vulkan-rules, rules]
- changes: *freedreno_vulkan_file_list
when: on_success
.google-turnip-manual-rules:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.freedreno-farm-manual-rules, rules]
- !reference [.freedreno-common-manual-rules, rules]
- !reference [.vulkan-manual-rules, rules]
- changes:
*freedreno_vulkan_file_list
when: manual
.collabora-turnip-manual-rules:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.collabora-farm-manual-rules, rules]
- !reference [.freedreno-common-manual-rules, rules]
- !reference [.vulkan-manual-rules, rules]
- changes:
*freedreno_vulkan_file_list
when: manual
# For piglit and skqp test jobs that run both GL and VK tests.
.google-freedreno-turnip-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.google-freedreno-rules, rules]
- !reference [.google-turnip-rules, rules]
.google-freedreno-turnip-manual-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.google-freedreno-manual-rules, rules]
- !reference [.google-turnip-manual-rules, rules]
.collabora-freedreno-turnip-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.collabora-freedreno-rules, rules]
- !reference [.collabora-turnip-rules, rules]
.collabora-freedreno-turnip-manual-rules:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.collabora-freedreno-manual-rules, rules]
- !reference [.collabora-turnip-manual-rules, rules]
.valve-freedreno-turnip-manual-rules:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.valve-farm-manual-rules, rules]
- !reference [.freedreno-common-manual-rules, rules]
- !reference [.vulkan-manual-rules, rules]
- changes:
*freedreno_vulkan_file_list
when: manual
.google-freedreno-rules-restricted:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.restricted-rules, rules]
- !reference [.google-freedreno-rules, rules]
.collabora-freedreno-rules-restricted:
stage: freedreno
rules:
- !reference [.test, rules]
- !reference [.restricted-rules, rules]
- !reference [.collabora-freedreno-rules, rules]
.google-freedreno-rules-performance:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.performance-rules, rules]
- !reference [.google-freedreno-manual-rules, rules]
allow_failure: true # see comment in .performance-rules, which we don't inherit this line from.
variables:
# Ensure that we are using the release build artifact
S3_ARTIFACT_NAME: mesa-arm64-default-release
needs:
- debian/baremetal_arm64_test
- debian-arm64-release
dependencies: null
.collabora-freedreno-rules-performance:
stage: freedreno
extends: .no-auto-retry
rules:
- !reference [.test, rules]
- !reference [.performance-rules, rules]
- !reference [.collabora-freedreno-manual-rules, rules]
allow_failure: true # see comment in .performance-rules, which we don't inherit this line from.
variables:
JOB_PRIORITY: 40
# Ensure that we are using the release build artifact
S3_ARTIFACT_NAME: mesa-arm64-default-release
needs:
- debian/x86_64_build
- debian-arm64-release
dependencies: null
# Status: https://lava.collabora.dev/scheduler/device_type/sc7180-trogdor-kingoftown
.lava-sc7180-trogdor-kingoftown:arm64:
variables:
BOOT_METHOD: depthcharge
DEVICE_TYPE: sc7180-trogdor-kingoftown
DTB: sc7180-trogdor-kingoftown
# FDO_CI_CONCURRENT: ?
# Increase the hangcheck timer for our spilling tests which bump up against
# the .5s default.
FREEDRENO_HANGCHECK_MS: 2000
FARM: collabora
GPU_VERSION: freedreno-a618
KERNEL_IMAGE_TYPE: ""
RUNNER_TAG: mesa-ci-x86-64-lava-sc7180-trogdor-kingoftown
VK_DRIVER: freedreno
# Status: https://lava.collabora.dev/scheduler/device_type/sc7180-trogdor-lazor-limozeen
.lava-sc7180-trogdor-lazor-limozeen:arm64:
variables:
BOOT_METHOD: depthcharge
DEVICE_TYPE: sc7180-trogdor-lazor-limozeen
DTB: sc7180-trogdor-lazor-limozeen-nots-r5
# FDO_CI_CONCURRENT: ?
# Increase the hangcheck timer for our spilling tests which bump up against
# the .5s default.
FREEDRENO_HANGCHECK_MS: 2000
FARM: collabora
GPU_VERSION: freedreno-a618
KERNEL_IMAGE_TYPE: ""
RUNNER_TAG: mesa-ci-x86-64-lava-sc7180-trogdor-lazor-limozeen
VK_DRIVER: freedreno
# Status: https://lava.collabora.dev/scheduler/device_type/sm8350-hdk
.lava-sm8350-hdk:arm64:
variables:
BOOT_METHOD: fastboot
DEVICE_TYPE: sm8350-hdk
DTB: sm8350-hdk
# FDO_CI_CONCURRENT: ?
# Increase the hangcheck timer for our spilling tests which bump up against
# the .5s default.
FREEDRENO_HANGCHECK_MS: 2000
FARM: collabora
GPU_VERSION: freedreno-a660
KERNEL_IMAGE_NAME: "Image.gz"
KERNEL_IMAGE_TYPE: ""
RUNNER_TAG: mesa-ci-x86-64-lava-sm8350-hdk
VK_DRIVER: freedreno
.google-freedreno-test:
extends:
- .baremetal-test-arm64
- .google-freedreno-rules
variables:
VK_DRIVER: freedreno
FLAKES_CHANNEL: "#freedreno-ci"
PIGLIT_PLATFORM: mixed_glx_egl
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 $BM_KERNEL_EXTRA_ARGS root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init $BM_KERNELARGS"
FARM: google
script:
- ./install/bare-metal/fastboot.sh
.baremetal-deqp-test-freedreno-vk:
extends:
- .baremetal-deqp-test
variables:
DEQP_VER: vk
# Increase the hangcheck timer for our spilling tests which bump up against
# the .5s default.
FREEDRENO_HANGCHECK_MS: 2000
.google-freedreno-test-traces:
extends:
- .piglit-traces-test
variables:
HWCI_TEST_SCRIPT: "/install/piglit/piglit-traces.sh"
HWCI_START_XORG: 1
PIGLIT_TRACES_FILE: traces-freedreno.yml
artifacts:
reports:
junit: results/junit.xml
.a306-test:
extends:
- .google-freedreno-test
variables:
BM_KERNEL: Image.gz
BM_DTB: apq8016-sbc
DEVICE_TYPE: apq8016-sbc
GPU_VERSION: freedreno-a307
timeout: 20m
tags:
- google-freedreno-db410c
# 8 devices (2023-04-15)
.a530-test:
extends:
- .google-freedreno-test
variables:
BM_KERNEL: Image.gz
BM_DTB: apq8096-db820c
DEVICE_TYPE: apq8096-db820c
GPU_VERSION: freedreno-a530
timeout: 20m
tags:
- google-freedreno-db820c
# piglit and piglit_gl since it takes a bit under 20 minutes and has a lot of flakes, so
# leave it as manual. The shader_tests are in the main a530_gl suite.
#
# Disabled for now because something reliably takes out the board 19-20 minutes in,
# and then it reboots and tries again until the job timeout.
.a530_piglit:
extends:
- .baremetal-deqp-test
- .a530-test
parallel: 2
variables:
DEQP_SUITE: freedreno-a530-piglit
HWCI_START_WESTON: 1
.a530_piglit_gl:
extends:
- .a530_piglit
- .google-freedreno-manual-rules
parallel: null
variables:
PIGLIT_PROFILES: quick_gl
# 6 devices (2023-07-06)
.a630-test:
extends:
- .google-freedreno-test
variables:
FDO_CI_CONCURRENT: 10
BM_KERNEL: cheza-kernel
BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8 root=/dev/nfs rw nfsrootdebug nfsroot=,tcp,nfsvers=4.2 init=/init"
DEVICE_TYPE: sdm845-cheza-r3
GPU_VERSION: freedreno-a630
timeout: 20m
tags:
- google-freedreno-cheza
script:
- ./install/bare-metal/cros-servo.sh
.a630-full:
tags:
- google-freedreno-cheza-long
# CI-tron
.b2c-freedreno-vk-test:
stage: freedreno
extends:
- .b2c-arm64-test-vk
variables:
VK_DRIVER: freedreno
.a750-mupuf:
variables:
FDO_CI_CONCURRENT: 8
RUNNER_FARM_LOCATION: mupuf
B2C_KERNEL_URL: 'https://fs.mupuf.org/hdk8650/linux-6.8-hdk8650.gz'
B2C_INITRAMFS_URL: 'https://fs.mupuf.org/hdk8650/initramfs.linux_arm64.cpio.xz'
B2C_DTB_URL: 'https://fs.mupuf.org/hdk8650/sm8650-hdk.dtb'
B2C_KERNEL_CMDLINE_EXTRAS: 'b2c.swap=16g'
B2C_SESSION_REBOOT_REGEX: 'Sahara Open\r?$'
B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_SECONDS: 30
B2C_TIMEOUT_FIRST_CONSOLE_ACTIVITY_RETRIES: 3
GPU_VERSION: freedreno-a750
tags:
- farm:$RUNNER_FARM_LOCATION
- dt_gpu:codename:a750