name: PHP Composer on: push: branches: [ '*' ] pull_request: branches: [ '*' ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.3' coverage: pcov - name: Validate composer.json run: composer validate - uses: actions/setup-go@v3 with: go-version: '1.20' - uses: https://gitea.com/actions/go-hashfiles@v0.0.1 id: get-hash with: patterns: |- go.sum **/composer.json - name: Cache Composer packages id: composer-cache uses: actions/cache@v4 with: path: vendor key: ${{ runner.os }}-php-${{ steps.get-hash.outputs.hash }} restore-keys: | ${{ runner.os }}-php- - name: Install dependencies if: steps.composer-cache.outputs.cache-hit != 'true' run: composer install --prefer-dist --no-progress --no-suggest - name: Run test suite run: composer run-script test