Skip to content

Refactor and clean up CI config #178

Refactor and clean up CI config

Refactor and clean up CI config #178

Workflow file for this run

# 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
tools: psalm
- name: Run static analysis
run: >-
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/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"