Skip to content

Support CI 4.4.0

Support CI 4.4.0 #68

Workflow file for this run

name: Static Analysis
on:
push:
branches:
- 1.x
paths:
- 'src/**'
- 'tests/**'
- phpmd.xml
- phpstan.neon
- psalm.xml
pull_request:
branches:
- 1.x
paths:
- 'src/**'
- 'tests/**'
- phpmd.xml
- phpstan.neon
- psalm.xml
- '.github/workflows/**'
workflow_dispatch:
jobs:
static-analysis-phpstan:
name: Static Analysis with PHPStan
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
tools: cs2pr
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get composer cache directory
run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_ENV
- name: Cache composer dependencies
uses: actions/cache@v3
with:
path: ${{ env.COMPOSER_CACHE_FILES_DIR }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: composer update --no-interaction --no-progress --prefer-dist
- name: Run PHPStan
run: ./vendor/bin/phpstan analyse -c phpstan.neon --no-progress --no-interaction --error-format=checkstyle | cs2pr
static-analysis-psalm:
name: Static Analysis with Psalm
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
tools: cs2pr
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get composer cache directory
run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_ENV
- name: Install dependencies
run: composer update --no-interaction --no-progress --prefer-dist
- name: Run Psalm
run: ./vendor/bin/psalm --show-info=false --shepherd
static-analysis-phpmd:
name: Static Analysis with PHPMD
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 7.4
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get composer cache directory
run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_ENV
- name: Cache composer dependencies
uses: actions/cache@v3
with:
path: ${{ env.COMPOSER_CACHE_FILES_DIR }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-
- name: Install dependencies
run: composer update --no-interaction --no-progress --prefer-dist
- name: Run PHP Mess Detector
run: ./vendor/bin/phpmd src text ./phpmd.xml
static-analysis-php-metrics:
name: Static Analysis with PhpMetrics
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
coverage: none
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Get composer cache directory
run: echo "COMPOSER_CACHE_FILES_DIR=$(composer config cache-files-dir)" >> $GITHUB_ENV
- name: Install dependencies
run: composer update --no-interaction --no-progress --prefer-dist
- name: Run PhpMetrics
run: ./vendor/bin/phpmetrics --exclude=Exception src
# static-analysis-composer-require-checker:
# name: Static Analysis with ComposerRequireChecker
# runs-on: ubuntu-latest
# steps:
# - name: Checkout
# uses: actions/checkout@v3
#
# - name: Setup PHP
# uses: shivammathur/setup-php@v2
# with:
# php-version: 8.0
# coverage: none
# env:
# COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
#
# - name: Get composer cache directory
# id: composer-cache
# run: echo "::set-output name=dir::$(composer config cache-files-dir)"
#
# - name: Install dependencies
# run: |
# composer update --no-interaction --no-progress --prefer-dist
# composer require --dev maglnet/composer-require-checker ^3.0
#
# - name: Run composer-require-checker
# run: ./vendor/bin/composer-require-checker