name: CI on: push: branches: [ master, main ] pull_request: branches: [ master, main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: '8.2' extensions: mbstring, intl coverage: xdebug - name: Validate composer.json and composer.lock run: composer validate --strict - name: Cache Composer packages id: composer-cache uses: actions/cache@v3 with: path: vendor key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - name: Install dependencies run: composer install --prefer-dist --no-progress - name: Run test suite run: vendor/bin/phpunit --coverage-text - name: Run Static Analysis (PHPStan) run: vendor/bin/phpstan analyse src --level 5 - name: Check Code Style (PHP_CodeSniffer) run: vendor/bin/phpcs --standard=PSR12 src