# This file list source dependencies to avoid creating/running jobs
# those outcome cannot be changed by the modifications from a branch.

# Rule to filter for only scheduled pipelines.
.scheduled_pipeline-rules:
  rules:
    - if: &is-scheduled-pipeline '$CI_PIPELINE_SOURCE == "schedule"'
      when: on_success

# Generic rule to not run the job during scheduled pipelines. Jobs that aren't
# something like a nightly run should include this rule.
.no_scheduled_pipelines-rules:
  rules:
    - if: *is-scheduled-pipeline
      when: never

# Mesa core source file dependencies that may impact any test job
# ---------------------------------------------------------------
.core-rules:
  rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - changes: &core_file_list
      - .gitlab-ci.yml
      - .gitlab-ci/**/*
      - include/**/*
      - meson.build
      - .gitattributes
      - src/*
      - src/compiler/**/*
      - src/drm-shim/**/*
      - src/gbm/**/*
      - src/gtest/**/*
      - src/hgl/**/*
      - src/include/**/*
      # Some src/util and src/compiler files use headers from mesa/ (e.g.
      # mtypes.h).  We should clean that up.
      - src/mesa/**/*.h
      - src/tool/**/*
      - src/util/**/*
      when: on_success

# Mesa source file dependencies that may impact any GL driver test job.
.gl-rules:
  rules:
    - !reference [.core-rules, rules]
    - changes: &mesa_core_file_list
      - src/egl/**/*
      - src/glx/**/*
      - src/loader/**/*
      - src/mapi/**/*
      - src/mesa/*
      - src/mesa/main/**/*
      - src/mesa/math/**/*
      - src/mesa/program/**/*
      - src/mesa/sparc/**/*
      - src/mesa/state_tracker/**/*
      - src/mesa/swrast/**/*
      - src/mesa/swrast_setup/**/*
      - src/mesa/vbo/**/*
      - src/mesa/x86/**/*
      - src/mesa/x86-64/**/*
      when: on_success
    - changes: &gallium_core_file_list
      - src/gallium/*
      - src/gallium/auxiliary/**/*
      - src/gallium/drivers/*
      - src/gallium/include/**/*
      - src/gallium/frontends/dri/*
      - src/gallium/frontends/glx/**/*
      - src/gallium/targets/**/*
      - src/gallium/tests/**/*
      - src/gallium/winsys/*
      when: on_success

# Source file dependencies that may impact any Vulkan driver build or test
.vulkan-rules:
  rules:
    - !reference [.core-rules, rules]
    - changes: &vulkan_file_list
      - src/vulkan/**/*
      when: on_success

.softpipe-rules:
  stage: software-renderer
  rules:
    - !reference [.gl-rules, rules]
    - changes: &softpipe_file_list
      - src/gallium/drivers/softpipe/**/*
      - src/gallium/winsys/sw/**/*
      when: on_success

.llvmpipe-rules:
  stage: software-renderer
  rules:
    - !reference [.gl-rules, rules]
    - changes: &llvmpipe_file_list
      - src/gallium/drivers/llvmpipe/**/*
      - src/gallium/winsys/sw/**/*
      when: on_success

.lavapipe-rules:
  stage: software-renderer
  rules:
    - !reference [.vulkan-rules, rules]
    # One could probably be a little more clever here and skip non-gallium Mesa changes (see also .llvmpipe-cl-rules).
    - !reference [.gl-rules, rules]
    - changes: &lavapipe_file_list
      - src/gallium/drivers/llvmpipe/**/*
      - src/gallium/frontends/lavapipe/**/*
      - src/gallium/winsys/sw/**/*
      when: on_success

.llvmpipe-cl-rules:
  stage: software-renderer
  rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - changes: &llvmpipe_cl_files
      - .gitlab-ci.yml
      - .gitlab-ci/**/*
      - meson.build
      - .gitattributes
      - include/**/*
      - src/compiler/**/*
      - src/include/**/*
      - src/util/**/*
      when: on_success
    - changes:
        *gallium_core_file_list
      when: on_success
    - changes:
        *llvmpipe_file_list
      when: on_success

.llvmpipe-clover-rules:
  rules:
    - !reference [.llvmpipe-cl-rules, rules]
    - changes:
      - src/gallium/frontends/clover/**/*
      when: on_success

.llvmpipe-rusticl-rules:
  rules:
    - !reference [.llvmpipe-cl-rules, rules]
    - changes:
      - src/gallium/frontends/rusticl/**/*
      when: on_success

.collabora-farm-rules:
  rules:
    - if: '$COLLABORA_FARM == "offline" && $RUNNER_TAG =~ /^mesa-ci-x86-64-lava-/'
      when: never

.igalia-farm-rules:
  rules:
    - if: '$IGALIA_FARM == "offline"'
      when: never

.anholt-farm-rules:
  rules:
    - if: '$ANHOLT_FARM == "offline"'
      when: never

# Skips freedreno jobs if either of the farms we use are offline.
.freedreno-farm-rules:
  rules:
    - if: '$FD_FARM == "offline"'
      when: never
    - !reference [.collabora-farm-rules, rules]

# Rules for changes that impact either freedreno or turnip.
.freedreno-common-rules:
  rules:
    - !reference [.freedreno-farm-rules, rules]
    - changes: &freedreno_core_file_list
      - src/freedreno/ci/**/*
      - src/freedreno/common/**/*
      - src/freedreno/drm/**/*
      - src/freedreno/fdl/**/*
      - src/freedreno/ir3/**/*
      - src/freedreno/isa/**/*
      - src/freedreno/registers/**/*
      when: on_success

.freedreno-rules:
  stage: freedreno
  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

.turnip-rules:
  stage: freedreno
  rules:
    - !reference [.freedreno-common-rules, rules]
    - !reference [.vulkan-rules, rules]
    - changes:
      - src/freedreno/vulkan/**/*
      when: on_success

# For piglit and skqp test jobs that run both GL and VK tests.
.freedreno-turnip-rules:
  rules:
    - !reference [.freedreno-rules, rules]
    - !reference [.turnip-rules, rules]

.freedreno-rules-restricted:
  stage: freedreno
  rules:
    # If the triggerer has access to the restricted traces and if it is pre-merge
    - if: '($GITLAB_USER_LOGIN !~ "/^(robclark|anholt|flto|cwabbott0|Danil|tomeu|okias|gallo)$/") &&
           ($GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH)'
      when: never
    - !reference [.freedreno-rules, rules]

# Rules for GL driver performance tracking.  We want them to run as code is
# merged to main, but we don't want them to block marge.  So, they need to have
# only when: never or when: manual, and a separate script maintained by
# Collabora triggers the manual job after merge to main.
.gl-rules-performance:
  rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    # Run only on pre-merge pipelines from Marge
    - if: '$GITLAB_USER_LOGIN != "marge-bot" || $CI_COMMIT_BRANCH'
      when: never
    - changes:
        *mesa_core_file_list
      when: manual
    - changes:
        *gallium_core_file_list
      when: manual

# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
# rules duplication manually
.freedreno-rules-performance:
  stage: freedreno
  rules:
    - !reference [.freedreno-farm-rules, rules]
    - !reference [.gl-rules-performance, rules]
    - changes:
        *freedreno_core_file_list
      when: manual
    - changes:
        *freedreno_gl_file_list
      when: manual

.nouveau-rules:
  stage: nouveau
  rules:
    - !reference [.anholt-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - changes:
      - src/nouveau/**/*
      - src/gallium/drivers/nouveau/**/*
      - src/gallium/winsys/kmsro/**/*
      - src/gallium/winsys/nouveau/**/*
      when: on_success

.panfrost-midgard-rules:
  stage: arm
  rules:
    - !reference [.collabora-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - changes: &panfrost_gallium_file_list
      - src/gallium/drivers/panfrost/**/*
      - src/gallium/winsys/panfrost/**/*
      when: on_success
    - changes: &panfrost_common_file_list
      - src/panfrost/ci/*
      - src/panfrost/include/*
      - src/panfrost/lib/*
      - src/panfrost/shared/*
      - src/panfrost/util/*
      when: on_success
    - changes:
      - src/panfrost/midgard/**/*
      when: on_success

.panfrost-bifrost-rules:
  stage: arm
  rules:
    - !reference [.collabora-farm-rules, rules]
    - !reference [.vulkan-rules, rules]
    - !reference [.gl-rules, rules]
    - changes:
        *panfrost_common_file_list
      when: on_success
    - changes:
        *panfrost_gallium_file_list
      when: on_success
    - changes: &panfrost_vulkan_file_list
      - src/panfrost/vulkan/*
      when: on_success
    - changes:
      - src/panfrost/bifrost/**/*
      when: on_success

.broadcom-common-rules:
  rules:
    - changes:
      - src/broadcom/meson.build
      - src/broadcom/ci/**/*
      - src/broadcom/cle/**/*
      - src/broadcom/clif/**/*
      - src/broadcom/common/**/*
      - src/broadcom/compiler/**/*
      - src/broadcom/drm-shim/**/*
      - src/broadcom/qpu/**/*
      - src/broadcom/simulator/**/*
      when: on_success

.vc4-rules:
  stage: broadcom
  rules:
    - !reference [.igalia-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - !reference [.broadcom-common-rules, rules]
    - changes:
      - src/gallium/drivers/vc4/**/*
      - src/gallium/winsys/kmsro/**/*
      - src/gallium/winsys/vc4/**/*
      when: on_success

.v3d-rules:
  stage: broadcom
  rules:
    - !reference [.igalia-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - !reference [.broadcom-common-rules, rules]
    - changes:
      - src/gallium/drivers/v3d/**/*
      - src/gallium/winsys/kmsro/**/*
      - src/gallium/winsys/v3d/**/*
      when: on_success

.v3dv-rules:
  stage: broadcom
  rules:
    - !reference [.igalia-farm-rules, rules]
    - !reference [.vulkan-rules, rules]
    - changes:
      - src/broadcom/**/*
      when: on_success

.lima-rules:
  stage: arm
  rules:
    - if: '$LIMA_FARM == "offline"'
      when: never
    - !reference [.gl-rules, rules]
    - changes:
      - src/gallium/drivers/lima/**/*
      - src/gallium/winsys/lima/**/*
      - src/lima/**/*
      when: on_success

.radv-rules:
  stage: amd
  rules:
    - !reference [.collabora-farm-rules, rules]
    - !reference [.vulkan-rules, rules]
    - changes: &radv_file_list
      - src/amd/**/*
      - src/vulkan/**/*
      when: on_success

.virgl-rules:
  stage: layered-backends
  rules:
    - !reference [.gl-rules, rules]
    - changes:
        *llvmpipe_file_list
      when: on_success
    - changes: &virgl_file_list
      - src/gallium/drivers/virgl/**/*
      - src/gallium/winsys/virgl/**/*
      when: on_success

# Unfortunately we can't sed the on_success from another rules set, so we have
# to do duplicate the files lists to set the job to manual (see
# .gl-rules-performance)
.virgl-iris-rules-performance:
  stage: layered-backends
  rules:
    - !reference [.collabora-farm-rules, rules]
    - !reference [.gl-rules-performance, rules]
    - changes:
        *llvmpipe_file_list
      when: manual
    - changes:
        *virgl_file_list
      when: manual

.venus-rules:
  stage: layered-backends
  rules:
    - !reference [.lavapipe-rules, rules]
    - changes: &venus_file_list
      - src/virtio/**/*
      when: on_success
    - when: never

.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

.radeonsi+radv-rules:
  stage: amd
  rules:
    - !reference [.collabora-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - changes:
        *radeonsi_file_list
      when: on_success
    - changes:
        *radv_file_list
      when: on_success

.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/**/*
      when: on_success

.i915g-rules:
  stage: intel
  rules:
    - !reference [.gl-rules, rules]
    - changes:
      - src/gallium/drivers/i915/**/*
      - src/gallium/winsys/i915/**/*
      - src/intel/**/*
      when: on_success

.crocus-rules:
  stage: intel
  rules:
    - !reference [.gl-rules, rules]
    - changes:
      - src/gallium/drivers/crocus/**/*
      - src/gallium/winsys/crocus/**/*
      - src/intel/**/*
      when: on_success

.iris-rules:
  stage: intel
  rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - !reference [.collabora-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - changes: &iris_file_list
      - src/gallium/drivers/iris/**/*
      - src/gallium/winsys/iris/**/*
      - src/intel/**/*
      when: on_success

# Unfortunately we can't sed the on_success from another rules set, so we have
# to do duplicate the files lists to set the job to manual (see
# .gl-rules-performance)
.iris-rules-performance:
  stage: intel
  rules:
    - !reference [.collabora-farm-rules, rules]
    - !reference [.gl-rules-performance, rules]
    - changes:
        *iris_file_list
      when: manual

.anv-rules:
  stage: intel
  rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - !reference [.collabora-farm-rules, rules]
    - !reference [.vulkan-rules, rules]
    - changes:
      - src/intel/**/*
      when: on_success

.intel-rules:
  stage: intel
  rules:
    - !reference [.collabora-farm-rules, rules]
    # Note that we trigger on changes both anv and iris, because piglit and skqp jobs test both.
    - !reference [.vulkan-rules, rules]
    - !reference [.gl-rules, rules]
    - changes: &iris_file_list
      - src/gallium/drivers/iris/**/*
      - src/gallium/winsys/iris/**/*
      - src/intel/**/*
      when: on_success

.zink-common-rules:
  rules:
    - !reference [.gl-rules, rules]
    - changes:
      - src/gallium/drivers/zink/**/*
      when: on_success

.zink-lvp-rules:
  stage: layered-backends
  rules:
    - !reference [.lavapipe-rules, rules]
    - !reference [.zink-common-rules, rules]

.zink-anv-rules:
  stage: layered-backends
  rules:
    - !reference [.anv-rules, rules]
    - !reference [.zink-common-rules, rules]

.zink-turnip-rules:
  stage: layered-backends
  rules:
    - !reference [.turnip-rules, rules]
    - !reference [.zink-common-rules, rules]

# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
# rules duplication manually
.windows-build-rules:
  rules:
    - if: '$MICROSOFT_FARM == "offline"'
      when: never
    - !reference [.zink-common-rules, rules]
    - !reference [.vulkan-rules, rules]
    - changes:
        *softpipe_file_list
      when: on_success
    - changes:
        *lavapipe_file_list
      when: on_success
    - changes: &d3d12_file_list
      - src/gallium/drivers/d3d12/**/*
      - src/gallium/frontends/wgl/*
      - src/gallium/winsys/d3d12/wgl/*
      - src/gallium/targets/libgl-gdi/*
      - src/gallium/targets/libgl-d3d12/*
      when: on_success
    - changes:
      - src/microsoft/**/*
      - src/gallium/frontends/va/*
      - src/gallium/targets/va/*
      when: on_success
    - changes:
        *radv_file_list
      when: on_success

.glon12-test-rules:
  rules:
    - if: '$MICROSOFT_FARM == "offline"'
      when: never
    - !reference [.gl-rules, rules]
    - changes: *d3d12_file_list
      when: on_success
    - changes:
      - src/microsoft/compiler/*
      when: on_success

.spirv2dxil-test-rules:
  rules:
    - if: '$MICROSOFT_FARM == "offline"'
      when: never
    - !reference [.no_scheduled_pipelines-rules, rules]
    - !reference [.core-rules, rules]
    - changes: &spirv2dxil_file_list
      - src/microsoft/ci/*
      - src/microsoft/compiler/*
      - src/microsoft/spirv_to_dxil/*
      when: on_success

.dozen-test-rules:
  rules:
    - if: '$MICROSOFT_FARM == "offline"'
      when: never
    - !reference [.vulkan-rules, rules]
    - changes:
        *spirv2dxil_file_list
      when: on_success
    - changes:
      - src/microsoft/vulkan/*
      when: on_success

.etnaviv-rules:
  stage: etnaviv
  rules:
    - !reference [.gl-rules, rules]
    - changes:
      - src/etnaviv/**/*
      - src/gallium/drivers/etnaviv/**/*
      - src/gallium/winsys/etnaviv/**/*
      - src/gallium/auxiliary/renderonly/**/*
      - src/gallium/winsys/kmsro/**/*
      - src/gallium/winsys/etnaviv/**/*
      when: on_success

# Rules for unusual architectures that only build a subset of drivers
.ppc64el-rules:
   rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - !reference [.zink-common-rules, rules]
    - changes:
        *softpipe_file_list
      when: on_success
    - changes:
        *llvmpipe_file_list
      when: on_success
    - changes:
        *lavapipe_file_list
      when: on_success
    - changes:
        *radv_file_list
      when: on_success
    - changes:
        *radeonsi_file_list
      when: on_success
    - changes:
        *virgl_file_list
      when: on_success
    - changes:
      - src/gallium/drivers/nouveau/**/*
      - src/gallium/winsys/nouveau/**/*
      when: on_success

.s390x-rules:
   rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - !reference [.zink-common-rules, rules]
    - changes:
        *softpipe_file_list
      when: on_success
    - changes:
        *llvmpipe_file_list
      when: on_success
    - changes:
        *lavapipe_file_list
      when: on_success

# Rules for linters
.lint-rustfmt-rules:
   rules:
    - !reference [.no_scheduled_pipelines-rules, rules]
    - !reference [.core-rules, rules]
    - changes:
      - src/**/*.rs
      when: on_success
