name: Build & Test on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: runs-on: ubuntu-20.04 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 linter run: composer ecs - name: Execute tests run: php artisan test --env=ci