name: CI - Intégration continue # Intégration continue : à chaque push et chaque pull request, on vérifie # automatiquement la qualité du code (Laravel Pint) puis on exécute les tests # automatisés (PHPUnit). Un déploiement (voir deploy.yml) ne doit se faire que # si cette étape est au vert. on: push: branches: [ master ] pull_request: branches: [ master ] jobs: quality-and-tests: runs-on: ubuntu-latest steps: - name: Récupération du code uses: actions/checkout@v4 - name: Installation de PHP 8.2 uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: pdo_mysql, pdo_sqlite, sqlite3, mbstring, exif, pcntl, bcmath, gd coverage: none - name: Cache des dépendances Composer uses: actions/cache@v4 with: path: vendor key: composer-${{ hashFiles('composer.lock') }} - name: Installation des dépendances run: composer install --no-interaction --prefer-dist --optimize-autoloader - name: Préparation de l'environnement de test run: | cp .env.example .env php artisan key:generate - name: Vérification du style de code (Laravel Pint) run: vendor/bin/pint --test - name: Exécution des tests automatisés (PHPUnit) env: DB_CONNECTION: sqlite DB_DATABASE: ':memory:' run: php artisan test