yiisoft/yii-web

View on GitHub
.github/workflows/static.yml

Summary

Maintainability
Test Coverage
on:
  pull_request:
  push:
  schedule:
    - cron: '0 0 * * *'

name: static analysis

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

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

    strategy:
      matrix:
        os:
          - ubuntu-latest

        php:
          - "7.4"

    steps:
      - name: Checkout
        uses: actions/checkout@v2.3.4

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

      - name: Determine composer cache directory
        run: echo "COMPOSER_CACHE_DIR=$(composer config cache-dir)" >> $GITHUB_ENV

      - name: Cache dependencies installed with composer
        uses: actions/cache@v2
        with:
          path: ${{ env.COMPOSER_CACHE_DIR }}
          key: php${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
          restore-keys: |
            php${{ matrix.php }}-composer-

      - name: Update composer
        run: composer self-update

      - name: Install dependencies with composer
        run: composer update --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi

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