--- name: PHP Composer on: push: branches: [ "main" ] pull_request: branches: [ "main" ] permissions: contents: read jobs: build: # pre-installed php from 7.4 to 8.3 runs-on: ubuntu-22.04 strategy: matrix: php-versions: ['8.2', '8.3'] steps: - uses: actions/checkout@v4 - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-versions }} - name: Validate composer.json and composer.lock run: composer validate --strict - name: Cache Composer packages id: composer-cache uses: actions/cache@v4 with: path: vendor key: ${{ runner.os }}-php-${{ matrix.php-versions }}-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php-${{ matrix.php-versions }}- ${{ runner.os }}-php- - name: Install dependencies run: composer install --prefer-dist --no-progress # Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" # Docs: https://getcomposer.org/doc/articles/scripts.md # - name: Run test suite # run: composer run-script test