123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- # 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@v2.3.4"
- - name: "Install PHP"
- uses: "shivammathur/setup-php@2.9.0"
- with:
- coverage: "none"
- extensions: "mbstring"
- php-version: "7.4"
- tools: "composer-normalize"
- - name: "Validate composer.json"
- run: "composer validate --strict"
- - name: "Normalize composer.json"
- run: "composer-normalize --dry-run"
- - name: "PHP-CS-Fixer"
- uses: "docker://oskarstark/php-cs-fixer-ga:2.18.0"
- with:
- args: "--dry-run --diff-format udiff"
- static-code-analysis:
- name: "Static Code Analysis"
- runs-on: "ubuntu-latest"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2.3.4"
- - name: "Install PHP"
- uses: "shivammathur/setup-php@2.9.0"
- 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"
- tests:
- name: "Tests"
- runs-on: "ubuntu-latest"
- strategy:
- matrix:
- php-version:
- - "7.2"
- - "7.3"
- - "7.4"
- - "8.0"
- steps:
- - name: "Checkout"
- uses: "actions/checkout@v2.3.4"
- - 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@v2.3.4"
- - 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"
|