name: CI on: push: branches: [ 3.x ] pull_request: branches: [ 3.x ] permissions: contents: read jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: include: - os: "ubuntu-latest" php: "8.0" coverage: "none" - os: "ubuntu-latest" php: "8.1" coverage: "none" - os: "ubuntu-latest" php: "8.2" coverage: "pcov" - os: "ubuntu-latest" php: "8.3" coverage: "pcov" steps: - uses: actions/checkout@v3 - uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} # Only report coverage once coverage: ${{ matrix.coverage }} - name: Validate composer.json and composer.lock run: composer validate --strict - name: Un-pin PHP version used for dependency resolution run: composer config --unset platform.php - name: Install dependencies; use "update" so that we can get the right dependencies for our php version run: composer -n update --prefer-dist -o # 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 if: matrix.coverage == 'none' run: composer run-script test - name: Run coverage if: matrix.coverage == 'pcov' run: composer run-script coverage - name: Upload coverage results to Coveralls if: matrix.coverage == 'pcov' env: COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: composer run-script coveralls