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