32 lines
733 B
Bash
Executable File
32 lines
733 B
Bash
Executable File
#!/bin/bash
|
||
# Détecte les fichiers PHP modifiés et lance make qa si nécessaire
|
||
# Usage: smart_qa.sh
|
||
# Exit: 0=ok/ignoré, 1=échec QA
|
||
|
||
set -euo pipefail
|
||
|
||
# Détecter fichiers PHP modifiés
|
||
PHP_FILES=$(git diff --name-only --cached | grep '\.php$' || true)
|
||
|
||
if [ -z "$PHP_FILES" ]; then
|
||
echo "ℹ️ Aucun fichier PHP modifié - QA ignorée"
|
||
exit 0
|
||
fi
|
||
|
||
echo "🔍 Fichiers PHP détectés - Lancement de make qa..."
|
||
echo "$PHP_FILES" | sed 's/^/ - /'
|
||
|
||
# Lancer QA avec timeout
|
||
if timeout 600 make qa; then
|
||
echo "✅ QA passée avec succès"
|
||
exit 0
|
||
else
|
||
EXIT_CODE=$?
|
||
if [ $EXIT_CODE -eq 124 ]; then
|
||
echo "❌ QA timeout (>600s)" >&2
|
||
else
|
||
echo "❌ QA échouée" >&2
|
||
fi
|
||
exit 1
|
||
fi
|