Skip to content

Use different PHP version information for PHPCS and PHPStan #81

Use different PHP version information for PHPCS and PHPStan

Use different PHP version information for PHPCS and PHPStan #81

---
on:
pull_request:
push:
branches:
- master
workflow_dispatch:
jobs:
codestyle:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: 'Validate composer.json and composer.lock'
run: 'composer validate --strict'
- name: 'Determine composer cache directory'
id: 'determine-composer-cache-directory'
run: 'echo "::set-output name=directory::$(composer config cache-dir)"'
- name: 'Determine npm cache directory'
id: 'determine-npm-cache-directory'
run: 'echo "::set-output name=directory::$(npm config get cache)"'
- name: Cache Composer Packages
uses: actions/cache@v2
env:
cache-name: cache-composer
with:
path: '${{ steps.determine-composer-cache-directory.outputs.directory }}'
key: ${{ runner.os }}-codestyle-${{ env.cache-name }}-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-codestyle-${{ env.cache-name }}-
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: '${{ steps.determine-npm-cache-directory.outputs.directory }}'
key: ${{ runner.os }}-codestyle-${{ env.cache-name }}-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-codestyle-${{ env.cache-name }}-
- name: Setup PHP and Composer
uses: shivammathur/setup-php@e04e1d97f0c0481c6e1ba40f8a538454fe5d7709
with:
php-version: '8.2'
tools: cs2pr, composer
env:
fail-fast: true
- name: Install npm and Node
uses: actions/setup-node@v1
with:
node-version: '14.20'
- name: Install composer dependencies
env:
COMPOSER_PARAMETERS: ${{ matrix.composer_parameters }}
run: |
composer install --no-progress --no-suggest
composer show -i
- name: Check Coding-Standard
run: |
set +e
src/bin/coding-standard sca:all
CS_EXIT=$?
trap "cs2pr ./tmp/checkstyle" EXIT
exit $CS_EXIT
tests:
runs-on: ubuntu-latest
needs:
- codestyle
strategy:
matrix:
composer_version: [2]
composer_parameters: ['--prefer-lowest', '--prefer-stable']
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: 'Validate composer.json and composer.lock'
run: 'composer validate --strict'
- name: 'Determine composer cache directory'
id: 'determine-composer-cache-directory'
run: 'echo "::set-output name=directory::$(composer config cache-dir)"'
- name: 'Determine npm cache directory'
id: 'determine-npm-cache-directory'
run: 'echo "::set-output name=directory::$(npm config get cache)"'
- name: Cache Composer Packages
uses: actions/cache@v2
env:
cache-name: cache-composer
matrix-entries: ${{ matrix.composer_version }}-${{ matrix.composer_parameters }}
with:
path: '${{ steps.determine-composer-cache-directory.outputs.directory }}'
key: ${{ runner.os }}-tests-${{ env.cache-name }}-${{ env.matrix-entries }}-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-tests-${{ env.cache-name }}-${{ env.matrix-entries }}-
- name: Cache node modules
uses: actions/cache@v2
env:
cache-name: cache-node-modules
with:
path: '${{ steps.determine-npm-cache-directory.outputs.directory }}'
key: ${{ runner.os }}-tests-${{ env.cache-name }}-${{ hashFiles('**/package.json') }}
restore-keys: |
${{ runner.os }}-tests-${{ env.cache-name }}-
- name: Setup PHP and Composer
uses: shivammathur/setup-php@e04e1d97f0c0481c6e1ba40f8a538454fe5d7709
with:
php-version: '8.2'
tools: composer:${{ matrix.composer_version }}
extensions: xdebug
env:
fail-fast: true
- name: Install npm and Node
uses: actions/setup-node@v1
with:
node-version: '14.20'
- name: Install composer dependencies
env:
COMPOSER_PARAMETERS: ${{ matrix.composer_parameters }}
run: |
composer update -n --no-progress --no-suggest ${COMPOSER_PARAMETERS}
composer show -i
- name: Check PHPUnit
if: ${{ matrix.composer_parameters == '--prefer-lowest' }}
run: |
composer test
- name: Check infections
if: ${{ matrix.composer_parameters == '--prefer-stable' }}
run: |
composer infection