name: Tests and static analysis (Master)
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
test:
name: Test
runs-on: ubuntu-latest
strategy:
matrix:
php: ['7.4', '8.0', '8.1', '8.2']
steps:
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: xdebug
tools: composer:v2
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: PHP Version Check
run: php -v
- name: Validate Composer JSON
run: composer validate
- name: Run Composer
run: composer install --no-interaction
- name: Unit tests
run: |
composer test-init
composer test
- name: PHP Code Sniffer
run: composer codesniffer
- name: PHPStan analysis
run: composer stan
code-coverage:
name: Code coverage
runs-on: ubuntu-latest
strategy:
matrix:
php: ['7.4']
steps:
- name: Set up PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
coverage: xdebug
tools: composer:v2
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Run Composer
run: composer install --no-interaction
- name: Unit tests
run: |
composer test-init
composer test-coverage-xml
mkdir -p ./build/logs
cp ./tests/_output/coverage.xml ./build/logs/clover.xml
- name: Code Coverage (Coveralls)
env:
COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: php vendor/bin/php-coveralls -v
|