mirror of
https://github.com/Respect/Validation.git
synced 2026-03-14 22:35:45 +01:00
When we change the contract of a validator, or create a new one, we need to ensure that the mixin for the validator is present and matches the validator's constructor. This commit changes the current class that generates those mixin classes, converting it into a linter so we can run it in the GitHub workflow to check for missing changes.
94 lines
2 KiB
YAML
94 lines
2 KiB
YAML
name: Continuous Integration (code)
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- 'bin/**'
|
|
- 'docs/**'
|
|
pull_request:
|
|
paths-ignore:
|
|
- 'bin/**'
|
|
- 'docs/**'
|
|
|
|
jobs:
|
|
tests:
|
|
name: Tests
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
php-version:
|
|
- "8.5"
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: ${{ matrix.php-version }}
|
|
coverage: none
|
|
|
|
- name: Install Dependencies
|
|
run: composer install --prefer-dist ${{ matrix.composer-extra-arguments }}
|
|
|
|
- name: Run Unit Tests
|
|
run: ./vendor/bin/phpunit --testsuite=unit
|
|
|
|
- name: Run Integration Tests
|
|
run: ./vendor/bin/pest --testsuite=feature --compact
|
|
|
|
code-coverage:
|
|
name: Code coverage
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 8.5
|
|
coverage: pcov
|
|
|
|
- name: Install Dependencies
|
|
run: composer install --prefer-dist ${{ matrix.composer-extra-arguments }}
|
|
|
|
- name: Generating Code Coverage Report
|
|
run: ./vendor/bin/pest --compact --coverage-clover=coverage.xml
|
|
|
|
- name: Send Code Coverage Report to Codecov.io
|
|
uses: codecov/codecov-action@v5
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
|
|
static-analysis:
|
|
name: Static Analysis
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install PHP
|
|
uses: shivammathur/setup-php@v2
|
|
with:
|
|
php-version: 8.5
|
|
coverage: none
|
|
|
|
- name: Install dependencies
|
|
run: composer install --prefer-dist
|
|
|
|
- name: Run PHP_CodeSniffer
|
|
run: vendor/bin/phpcs
|
|
|
|
- name: Run PHPStan
|
|
run: vendor/bin/phpstan analyze
|
|
|
|
- name: Run Validator's mixin linter
|
|
run: bin/console lint:mixin
|