giansalex/greenter

View on GitHub
.github/workflows/php.yml

Summary

Maintainability
Test Coverage
name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        php: ['8.2']
        report-coverage: [false]
        include:
          - php: '7.4'
            report-coverage: true

    steps:
    - uses: actions/checkout@v2

    - name: Setup PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php }}
        extensions: mbstring, curl, soap, :fileinfo

    - name: Validate composer.json
      run: composer validate

    - name: Install dependencies
      run: composer install --prefer-dist --no-progress

    - name: Run PHPStan
      run: composer run-script lint:ci

    - name: Run PSalm
      if: ${{ matrix.report-coverage }}
      run: vendor/bin/psalm --shepherd

    - name: Unit Tests
      run: vendor/bin/phpunit --exclude-group manual --coverage-clover clover.xml

    - uses: codecov/codecov-action@v1
      if: ${{ matrix.report-coverage }}
      with:
        file: ./clover.xml
        flags: unittests
        name: codecov-greenter