respect-validation/.github/workflows/continuous-integration.yml
Henrique Moody acf791cc9e
Remove "uopz" as a dependency to run tests
I'm creating a workaround here, which is not exactly happy with, but
adding "uopz" as a dependency to run the tests make it harder for
developers, including myself.
2025-12-18 14:13:09 +01:00

109 lines
2.5 KiB
YAML

name: Continuous Integration
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.1"
- "8.2"
- "8.3"
- "8.4"
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- name: Install Localisation Files
run: |
sudo locale-gen --no-purge --lang nl_NL.UTF-8
sudo locale-gen --no-purge --lang pt_BR.UTF-8
sudo locale-gen --no-purge --lang ru_RU.UTF-8
- 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@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
coverage: pcov
- name: Install Localisation Files
run: |
sudo locale-gen --no-purge --lang nl_NL.UTF-8
sudo locale-gen --no-purge --lang pt_BR.UTF-8
sudo locale-gen --no-purge --lang ru_RU.UTF-8
- 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@v4
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.4
coverage: none
- name: Install dependencies
run: composer install --prefer-dist
- name: Run DocHeader
run: vendor/bin/docheader check library/ tests/
- name: Run PHP_CodeSniffer
run: vendor/bin/phpcs
- name: Run PHPStan
run: vendor/bin/phpstan analyze