name: Tests on: pull_request: push: branches: - main jobs: php-tests: name: Laravel tests runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.4' extensions: bcmath, exif, fileinfo, gd, mbstring, pdo_sqlite, sqlite3, zip coverage: none - name: Install Composer dependencies uses: ramsey/composer-install@v3 - name: Setup Node uses: actions/setup-node@v4 with: node-version: '22' cache: npm - name: Install NPM dependencies run: npm ci - name: Prepare application run: | cp .env.example .env php artisan key:generate --ansi - name: Check PHP formatting run: composer format:check - name: Check Blade formatting run: npm run format:check - name: Run test suite run: php artisan test - name: Run static analysis run: composer analyse