Skip to content

Fix - CI

Fix - CI #45

Workflow file for this run

name: Tests
on: [pull_request]
env:
# see: https://github.com/shivammathur/setup-php
PHP_EXTENSIONS: mbstring, intl, json
jobs:
unit-tests:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
php-version: ['7.4', '8.0']
env:
EXECUTE_COVERAGE: ${{ matrix.php-version == '7.4' }}
CLOVER_PATH: "clover.xml"
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: ${{ env.PHP_EXTENSIONS }}
tools: composer:v1
ini-values: zend.assertions=1
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Login composer
run: composer config -g github-oauth.github.com ${{ secrets.MACHINE_USER_PAT }}
- name: Install dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --no-suggest
- name: Run PhpUnit with coverage
if: env.EXECUTE_COVERAGE == 'true'
run: composer run test-unit -- --coverage-clover ${{ env.CLOVER_PATH }}
- name: Run PhpUnit
if: env.EXECUTE_COVERAGE != 'true'
run: composer run test-unit
- name: Coverage monitor
if: env.EXECUTE_COVERAGE == 'true'
uses: slavcodev/coverage-monitor-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
clover_file: ${{ env.CLOVER_PATH }}
comment: false
threshold_alert: 80
threshold_warning: 90
lint:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['7.4']
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: ${{ env.PHP_EXTENSIONS }}
tools: composer:v1
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Login composer
run: composer config -g github-oauth.github.com ${{ secrets.MACHINE_USER_PAT }}
- name: Install dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --no-suggest
- name: Lint code
run: composer run test-cs
static-analysis:
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['7.4']
steps:
- uses: actions/checkout@v2
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
extensions: ${{ env.PHP_EXTENSIONS }}
tools: composer:v1
- name: Get Composer Cache Directory
id: composer-cache
run: |
echo "::set-output name=dir::$(composer config cache-files-dir)"
- uses: actions/cache@v1
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
- name: Login composer
run: composer config -g github-oauth.github.com ${{ secrets.MACHINE_USER_PAT }}
- name: Install dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-progress --no-suggest
- name: Run psalm
run: composer run test-code