name: Test & lint PHP stuff on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: test-and-lint-php: name: Test & lint PHP stuff runs-on: ubuntu-20.04 services: pgsql: image: postgres:13 env: POSTGRES_DB: toby POSTGRES_USER: toby POSTGRES_PASSWORD: password PGPASSWORD: password ports: - 5432:5432 steps: - uses: actions/checkout@v2 - name: Validate composer.json and composer.lock run: composer validate - name: Cache dependencies uses: actions/cache@v2 with: path: vendor key: ${{ runner.os }}-composer-dependencies-${{ hashFiles('composer.lock') }} restore-keys: ${{ runner.os }}-composer-dependencies - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: 8.1 extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, intl coverage: none - name: Install Composer dependencies run: composer install --prefer-dist --no-interaction --no-suggest - name: Run PHP linter run: composer cs - name: Execute tests run: php artisan test --env=ci