Skip to content

chore: wip

chore: wip #128

name: Continuous Integration
on:
pull_request: ~
push:
branches: ['*']
permissions:
contents: read
checks: write
id-token: write
jobs:
composer-validate:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1, 8.2, 8.3]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
coverage: none
- run: composer validate --strict --ansi
composer-normalize:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
coverage: none
- uses: ramsey/composer-install@v2
with:
composer-options: --optimize-autoloader
- run: composer normalize --dry-run --diff --ansi
php-code-sniffer:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1, 8.2, 8.3]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2, cs2pr
coverage: none
- uses: ramsey/composer-install@v2
with:
composer-options: --optimize-autoloader
- run: composer phpcs
phpmd:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2, cs2pr
coverage: none
- uses: ramsey/composer-install@v2
with:
composer-options: --optimize-autoloader
- run: ./vendor/bin/phpmd src github phpmd.xml
psalm:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1, 8.2, 8.3]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
coverage: none
- uses: ramsey/composer-install@v2
with:
composer-options: --optimize-autoloader
- run: composer psalm -- --php-version=${{ matrix.php }} --stats --output-format=github
phpstan:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1, 8.2, 8.3]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
coverage: none
- uses: ramsey/composer-install@v2
with:
composer-options: --optimize-autoloader
- run: composer phpstan -- --no-interaction
tests:
runs-on: ubuntu-latest
strategy:
matrix:
php: [8.1, 8.2, 8.3]
steps:
- uses: actions/checkout@v3.3.0
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
tools: composer:v2
coverage: xdebug
extensions: xdebug-beta
- name: Install composer and dependencies
uses: php-actions/composer@v6
- name: PHPUnit Tests
run: ./vendor/bin/phpunit --coverage-clover ./coverage.xml
- name: Upload to Codecov
uses: codecov/codecov-action@v2
with:
token: ${{ secrets.CODE_COV_TOKEN }}
files: ./coverage.xml
verbose: true
- name: Publish Test Report
uses: mikepenz/action-junit-report@v3
if: success() || failure() # always run even if the previous step fails
with:
report_paths: './junit.xml'