Refactor and clean up CI config #174
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/[email protected] | |
with: | |
php-version: '8.3' | |
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: PHP code style check | |
run: >- | |
php-cs-fixer --dry-run --diff-format udiff | |
static-code-analysis: | |
name: Static Code Analysis | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/[email protected] | |
with: | |
coverage: none | |
extensions: mbstring | |
php-version: "7.4" | |
- name: Install dependencies with composer | |
run: "composer update --no-interaction --no-progress && composer i --working-dir=ci" | |
- name: Run vimeo/psalm | |
run: "ci/vendor/bin/psalm --threads=4" | |
roave-bc-check: | |
name: Roave BC Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Install PHP | |
uses: shivammathur/[email protected] | |
- 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/[email protected] | |
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/[email protected] | |
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" |