Skip to content

Fix bug on eager class constructor validation for generic checking ignoring inline var annotation and fix missing support for default property intialiazation, and quality of life improvements #287

Fix bug on eager class constructor validation for generic checking ignoring inline var annotation and fix missing support for default property intialiazation, and quality of life improvements

Fix bug on eager class constructor validation for generic checking ignoring inline var annotation and fix missing support for default property intialiazation, and quality of life improvements #287

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: read
jobs:
test:
name: PHP ${{ matrix.php }} (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
php: ['8.2', '8.3', '8.4', '8.5']
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: dom, mbstring, zip, libxml, json, tokenizer, fileinfo
coverage: ${{ matrix.os == 'ubuntu-latest' && matrix.php == '8.4' && 'pcov' || 'none' }}
- name: Install Dependencies
uses: ramsey/composer-install@v3
with:
dependency-versions: ${{ matrix.php == '8.2' && 'lowest' || 'highest' }}
- name: Run Static Analysis (PHPStan)
run: ./vendor/bin/phpstan analyse --no-progress
if: matrix.os == 'ubuntu-latest' && matrix.php == '8.3'
- name: Warm Up TypePHP Cache
run: php bin/typephp cache:warm
- name: Run Runtime Type Checking Engine Suite (Pest)
run: ./vendor/bin/pest tests/TypeChecking/Configuration/DocblockIgnoreTagsTest.php -v
# - name: Run Runtime Type Checking Engine Suite (Pest)
# run: ./vendor/bin/pest tests/TypeChecking --compact
# - name: Run Full Test Suite with Coverage (Pest)
# run: ./vendor/bin/pest --coverage-clover=clover.xml --compact
# if: matrix.os == 'ubuntu-latest' && matrix.php == '8.4'
# - name: Run Full Test Suite (Pest)
# run: ./vendor/bin/pest --compact
# if: "! (matrix.os == 'ubuntu-latest' && matrix.php == '8.4')"
# - name: Upload Coverage to Codecov
# uses: codecov/codecov-action@v5
# if: matrix.os == 'ubuntu-latest' && matrix.php == '8.4'
# with:
# token: ${{ secrets.CODECOV_TOKEN }}
# files: clover.xml
# fail_ci_if_error: false