name: Laravel on: push: branches: ["main"] pull_request: jobs: laravel-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: shivammathur/setup-php@v2 with: php-version: "8.4" - name: Copy .env run: php -r "file_exists('.env') || copy('.env.example', '.env');" - name: Install PHP Dependencies run: composer install -q --no-interaction --no-progress --prefer-dist - name: Generate key run: php artisan key:generate - name: Directory Permissions run: chmod -R 777 storage bootstrap/cache - name: Create Database run: | mkdir -p database touch database/database.sqlite - name: Install Node.js uses: actions/setup-node@v2 with: node-version: "20" - name: Install Node dependencies run: npm ci - name: Build frontend run: npm run build - name: Run migrations env: DB_CONNECTION: sqlite DB_DATABASE: database/database.sqlite run: php artisan migrate --force - name: Run PHPUnit env: DB_CONNECTION: sqlite DB_DATABASE: database/database.sqlite run: vendor/bin/phpunit