54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
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 |