name: 🔍 Contrôle Qualité & Sécurité (QA) on: pull_request: branches: - dev - test - acc - master push: branches: - dev jobs: quality-gate: name: 🛡️ Quality Gate & Security Check runs-on: ubuntu-latest env: GIT_SSL_NO_VERIFY: "true" NODE_TLS_REJECT_UNAUTHORIZED: "0" steps: - name: Récupération du code source uses: actions/checkout@v4 - name: Configuration de Node.js (v22) uses: actions/setup-node@v4 with: node-version: 22 cache: 'npm' - name: Installation des dépendances run: npm ci # Étape 1 : ESLint (Syntaxe et conventions) - name: 🧹 Analyse Linter (ESLint) run: npm run lint # Étape 2 : Verification stricte des types TypeScript (sans émettre de fichiers) - name: 📐 Verification des Types TypeScript run: npx tsc --noEmit # Étape 3 : Exécution des tests unitaires - name: 🧪 Tests Unitaires (Vitest) run: npm run test -- --run # Étape 4 : Audit des vulnérabilités npm (Niveau High/Critical) - name: 🔐 Audit de Sécurité des Dépendances run: npm audit --audit-level=high # Étape 5 : Validation de la compilation ViteJS - name: 🏗️ Validation du Build de Production run: npm run build