Skip to content

Optimize stream wrapper performance #123

Optimize stream wrapper performance

Optimize stream wrapper performance #123

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 Targeted Failing Test Suites (Pest)
run: |
./vendor/bin/pest \
tests/TypeChecking/ArraysAndShapes/ArrayAndListTypesTest.php \
tests/TypeChecking/ArraysAndShapes/ClassConstKeyShapeTest.php \
tests/TypeChecking/ArraysAndShapes/OffsetAccessTest.php \
tests/TypeChecking/ArraysAndShapes/UnionAndIntersectionTypesTest.php \
tests/TypeChecking/Boundaries/InlineVariableValidationTest.php \
tests/TypeChecking/Boundaries/LateStaticBindingReturnTest.php \
tests/TypeChecking/Boundaries/MagicMethodsTest.php \
tests/TypeChecking/Boundaries/MagicPropertiesTest.php \
tests/TypeChecking/Boundaries/PropertyValidationTest.php \
tests/TypeChecking/Boundaries/VarAnnotationPrebindingTest.php \
tests/TypeChecking/CallablesAndIterators/CallableAndClosureContractsTest.php \
tests/TypeChecking/Generics/GenericTraitsUseAnnotationTest.php \
tests/TypeChecking/Generics/GenericsAndInheritanceTest.php