.windows-docker-tags:
  tags:
    - windows
    - docker
    - "2022"
    - mesa

.windows-shell-tags:
  tags:
    - windows
    - shell
    - "2022"
    - mesa


# Unfortunately YAML doesn't let us concatenate arrays, so we have to do the
# rules duplication manually
.windows-build-rules:
  rules:
    - !reference [.test, rules]
    - !reference [.microsoft-farm-rules, rules]
    - !reference [.zink-common-rules, rules]
    - !reference [.vulkan-rules, rules]
    - !reference [.softpipe-rules, rules]
    - !reference [.lavapipe-rules, rules]
    - 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
    - !reference [.radv-rules, rules]

.glon12-test-rules:
  rules:
    - !reference [.test, rules]
    - !reference [.microsoft-farm-rules, rules]
    - !reference [.gl-rules, rules]
    - changes: *d3d12_file_list
      when: on_success
    - changes:
      - src/microsoft/compiler/*
      when: on_success

.spirv2dxil-test-rules:
  rules:
    - !reference [.test, rules]
    - !reference [.microsoft-farm-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:
    - !reference [.test, rules]
    - !reference [.microsoft-farm-rules, rules]
    - !reference [.vulkan-rules, rules]
    - changes:
        *spirv2dxil_file_list
      when: on_success
    - changes:
      - src/microsoft/vulkan/*
      when: on_success
