YiiRocks/svg-inline-bootstrap

View on GitHub
.github/workflows/analysis.yml

Summary

Maintainability
Test Coverage
on:
  - pull_request
  - push

name: analysis

jobs:
  tests:
    name: PHP ${{ matrix.php }}-${{ matrix.os }}

    runs-on: ${{ matrix.os }}

    strategy:
      matrix:
        os:
          - ubuntu-latest

        php:
          - "7.4"
          - "8.0"
          - "8.1"

    steps:
      - name: Checkout
        uses: actions/checkout@v3.1.0

      - name: Install PHP with extensions
        uses: shivammathur/setup-php@2.21.2
        with:
          php-version: ${{ matrix.php }}
          tools: composer:v2, cs2pr
          coverage: none

      - name: Cache dependencies installed with composer
        uses: actions/cache@v3.0.10
        with:
          path: vendor
          key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
          restore-keys: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}

      - if: matrix.php == '7.4'
        name: Install dependencies with composer
        run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader

      - if: matrix.php == '8.0' || matrix.php == '8.1'
        name: Install dependencies with composer
        run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ignore-platform-reqs

      - name: Unit testing with PHPUnit
        run: vendor/bin/phpunit --colors --no-interaction

      - name: Static analysis with psalm
        run: vendor/bin/psalm --shepherd --stats --output-format=checkstyle | cs2pr --graceful-warnings --colorize