Refactor and clean up CI config #185
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
# https://docs.github.com/en/actions | |
name: CI | |
on: | |
pull_request: ~ | |
push: | |
branches: | |
- master | |
env: | |
COMPOSER_ROOT_VERSION: 1.99 | |
jobs: | |
coding-standards: | |
name: Coding Standards | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@2.9.0 | |
with: | |
php-version: '8.3' | |
coverage: none | |
extensions: mbstring | |
tools: composer-normalize, php-cs-fixer | |
- name: Validate composer.json | |
run: >- | |
composer validate --strict | |
- name: Normalize composer.json | |
run: >- | |
composer-normalize --dry-run | |
- name: Check code style | |
run: >- | |
php-cs-fixer check | |
static-code-analysis: | |
name: Static Code Analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@2.9.0 | |
with: | |
php-version: '8.3' | |
coverage: none | |
extensions: mbstring | |
- name: Install psalm | |
run: >- | |
composer install --working-dir=tools/psalm | |
- name: Run static analysis | |
run: >- | |
composer run static-analysis | |
roave-bc-check: | |
name: Roave BC Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@2.9.0 | |
- name: Install Roave BC check | |
run: "composer require --dev roave/backward-compatibility-check" | |
- name: Run Roave BC check | |
run: "vendor/bin/roave-backward-compatibility-check" | |
tests: | |
name: Tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
php-version: | |
- "7.2" | |
- "7.3" | |
- "7.4" | |
- "8.0" | |
- "8.1" | |
- "8.2" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@2.9.0 | |
with: | |
coverage: none | |
extensions: mbstring | |
php-version: "${{ matrix.php-version }}" | |
- name: Install dependencies with composer | |
run: "composer update --no-interaction --no-progress" | |
- name: Run unit tests | |
run: "vendor/bin/phpunit" | |
windows-tests: | |
name: Windows tests | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
php-version: | |
- "7.4" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/setup-php@2.9.0 | |
with: | |
coverage: none | |
extensions: mbstring | |
php-version: "${{ matrix.php-version }}" | |
- name: Install dependencies with composer | |
run: "composer update --no-interaction --no-progress" | |
- name: Run unit tests | |
run: "vendor/bin/phpunit tests/AssertTest.php" |