ci: further pare down dependency triggering?
Looking at !13345 (merged), the initial merge attempt failed due to timeout.
Timeouts are bad, yes, but the reason this timed out is because way, way, way too many jobs were being triggered. Looking by the component name pipebuffer
for includes:
$ grep -rwl pipebuffer ../src/gallium/drivers|cut -d/ -f1-5|sort|uniq
../src/gallium/drivers/d3d12
../src/gallium/drivers/iris
../src/gallium/drivers/r600
../src/gallium/drivers/radeon
../src/gallium/drivers/radeonsi
../src/gallium/drivers/softpipe
../src/gallium/drivers/virgl
../src/gallium/drivers/zink
This means that panfrost, broadcom, freedreno, software (and virgl !13385 (merged)) jobs shouldn't need to be run for pipebuffer changes.
Similarly, things like hud and debug facilities shouldn't be triggering any kind of hardware/test jobs as they aren't actually tested, so we're effectively wasting tons of CI time with changes there.
I'm proposing that we create a new list of "core" gallium components in src/gallium/auxiliary
(and maybe winsys
?) to replace .gallium-rules
. This would include e.g., cso, draw, gallivm, util, and all the other things that every driver needs. Driver maintainers can then update their CI dependencies as needed for other directories, which should massively cut down the number of hardware jobs getting run for the more "esoteric" components.
Thoughts?