respect-validation/.github/workflows/continuous-integration.yml
Henrique Moody 24edfda1aa
Drop support for PHP 8.0 and below
PHP 8.0 is no longer supported. Some of our dependencies now do not work
on PHP 8.0 anymore.

This commit will also run tests on PHP 8.3.

Signed-off-by: Henrique Moody <henriquemoody@gmail.com>
2024-01-27 20:04:17 +01:00

113 lines
2.6 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"
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
extensions: uopz
tools: pecl
- 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/phpunit/phpunit/phpunit --testsuite=unit
- name: Run Integration Tests
run: ./vendor/phpunit/phpunit/phpunit --testsuite=integration
code-coverage:
name: Code coverage
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.1
coverage: pcov
extensions: uopz
tools: pecl
- 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/phpunit/phpunit/phpunit --coverage-clover=coverage.xml
- name: Send Code Coverage Report to Codecov.io
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
static-analysis:
name: Static Analysis
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
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