name: PHP Composer on: push: branches: [main] pull_request: branches: [main] jobs: build: strategy: matrix: php-versions: ["7.0", "7.1", "7.2", "7.3", "7.4", "8.0", "8.1"] runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup PHP, with composer and extensions uses: shivammathur/setup-php@v2 #https://github.com/shivammathur/setup-php with: php-version: ${{ matrix.php-versions }} extensions: mbstring, simplexml, dom, curl coverage: pcov - name: Validate composer.json and composer.lock run: composer validate --strict - name: Cache Composer packages id: composer-cache uses: actions/cache@v2 with: path: vendor key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }} restore-keys: | ${{ runner.os }}-php- - name: Install dependencies run: composer update --prefer-dist --no-progress - name: Run test suite run: composer run-script test