name: integration test shader reflection

on:
  push:
    branches: [ "master" ]
  schedule:
    - cron: "0 0 * * 6"
env:
  CARGO_TERM_COLOR: always
jobs:
  test-presets:
    runs-on: ubuntu-latest
    continue-on-error: false
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          submodules: recursive
      - name: Install nightly Rust
        uses: dtolnay/rust-toolchain@nightly
        with:
          toolchain: nightly
      - name: Test preset preprocessing
        run: cargo test -p librashader --features=github-ci --test reflect -- --nocapture preprocess_all_slang_presets_parsed
  test-naga:
    runs-on: ubuntu-latest
    continue-on-error: false
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          submodules: recursive
      - name: Install nightly Rust
        uses: dtolnay/rust-toolchain@nightly
        with:
          toolchain: nightly
      - name: Test Naga Reflection
        run: cargo test -p librashader --features=github-ci --test reflect -- --nocapture compile_all_slang_presets_wgsl_naga compile_all_slang_presets_msl_naga compile_all_slang_presets_spirv_naga
  test-cross:
    runs-on: ubuntu-latest
    continue-on-error: false
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          submodules: recursive
      - name: Install nightly Rust
        uses: dtolnay/rust-toolchain@nightly
        with:
          toolchain: nightly
      - name: Test SPIRV-Cross reflection
        run: cargo test -p librashader --features=github-ci --test reflect -- --nocapture compile_all_slang_presets_msl_cross compile_all_slang_presets_glsl_cross compile_all_slang_presets_hlsl_cross compile_all_slang_presets_spirv_cross
  test-dxil:
    runs-on: windows-latest
    continue-on-error: false
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
        with:
          submodules: recursive
      - name: Install nightly Rust
        uses: dtolnay/rust-toolchain@nightly
        with:
          toolchain: nightly
      - name: Test DXIL
        run: cargo test -p librashader --features=github-ci --test reflect -- --nocapture compile_all_slang_presets_dxil_cross