name: "Tests" on: push: branches: - "main" - "master" pull_request: null jobs: unit-tests: runs-on: "ubuntu-latest" name: "Unit Tests on PHP ${{ matrix.php }} and ${{ matrix.tools }}" strategy: fail-fast: false matrix: php: - "7.2" - "7.3" - "7.4" - "8.0" - "8.1" tools: [ "composer" ] dependency-versions: [ "highest" ] include: - php: "7.2" tools: "composer:v2.0" dependency-versions: "lowest" steps: - name: "Check out repository code" uses: "actions/checkout@v2" - name: "Setup PHP" uses: "shivammathur/setup-php@v2" with: php-version: "${{ matrix.php }}" tools: "${{ matrix.tools }}" - name: "Install Composer dependencies" uses: "ramsey/composer-install@v2" with: dependency-versions: "${{ matrix.dependency-versions }}" - name: "Validate composer.json" run: "composer validate --strict --no-check-lock" - name: "Run tests" run: "vendor/bin/phpunit --group default" e2e-tests: runs-on: "ubuntu-latest" name: "E2E Tests on PHP ${{ matrix.php }}" strategy: fail-fast: false matrix: php: - "8.1" steps: - name: "Check out repository code" uses: "actions/checkout@v2" - name: "Setup PHP" uses: "shivammathur/setup-php@v2" with: php-version: "${{ matrix.php }}" tools: "composer" - name: "Correct bin plugin version for e2e scenarios (PR-only)" if: github.event_name == 'pull_request' run: find e2e -maxdepth 1 -mindepth 1 -type d -exec bash -c "cd {} && composer require --dev bamarni/composer-bin-plugin:dev-${GITHUB_SHA} --no-update" \; - name: "Install Composer dependencies" uses: "ramsey/composer-install@v2" with: dependency-versions: "highest" - name: "Run tests" run: "vendor/bin/phpunit --group e2e"