Skip to content

Kint: Pslam type hint for plugin_pool #165

Kint: Pslam type hint for plugin_pool

Kint: Pslam type hint for plugin_pool #165

Workflow file for this run

name: Tests
on: [push, pull_request]
jobs:
test-format:
name: 'Code format check'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- uses: shivammathur/setup-php@v2
with:
php-version: 8.4
- uses: actions/cache@v4
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer format
env:
PHP_CS_FIXER_IGNORE_ENV: 1
- run: git status
- run: git diff-files --quiet --exit-code
test-build:
name: 'Build check'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- uses: shivammathur/setup-php@v2
with:
php-version: 8.4
ini-values: 'phar.readonly=Off'
- uses: actions/cache@v4
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer clean
- run: composer build
- run: git status
- run: git diff-files --quiet --exit-code
test-static:
name: 'Static analysis check'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- uses: shivammathur/setup-php@v2
with:
php-version: 8.4
- uses: actions/cache@v4
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: composer analyze
test-basic:
name: 'Basic test ${{ matrix.php-coverage }}'
runs-on: ubuntu-latest
services:
mysql:
image: mysql:latest
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306
# Should increase test consistency by ensuring mysql actually starts up properly
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
strategy:
matrix:
php-coverage:
- none
- xdebug
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- uses: shivammathur/setup-php@v2
with:
php-version: 8.4
coverage: ${{ matrix.php-coverage }}
- uses: actions/cache@v4
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: php ./vendor/bin/phpunit tests
env:
MYSQLI_HOST: localhost:${{ job.services.mysql.ports['3306'] }}
tests:
name: 'PHP ${{ matrix.php-versions }} ${{ matrix.phar }}tests'
needs:
- test-format
- test-build
- test-static
- test-basic
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-versions:
- 7.4
- 8.0
- 8.1
- 8.2
- 8.3
- 8.4
phar:
- "phar "
- ""
services:
mysql:
image: mysql:latest
env:
MYSQL_ALLOW_EMPTY_PASSWORD: yes
ports:
- 3306
# Should increase test consistency by ensuring mysql actually starts up properly
options: --health-cmd="mysqladmin ping" --health-interval=5s --health-timeout=2s --health-retries=3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: latest
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
- uses: actions/cache@v4
id: vendor-caches
with:
path: |
./vendor
./node_modules
key: ${{ hashFiles('./composer.lock', './package-lock.json') }}
- run: composer install
if: steps.vendor-caches.outputs.cache-hit != 'true'
- run: sudo systemctl start mysql # Only needed for 8.1
- run: php ./vendor/bin/phpunit --no-coverage tests
if: '!matrix.phar'
env:
MYSQLI_HOST: localhost:${{ job.services.mysql.ports['3306'] }}
- run: php ./vendor/bin/phpunit --no-coverage --prepend ./build/kint.phar tests
if: matrix.phar
env:
KINT_PHAR_TEST: 1
MYSQLI_HOST: localhost:${{ job.services.mysql.ports['3306'] }}