Skip to content

Internal Improvements and new features for upcoming minor release #258

Internal Improvements and new features for upcoming minor release

Internal Improvements and new features for upcoming minor release #258

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 All 3 Previously Failing Files (Pest)
run: ./vendor/bin/pest tests/TypeChecking/ArraysAndShapes/NestedTypeAliasesTest.php tests/TypeChecking/Generics/GenericsAndInheritanceTest.php tests/TypeChecking/Stubs/StubSystemTest.php
# - 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