Merge-ci-phpstan-1.12 #148
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
# Run on all pushes and on all pull requests. | |
push: | |
pull_request: | |
# Allow manually triggering the workflow. | |
workflow_dispatch: | |
jobs: | |
check-code-style: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: ['8.2'] | |
name: "Check code style | PHP ${{ matrix.php }}" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install PHP with latest composer | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
ini-values: error_reporting=-1, display_errors=On, log_errors_max_len=0 | |
coverage: none | |
tools: none | |
# Install dependencies and handle caching in one go. | |
# @link https://github.com/marketplace/actions/install-composer-dependencies | |
- name: "Install Composer dependencies" | |
uses: "ramsey/composer-install@v2" | |
# - name: "Check coding style" | |
# run: composer cs | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] | |
name: "PHP: ${{ matrix.php }}" | |
continue-on-error: ${{ matrix.php == '8.3' }} | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install PHP with latest composer | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
ini-values: error_reporting=-1, display_errors=On, log_errors_max_len=0 | |
coverage: none | |
tools: none | |
# Install dependencies and handle caching in one go. | |
# @link https://github.com/marketplace/actions/install-composer-dependencies | |
- name: "Install Composer dependencies (PHP < 8.3)" | |
if: ${{ matrix.php < '8.3' }} | |
uses: "ramsey/composer-install@v2" | |
- name: "Install Composer dependencies (PHP 8.3)" | |
if: ${{ matrix.php >= '8.3' }} | |
uses: "ramsey/composer-install@v2" | |
with: | |
composer-options: --ignore-platform-reqs | |
- name: Run unit tests | |
run: composer test | |
- name: Run static analysis | |
run: composer phpstan -- --error-format=github | |
test-compiled: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: ['8.2'] | |
name: "Test single-file build | PHP ${{ matrix.php }}" | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
ini-values: error_reporting=-1, display_errors=On, log_errors_max_len=0 | |
coverage: none | |
tools: none | |
# Install dependencies and handle caching in one go. | |
# @link https://github.com/marketplace/actions/install-composer-dependencies | |
- name: "Install Composer dependencies" | |
uses: "ramsey/composer-install@v2" | |
with: | |
composer-options: --ignore-platform-reqs | |
- name: Run build script | |
run: php build/compile.php | |
- name: Rename src and library folders | |
run: mv src src.bak && mv library library.bak | |
- name: Run unit tests using compiled file | |
run: bin/phpunit --bootstrap=build/bootstrap.php |