name: Validate Configuration Files

on:
  push:
    branches: [ main, develop ]
    paths:
      - 'crossplane-provider-proxmox/**/*.yaml'
      - 'cloudflare/**/*.yaml'
      - 'cloudflare/**/*.tf'
      - 'gitops/**/*.yaml'
  pull_request:
    branches: [ main, develop ]
    paths:
      - 'crossplane-provider-proxmox/**/*.yaml'
      - 'cloudflare/**/*.yaml'
      - 'cloudflare/**/*.tf'
      - 'gitops/**/*.yaml'

jobs:
  validate:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
      
      - name: Set up Python
        uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      
      - name: Install yamllint
        run: pip install yamllint
      
      - name: Validate YAML files
        run: |
          find . -name "*.yaml" -o -name "*.yml" | \
            grep -v node_modules | \
            grep -v .git | \
            xargs yamllint -d relaxed || true
      
      - name: Validate provider config
        run: |
          ./scripts/validate-configs.sh || true
      
      - name: Check for placeholders
        run: |
          if grep -r "CHANGE_ME\|your-\|TBD\|TODO\|FIXME" \
            --include="*.yaml" \
            --include="*.yml" \
            crossplane-provider-proxmox/examples/ \
            cloudflare/tunnel-configs/ \
            gitops/ 2>/dev/null; then
            echo "⚠️  Found placeholders in configuration files"
            exit 1
          fi

