name: Contrôle Qualité & Sécurité (QA) on: pull_request: branches: - dev - test - acc - master push: branches: - dev jobs: quality-gate: name: qa-s-check runs-on: ubuntu-latest env: GIT_SSL_NO_VERIFY: "true" NODE_TLS_REJECT_UNAUTHORIZED: "0" steps: - name: Patch DNS local pour Gitea Runner run: sudo echo "10.10.40.31 git.bunker.lan" | sudo tee -a /etc/hosts - name: Configuration de Git pour SSL run: git config --global http.sslVerify false - 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 - name: Activation de pnpm run: corepack enable pnpm - name: Installation des dépendances run: pnpm install --frozen-lockfile # Étape 1 : ESLint (Syntaxe et conventions) - name: Analyse Linter (ESLint) run: pnpm run lint # Étape 2 : Verification stricte des types TypeScript (sans émettre de fichiers) - name: Verification des Types TypeScript run: pnpm exec tsc --noEmit # Étape 3 : Exécution des tests unitaires - name: Tests Unitaires (Vitest) run: pnpm run test -- --run # Étape 4 : Audit des vulnérabilités npm (Niveau High/Critical) - name: Audit de Sécurité des Dépendances run: pnpm audit --audit-level=high # Étape 5 : Validation de la compilation ViteJS - name: Validation du Build de Production run: pnpm run build